Shell_Protect
PE虚拟壳框架,项目意图给学习软件保护加壳的初学者提供一些思路和引导。
支持一键加壳/脱壳,全压缩/加密,IAT加密等。
压缩库支持lz4/quicklz,以保证x32/x64压缩稳定。
重点说一下虚拟机:虚拟壳目前仅支持x64加代码片段(需要稍作修改),这只是一个示例和思路,如何自己编写虚拟机,运行态保存上下文环境及维护堆栈。
对需要加密代码段进行Vmcode,简单点说加密代码,dll中壳代码执行vmentry进入虚拟机,默认x32直接进入壳main函数未Vm。
虚拟机读取加密的代码段进行解密,变成正常的Opcode或者直接识别Vmcode都可以,解析器负责对Vmcode进行语义分析。 如mov eax, 23h Vmcode: xx xx xx xx 进入Vmentry读取Vmcode:xx xx xx xx,Vm虚拟机转换成(分析后)知道他是mov ea
2021-11-07 14:20:38
620KB
C++
1