当我启动 .NET exe 时会发生什么?我知道 C# 被编译为 IL 代码,我认为生成的 exe 文件只是一个启动器,它启动运行时并将 IL 代码传递给它。但是怎么做?它的过程有多复杂?
IL 代码嵌入在 exe 中。我认为它可以从内存中执行而无需将其写入磁盘,而普通的 exe 则不是(好的,是的,但它非常复杂)。
我的最终目标是提取 IL 代码并编写我自己的加密启动器,以防止脚本小子在 Reflector 中打开我的代码并轻松窃取我的所有课程。好吧,我不能完全阻止逆向工程。如果他们能够检查内存并捕捉到我将纯 IL 传递给运行时的时刻,那么它是否是 .net exe 并不重要,是吗?我知道有几个混淆器工具,但我不想弄乱 IL 代码本身。
编辑:所以似乎不值得尝试我想要的东西。他们无论如何都会破解它......所以我会寻找一个混淆工具。是的,我的朋友也说过,将所有符号重命名为无意义的名称就足够了。毕竟逆向工程不会那么容易。