

PE-Packer是一款针对Windows PE文件的简单加壳程序,加壳后的可执行文件可以对逆向分析过程造成干扰。
对PE文件加壳时,程序会进行如下工作:
加壳后的文件启动时,解密模块会加载原始数据及代码:
PE文件加壳前,使用一些反汇编工具可以自动分析其汇编代码及数据,例如IDA Pro。
反汇编代码。

搜索常量字符串。

分析导入表。

加壳后,逆向分析过程会受到干扰。
反汇编代码。

搜索常量字符串。

分析导入表。

该项目目前仅用于初学者学习Windows PE格式和汇编语言,其仍存在兼容性问题及其他Bug,尚不能用于实际生产环境。
该项目必须编译为Windows 32位版本,目前也只支持针对32位.exe文件的加壳处理。
mkdir -p build
cd build
cmake .. -D CMAKE_C_COMPILER=gcc -G "MinGW Makefiles"
cmake --build .
或直接执行build.ps1文件:
PS> .\build.ps1
对可执行文件加壳时,需要指定其输入路径和输出路径。
PE-Packer <input-file> <output-file>
例如:
PE-Packer hello.exe hello-pack.exe
可以使用Doxygen生成项目文档。
使用MIT协议,请参考LICENSE文件。