- 使用Detect It Easy 3.10壳侦察工具分析样本
1、查看信息显示未加壳
2、点击信息熵里面,有壳
- 使用PE-ber工具查看
- 发现导出表里面有一个可疑函数Callrun
- 在区段中查看到.data段的原始大小和虚拟大小相差特别大,疑似加壳
- 由于查看到加壳,在导入表中发现两个函数VirtualProtect、VirtualAlloc
- 使用OD去分析
- 设置好相关操作
- 按f9执行
- ctrl+9搜索要下断点的函数VirtualAlloc,由于VirtualAlloc函数的返回值是页面分配区域的基址
- 在返回值这里下好断点、返回地址保存在寄存器EAX里面
- 在第二个函数VirtualProtect下断点
- 按f9运行,然后运行中,查看到EAX寄存器里面有返回地址
- 在内存中转到内存1、发现没有数据
在按f9执行、转到内存2中观察、
一直按f9执行,转到内存3,一直执行到VirtualProtect函数修改权限
发现不是标准PE文件头“MZ”,而是M8Z、属于pblebo壳特征
然后在内存布局中转到
然后从内存转到文件
保存到桌面
到此脱壳结束
- 再次使用PE-ber查看是否是有效的PE文件
1、发现还不是有效的PE文件
2、使用XVI32十六进制编辑器进行修复(标注PE文件是 DOS,连续的,而不是图中DO~S)
- 修复PE文件,找到连续的一个DOS头,在往上一点就是MZ标准PE头,把MZ之前的数据全部删除
从这个字节往前的全部删除
然后进行保存
再次使用PE-ber工具查看、发现导出表还是个dll文件,类似加载器。
加密类: