这里有很多关于不同类型包装工的问题,这对我来说非常有趣。我想尝试一下逆向工程。由于我对此很陌生,因此我也想要源代码。
我希望通过不断编译和重新编译源代码,我可以学习在 IDA Pro 中进行匹配,并同时更好地理解这两个主题。
我已经查看了 UPX 的源代码,但它非常复杂,因为它可以处理许多不同的平台和类型。
是否有专门处理 Windows 可执行文件且非常易于理解的开源代码打包程序?
这里有很多关于不同类型包装工的问题,这对我来说非常有趣。我想尝试一下逆向工程。由于我对此很陌生,因此我也想要源代码。
我希望通过不断编译和重新编译源代码,我可以学习在 IDA Pro 中进行匹配,并同时更好地理解这两个主题。
我已经查看了 UPX 的源代码,但它非常复杂,因为它可以处理许多不同的平台和类型。
是否有专门处理 Windows 可执行文件且非常易于理解的开源代码打包程序?
SimplePack是简单和开源(尽管在ASM,而不是在C)
SimplePack 不是微不足道的,但足够简单,所以我通常自己将它用作二进制打包程序培训的第一个“动手”。
另外,我的Python 中的极简打包程序(源代码/二进制文件)(EP 修补程序、压缩程序、加密程序、滴管程序、保护程序、虚拟程序、mutater)。没有真正的用途,但作为研究的最小可能的例子。
这看起来像你想要的:sePACK
一个简单的 windows .exe/.dll 打包程序。(压缩代码部分和编译后的二进制文件浪费更少的空间)几乎整个代码都是用纯 C 语言编写的,而且非常少也易于理解(这使得修改非常容易;例如调试器陷阱、加密等)
我建议你看看尤达的保护者。有一个带有源代码的版本。不幸的是,由于某种原因它不能在 Windows 7 上运行(但可以在 Win XP 上运行)。除此之外,我不知道任何其他开源打包程序或保护程序(UPX 除外,正如您所提到的)。
这里有 4 个用Delphi编写的开源打包程序(如果需要,您可以转换为 C++):
如果您没有 Delphi 的副本,您可以使用带有 Free Pascal (FPC) 编译器的开源 Lazarus IDE。
Lazarus + FPC 可以打开Delphi项目文件,通常无需修改即可编译Delphi项目:http : //sourceforge.net/projects/lazarus/