变形UPX手脱、修复OEP以及区段优化
运行环境:Win 2003
涉及工具:
OllyDbg、Scylla 9.8.0 、Lord PE、PEID 0.95、Die
教程类型:
演示脱壳
视频是否带有论坛水印:
文本课件带论坛水印
是否讲解思路和原理:
演示操作
是否为悬赏杀手:
否
以下为图文内容:
变形UPX手脱、修复OEP以及区段优化 boot_[www.52hb.com]
2022/03/01
〇、查壳
DIE与EXEINFO查壳并不明确,未载入OD之前,编写程序所运用的语言未知。观察附属程序是VB编写,推断主程序也是VB编写。
一、脱壳
运用单步跟踪法+ESP定律法到达OEP附近。如果遇到跑飞的CALL,直接硬件执行断点(或F2断点),重载OD并继续单步。
二、修复OEP
对于VB程序,需要补一个PUSH以及一个CALL。
第一句是PUSH地址,第二句是CALL地址。
PUSH地址可以根据观察堆栈窗口,初步推断。
CALL地址通常是PUSH句之上的地址。
三、新建EIP,并修复IAT
这里使用scylla 9.8.0修复,OEP填绝对地址(VA);如果是用IR修复,则OEP填写相对地址(RVA)。
四、区段优化
可以观察到。脱壳后的程序占 8.6 MB左右,这里展示一种快捷简便的区段优化方法。
将PE的所有区段下F2断点,逐步运行。根据观察到的未使用的断点,推断出未调用的区段。并清除它们,之后重建PE。必要时可以根据实际情况,合并区段。
LORD PE显示的区段地址是相对地址,OD显示的是绝对地址,不影响判断。
教程预览:
https://i.bmp.ovh/imgs/2022/03/b5508f0c70df2fd4.png
下载链接:
**** Hidden Message *****
补充内容 (2022-3-11 10:30):
空间目录访问密码1234 每天都能学到新知识,赞! 谢谢分享 谢谢分享 楼主好强啊!学习了! 谢谢分享 感谢楼主 不知道说啥,给楼主顶一下吧! 谢谢分享 ! 谢谢分享