boot 发表于 2022-3-1 14:07

变形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

hZW13 发表于 2022-3-1 14:07

每天都能学到新知识,赞!

iyjrcJOU089 发表于 2022-3-1 14:09

谢谢分享

DGY24736 发表于 2022-3-1 14:12

谢谢分享

JbV140 发表于 2022-3-1 14:13

楼主好强啊!学习了!

NHFXy56 发表于 2022-3-1 14:15

谢谢分享

LQpJlqFNXxE 发表于 2022-3-1 14:16

感谢楼主

oYmfLF8 发表于 2022-3-1 14:17

不知道说啥,给楼主顶一下吧!

pjm123456 发表于 2022-3-1 14:21

谢谢分享 !

mSYxEdBpL 发表于 2022-3-1 14:21

谢谢分享
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 变形UPX手脱、修复OEP以及区段优化