您可以使用 .netreactor 混淆 LinqToSql 程序集而不破坏它们吗?
我正在使用 .net Reactor 来混淆包含 LinqToSql 类的数据层程序集。 在调用程序集时,我收到以下错误。
错误的存储属性:成员“RCSQLData.Application_DB.ApplicationId”上的“_ApplicationId”
我正在使用“库”模式并启用了“Necrobit”和“混淆”。
是否可以混淆 LinqToSQL 类,或者又是旧的反射核桃?
迈克尔
I am using .net Reactor to obfuscate a data layer assembly containing LinqToSql classes. On invoking the assembly, i am getting the following error..
Bad Storage property: '_ApplicationId' on member 'RCSQLData.Application_DB.ApplicationId'
I am using the 'Library' mode and have enabled 'Necrobit' and 'obfuscation'.
Is it possible to obfuscate LinqToSQL classes or is it the old reflection walnut again?
Michael
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是因为 LINQ-toSQL 大量使用反射。 它无法找到原始属性,因为它尝试通过原始名称(现在已被混淆)搜索它们。
解决方案是从重命名中排除适当的类/成员。 有些诸如 Crypto Obfuscator 会通过检测 LINQ- 自动为您完成所有这些工作代码中的 SQL 使用情况。
Its becuase LINQ-toSQL uses Reflection very heavily. It cannot find the original properties becuase it tries to search for them by their original names (which are now obfuscated).
The solution is to exlcude the proper classes/members from renaming. Some such as Crypto Obfuscator will do all this automatically for you by detecting LINQ-SQL usage in your code.
您是否在希望使用受保护的程序集的代码中调用它? (即引用受保护的 .dll?)
我也在使用 .NET Reactor,但处于“应用程序模式”并使用附加程序集保护 .exe,并且工作正常。 不过,我选择了主程序集并指定了要使用的其他附属 .dll,并且一次性将其合并和保护。
我不相信您能够添加对受保护的 .dll 的引用,这就是其背后的想法,因为它需要对其进行反思。 我将阅读有关图书馆模式的更多内容并回复您。
Are you invoking the protected assembly in the code that wishes to use it? (ie. referencing the protected .dll?)
I am also using .NET Reactor, but in 'application mode' and protecting an .exe with additional assemblies and it is working fine. However I select my main assembly and specify additional satellite .dll's to be used and it is merged and protected in one shot.
I don't believe you will be able to add a reference to a protected .dll, that's the idea behind it, as it would need to reflect on it. I'll read more upon library mode and get back to you.