参考资料
资料下载: VMP1.21
说明:
1、加壳机的壳是秒杀壳,自行百度
2、HelloASM.exe是测试demo
3、保护全关


正文:
1、读取PE基本信息

定义的结构如下:


2、获取到壳要的各种API(这里没怎么看)

3、将用户要VM的Opcode进行解析(这个后面有详细说明)

4、如何定位到加密按钮
1、使用DarkDe4.exe

2、分析的设置是保护全关,所以ProtectOptions = 8

3、分析关键函数sub_4A3414(最核心的函数)

5、sub_4A3414函数分析
1、偏移到新区段的起始地址

2、判断RVA合法性

2、1 设置起始struct_VmpAllDataPY_60结构,构造好push jmp跳转地址

OD视图:

最终效果视图:

3、内存对齐后的总大小

3、1 将内存对齐后的总大小保存到struct_VmpAllDataPY_60结构里当作壳的OEP也就是Vmp入口
根据大小将地址往后移0x40或则0xC0个字节(这个就是VMCONTEXT的大小)

OD视图:

最终结果:
我们发现它是从0x40504B开始,并非0x405040地址开始,这个后续讲解

4、根据保护等级选择使用哪个壳模板,并设置区段保护属性

5、壳模板一共有6个

6、我们使用的是474974,到这里这篇章节就完成了

解析加密壳技术:HelloASM.exe的解密与VMP1.21壳定位
1358

被折叠的 条评论
为什么被折叠?



