2009-05-07 3 views
4

Я использую .net Reactor для обфускации сборки уровня данных, содержащей классы LinqToSql. На вызове сборки, я получаю следующее сообщение об ошибке ..Можете ли вы Obfuscate LinqToSql Ассембли с реактором .net, не нарушая их?

недвижимости Bad хранения: «_ApplicationId» на члене «» RCSQLData.Application_DB.ApplicationId

Я использую режим «Библиотека» и позволил «Necrobit 'и' обфускация '.

Можно ли запутать классы LinqToSQL или это старый орех отражения снова?

Майкл

+0

Можете ли вы принять ответ, который помог вам здесь. благодаря – GONeale

ответ

1

Вы вызова защищенной сборки в коде, который хочет использовать его? (т. е. ссылаясь на защищенный .dll?)

Я также использую .NET Reactor, но в режиме «приложения» и защиты .exe с дополнительными сборками, и он работает нормально. Однако я выбираю свою основную сборку и указываю дополнительные спутниковые .dll для использования, и она объединяется и защищается одним выстрелом.

Я не верю, что вы сможете добавить ссылку на защищенный .dll, вот в чем его идея, так как это должно было бы отразиться на ней. Я прочитаю больше о режиме библиотеки и вернусь к вам.

3

Его использование LINQ-toSQL использует Reflection очень сильно. Он не может найти исходные свойства, потому что он пытается найти их по их оригинальным именам (которые теперь запутаны).

Решение состоит в том, чтобы исключить из переименования соответствующие классы/члены. Некоторые из них, такие как Crypto Obfuscator, сделают все это автоматически для вас, обнаружив использование LINQ-SQL в вашем коде.