PC端恶意代码的混淆与加壳对抗( 六 )


文章插图
 
这里看一下交叉引用

PC端恶意代码的混淆与加壳对抗

文章插图
 
这里可以用Olldydbg将test该为xor
PC端恶意代码的混淆与加壳对抗

文章插图
 
PC端恶意代码的混淆与加壳对抗

文章插图
 
PC端恶意代码的混淆与加壳对抗

文章插图
 
PC端恶意代码的混淆与加壳对抗

文章插图
 
这里查看strings
PC端恶意代码的混淆与加壳对抗

文章插图
 
查看交叉引用
PC端恶意代码的混淆与加壳对抗

文章插图
 
然后到这里
PC端恶意代码的混淆与加壳对抗

文章插图
 
再查看交叉引用 , 
看到是SYSTEMCurrentControlSetControlDevicesClasses传入 。
PC端恶意代码的混淆与加壳对抗

文章插图
 
可以得知这里是查询与vmware对比 , 探测虚拟化
利用之前的test修改为xor即可
Lab18:脱壳
前面提到过几个手动脱壳的方法 , 这里再来深入一下 。
脱壳存根指向了以下三步操作
将原始程序脱壳到内存中
解析原始可执行文件的所有导入函数
将可执行程序转移到原始的程序入口点(OEP)
单步跟踪法
宗旨:向上的跳转不让实现 , 向下的跳转实现 , 当发现大跨度跳转时 , 即会到OEP
ESP定律法
遵循堆栈平衡原理 , 在壳对程序进行操作加密或者压缩时 , 会把程序的OEP压入栈中 , 当壳执行完成后 , 进行解密或者解压缩 , 会把真正的OEP从栈中弹出
2次内存镜像法
在壳进行解密或解压缩时 , 最后释放的是资源区段:.rsrc , 这个区段被释放完全后 , 说明整个程序已经被全部解密
Lab18-1
放入od,直接Ollydump插件即可 , 然后修复即可
PC端恶意代码的混淆与加壳对抗

文章插图
 
Lab18-2
放入od,也是插件即可
PC端恶意代码的混淆与加壳对抗

文章插图
 
Lab18-3
放入od,设置硬件断点 , 利用ESP定律
PC端恶意代码的混淆与加壳对抗

文章插图
 
PC端恶意代码的混淆与加壳对抗

文章插图
 
PC端恶意代码的混淆与加壳对抗

文章插图
 
PC端恶意代码的混淆与加壳对抗


推荐阅读