重命名反混淆代码
是否有任何工具可以将反混淆代码重命名为 .NET dll 的可读代码?
OBFUSCATION = 将原始变量名、命名空间转换为不可读的变量名,同时改变控制流程,使破解者很难猜测原始代码
DE-OBFUSCATION = 混淆的逆过程。将不可读的变量名、命名空间转换为可读的变量名、命名空间,如 A1、A2(因为不可能转换回原始名称),以便于跟踪和理解原始源代码。
Is there any tools that can rename de-obfuscated code to readable code for .NET dlls ?
OBFUSCATION = convert original variable names, namespaces to non-readable variable name, also changing the control flow to make it hard for crackers to guess the original code
DE-OBFUSCATION = reverse process of obfuscation. convert non-readable variable names, namespaces to readable one like A1, A2 (cause converting back to original names is impossible) make it easy to track and understand the original source code.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以再次混淆它,但禁用重载等选项。这样,成员将被命名为 A、B、C……,而不是全部被命名为 A(使用重载)或具有不可打印的名称。
此外,IL 级优化器通常可以消除控制流混淆并删除旨在使反编译器崩溃的死代码。
一旦有了可编译的代码,就可以使用 Visual Studio 的重命名重构来引入名称。工具无法自动猜测适当的名称。
You could obfuscate it again, but disable options like overloading. That way members will be named A,B,C,... instead of all being named A (using overloading) or having non-printable names.
Also, an IL-level optimizer can often undo control flow obfuscations and remove dead code designed to crash decompilers.
Once you have compilable code, use Visual Studio's rename refactoring to introduce names. There's no way for tools to automatically guess appropriate names.
不,您认为没有其他原因为什么会存在混淆工具?您所说的可读变量名称不再存在于混淆的程序集中,因为它们已被重命名为不可读变量名称,并且没有工具可以猜测原始名称是什么。
No there isn't otherwise why would obfuscation tools exist in your opinion? What you call readable variable names no longer exist in the obfuscated assembly because they have been renamed to non-readable ones and no tool could guess what the original names were.
您的意思是查看已编译的 dll 中的代码吗?如果是这样,我使用 redgate 的 .net Reflector。
do you mean looking at code within complied dlls? if so i use redgate's .net Reflector.