重命名去混淆的代码

时间:2010-08-28 05:04:05

标签: c# .net obfuscation

是否有任何工具可以将去混淆的代码重命名为.NET dll的可读代码?

OBFUSCATION =将原始变量名称,名称空间转换为不可读的变量名称,也改变控制流程,使恶意破解者难以猜出原始代码

DE-OBFUSCATION =混淆的逆过程。将不可读的变量名称,名称空间转换为可读的名称,如A1,A2(导致转换回原始名称是不可能的),以便于跟踪和理解原始源代码。

3 个答案:

答案 0 :(得分:7)

您可以再次对其进行模糊处理,但禁用重载等选项。这样,成员将被命名为A,B,C,...而不是全部被命名为A(使用重载)或具有不可打印的名称。

此外,IL级优化器通常可以撤消控制流混淆,并删除旨在使反编译器崩溃的死代码。

一旦有可编译的代码,使用Visual Studio的重命名重构来引入名称。工具无法自动猜出适当的名称。

答案 1 :(得分:1)

否则您的意见中为什么会出现混淆工具?你所谓的可读变量名称在混淆程序集中不再存在,因为它们已被重命名为不可读,并且没有工具可以猜出原始名称是什么。

答案 2 :(得分:0)

你的意思是在编译的dll中查看代码吗?如果是这样我使用redgate .net Reflector。