首页
社区
课程
招聘
[分享][原创]小白逆向之upx脱壳
发表于: 2018-2-1 19:20 18313

[分享][原创]小白逆向之upx脱壳

2018-2-1 19:20
18313
最近接触了几天的逆向技术,很苦逼,没有多少大块的时间来学习,只能一点一点碎片化学习了。
因为刚接触逆向,在脱壳的过程中还是状况连连,虽然找到了正确的OEP,但是却dump不下来,还是心塞塞的。下面就把脱壳的过程做一下记录,也希望感兴趣的朋友帮忙看看问题出在哪里,在此谢过。

首先用ollydbg加载起来,OEP在pushad,这个是将所有的寄存器压栈,其对应的是popad,这个是我们最终要找到的位置,因为只要找到popad,那么离真正的OEP.就不远了。
F8跑起来

遇到向上的红箭头,左击该行的下一行,即 B8 01000000这一行,按F4,后面遇到红色向上的箭头都这样操作。
后面就是F8一直向下。

此时来到此处,别再点下一行按F4了,可以看到下一行是直接退出程序,所以此时我们要F8跟上去,F8之后发现是一个循环,那么我们就要找到循环最终的走向,经过几轮循环我们发现有一个分支可以继续向下走


此时我们发现这个循环跳了出来,当然白色线是因为循环未结束,流程还不能到这里,我们在跳出的位置0x012B76F7左击,F4运行到此处,然后F8继续

一会我们来到了popad的位置,继续向下发现有一个大跳转,即0x13B7765,这个时候已经脱壳完毕,下面我们看看跳转的位置,F8单步一次。

来到此处我们看到了调用了一个函数,我们F7步入看看。

这个就是真正的OEP了,此时使用ollydbg的插件Dump出来就可以用IDA分析了。
谢谢zbzb指出的错误,已更正EIP->OEP,让大家见笑了。

问题补充:

我用插件dump的时候出了这个问题,有没有大神指教一下什么原因。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 59
活跃值: (1481)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
膜拜大神,然而是OEP不是EIP。。。
2018-2-1 22:13
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
zbzb 膜拜大神,然而是OEP不是EIP。。。
我还能说什么呢?哈哈哈,我是货真价实的小白
2018-2-2 00:50
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
zbzb 膜拜大神,然而是OEP不是EIP。。。
这个脱壳之后dump出现内存无法读取的错误,不知道啥情况,有人指教一下吗?
2018-2-2 00:55
0
雪    币: 285
活跃值: (1095)
能力值: ( LV13,RANK:405 )
在线值:
发帖
回帖
粉丝
5
地址不对,拖壳地址4000000开始,你看看你的内存段,程序加载到了哪里。。
2018-2-2 09:13
0
雪    币: 14480
活跃值: (17416)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
6
sudozhange 地址不对,拖壳地址4000000开始,你看看你的内存段,程序加载到了哪里。。
大佬,我在脱UPX的时候也是一样的问题,但是改了地址还是不行,大佬能不能就根据楼主给出的地址做个示范,让我们理解理解,谢谢
2019-4-25 09:56
0
雪    币: 21712
活跃值: (5554)
能力值: ( LV12,RANK:460 )
在线值:
发帖
回帖
粉丝
7
随机基址没去掉
2019-4-25 10:04
0
雪    币: 1317
活跃值: (4111)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
8
esp定律
2019-4-25 10:11
0
雪    币: 14480
活跃值: (17416)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
9
转储问题已解决了,但是修复输入表的时候OEP和RVA一直不对,明明算的没问题呀。。。难道是我地址就找错了??
2019-4-25 19:34
0
游客
登录 | 注册 方可回帖
返回
//