我正在学习如何模糊我的程序集,并且正在使用 .NET Reactor 来实现此目的。 其中一个选项是“生成本机x86 EXE文件存根”,我不明白它的用途。我导入一个程序集(例如.exe文件)并输出一个混淆的.exe文件,该文件大小相同。如果我选中“生成本机x86文件存根”,软件会输出一个尺寸小得多的.exe文件(就像压缩了.exe一样。)
我不明白这意味着什么。在文档中,它指出:
.NET Reactor能够为您生成本机x86 EXE文件存根 应用。这样就无法直接打开你的 受保护的反应器应用程序。反编译器识别你的 受保护的应用程序作为本机EXE文件。
为什么我要从已经是.exe的文件生成.exe?
答案 0 :(得分:1)
虽然你的问题是前一段时间,但我想我会回答:
您是否使用过像Reflector
,ILSpy
或dotPeek
这样的工具?这些工具可用于从托管程序集生成源。如果您使用该本机x86存根,那些工具应该告诉您"无法打开非托管dll" (或类似的东西) - 根据开发人员的说法。
答案 1 :(得分:0)
所有可执行文件都有一个入口点(在C中,它是MAIN函数)。
对于Dot Net应用程序,有一个标准的代码和文件结构 - 确保相应的框架可用 - 找到不同的对象,如资源。
可以分析/取消编译这样的应用程序。
DOT NET REACTOR可以用专有代码替换通常的起始代码,以便非编译器认为它是本机可执行文件 - 不依赖于DOT NET Framework并且具有针对不同对象的专有文件结构。这样他们甚至无法开始编译任何东西。
此功能是我使用Reactor的原因。然而,早期版本(< 4.7)已经产生了被AVAST混淆为病毒或特洛伊木马的文件。