混淆变量名称

时间:2014-09-29 16:29:41

标签: c# obfuscation deobfuscation

我的代码用Unicode符号替换了函数和变量名,比如\ u082。当从DotPeek导出为项目时,这些不是符号,而是字符串,如“\ u082”,从而阻止在Visual Studio 2013中进行编译。如何解决此问题而无需手动考虑某些名称?

2 个答案:

答案 0 :(得分:3)

混淆的全部意义在于原始名称丢失了。您可以尝试编写一个程序来根据上下文来组成名称,但这将是一项相当具有挑战性的工作。

此外,大多数优秀的混淆器会对代码做其他事情以使其难以理解,甚至可能引入运行时允许的构造,但会使不太复杂的反编译器崩溃。但实际上,如果您有权使用源代码,那么您应该可以访问未经模糊处理的副本......

答案 1 :(得分:0)

您可能正在查看故意混淆的代码,其所有者倾向于隐藏其业务逻辑/算法/安全性等。

我无法想出一种简单的方法来为代码成员提供一些有意义的身份,而无需手动执行。

这是混淆过程的目标。