我的代码已经用\ u082代码替换了具有Unicode符号的函数和变量名称。当从DotPeek作为项目导出时,这些不是符号,而是像“\ u082”这样的字符串,从而阻止在Visual Studio 2013中进行编译。如何解决此问题而无需手动为所有内容命名一个名称?模糊变量名称
模糊变量名称
回答
混淆的要点是原来的名字丢失了。你可以尝试编写一个程序来根据上下文编写名字,但这将是一个相当具有挑战性的尝试。另外,大多数好的混淆器都会对代码做其他事情,使其难以理解,甚至可能会引入运行时允许的构造,但是会导致崩溃较少的复杂的反编译器。不过,真的,如果您有权使用源代码,您应该有权访问未混淆的副本...
我的意思是,只是一些按钮来重命名所有这些符号(自动)为某些名称,如变量pxx,函数fxx。 – RomaValcer 2014-09-29 16:50:57
@RomaValcer,很可能有工具可以做到这一点,但我并不亲自熟悉它们。自己编写这样的工具当然是可能的,但这并不是一件容易的工作,特别是如果你想处理其他混淆技巧,故意让你的工作变得困难。也就是说,如果您有合法修改来源的权利,但没有该来源的副本,则很不寻常。如果你处于这样的位置(比如由于糟糕的代码归档实践而遗失了旧产品的来源),那么我表示哀悼。 – 2014-09-29 18:42:23
您可能正在查看故意混淆的代码,其所有者倾向于隐藏其业务逻辑/算法/安全等
我想不出一种简单的方法来给代码成员名称一些有意义的身份,而不需要手动。
这是混淆处理的目标。
这种晦涩难懂的代码是不可编译的。唯一需要的是让它可编译。 – RomaValcer 2014-09-29 16:58:21
所以要求源代码.. – 2014-09-29 16:59:17
是的...显然,它不是如何工作。 – RomaValcer 2014-09-29 17:18:35
- 1. 模糊与实例变量
- 2. 变量变量名称
- 3. 名称上的模糊匹配
- 4. 长变量名称
- 5. 变量IBOutlet名称?
- 6. SQL名称查询中的Hiberate变量模式名称
- 7. 斯卡拉模糊的变量名中的一个方法
- 8. 变量名称的PHP全局变量
- 9. 创建变量名称与变量
- 10. sqrt和floor的组合模糊变量
- 11. 变量dustjs部分名称
- 12. 动态变量名称
- 13. 字符串变量名称
- 14. Bash:遍历变量名称
- 15. VBA:变量名称阵列
- 16. SCSS变量类名称
- 17. mongo搜索变量名称
- 18. 通用变量名称
- 19. PHP动态变量名称
- 20. 动态变量名称Coldfusion
- 21. 动态变量名称EL
- 22. 关于变量名称
- 23. 动作变量名称
- 24. CString变量名称前缀
- 25. 访问变量的名称
- 26. AS2中的变量名称#
- 27. 动态变量名称
- 28. SQL Server变量列名称?
- 29. jquery赋值变量名称
- 30. UILabel的变量IBOutlet名称?
不要把它看作是一个必须解决的问题。这种不便已经被有意识地实施,以防止你正在尝试做什么。 – stakx 2014-09-29 16:35:45
问题是预防编译。如果我能够编译它,它就足够了。 – RomaValcer 2014-09-29 16:51:32
@RomaValcer也许你没反编译好。 – 2014-09-29 17:03:41