首页
社区
课程
招聘
[原创]脱壳步骤,修复IAT的原因及修复IAT的完整步骤
发表于: 2018-5-23 16:01 25403

[原创]脱壳步骤,修复IAT的原因及修复IAT的完整步骤

2018-5-23 16:01
25403
我们已经知道如何定位到OEP了,下一步就是如何脱壳并修复啦。脱壳的步骤是简单的,固定的,而之后如何修复才是我们面临的真正挑战。本问将展示脱壳和修复的完整过程。
调试器:OllyDbg
环境:XP SP3 虚拟机

(一)如何使用LordPE脱壳

首先,修复和脱壳最好都在XP系统的虚拟机里进行。
如何使用LordPE脱壳呢?首先得找到OEP,先让EIP位于OEP。首先用ESP定律定位到OEP。

看上去一点都不像OEP是吧,但是这确实是,之所以会显示字节码,是因为OD误将真正的程序代码分析成数据了。所以显示成一个一个单独的数据
我们只要删除模块分析,就能得到正确的代码,如下图所示。

打开LordPE,打开我们选中目标进程,右键-修正镜像大小,接着右键,点击完整转存(完全脱壳),就脱壳完毕了。


(二)修复IAT的原因

但是这就结束了么?并没有。当我们再次打开它时,它弹出了错误并且退出。显然它无法直接运行。

转存后的程序是无法直接运行的,载入后,到达OEP之前的异常。如图所示。

载入dump后的程序然后F9运行,在执行到 OEP之前就产生了异常。
当异常发生后,手动定位到OEP,看看IAT是否已经填充完毕。下图中有一行
call 00401506 我们就来到401506.如图所示

看得出来,的确是能指向函数本身的。但是我们在数据窗口跟随一下函数首地址,右键,此时已经没有“ 查看可执行文件 ”这个选项了。

换言之没法查看文件偏移了。此时再用winhex定位到上次的文件偏移。很奇怪它指向的已经不是之前那个数了。
我们再看看字符串还在不在。如果手动定位到原来储存字符的地方(详情阅读上一篇文章),也不在了。因为原来的程序在获取完IAT后就把字符删掉了,文件偏移里的字符串指针没有了,就没法自动获取地址了。所以必须脱壳之后必须把IAT修复好 

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

最后于 2018-5-29 15:45 被r0Cat编辑 ,原因:
收藏
免费 2
支持
分享
最新回复 (18)
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
LL  有修复IAT这方面的教材吗?
2018-5-24 02:58
0
雪    币: 2653
活跃值: (3648)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
3
设置优秀以作鼓励
2018-5-25 11:21
0
雪    币: 6
活跃值: (5438)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
wsc
4
感谢分享
2018-5-25 14:43
0
雪    币: 8715
活跃值: (8619)
能力值: ( LV13,RANK:570 )
在线值:
发帖
回帖
粉丝
5
PushAutism LL 有修复IAT这方面的教材吗?[em_20]
我感觉还是得通过多实战积累经验呢
2018-5-25 14:49
0
雪    币: 8715
活跃值: (8619)
能力值: ( LV13,RANK:570 )
在线值:
发帖
回帖
粉丝
6
xiaohang 设置优秀以作鼓励
感谢版主
2018-5-25 14:49
0
雪    币: 8715
活跃值: (8619)
能力值: ( LV13,RANK:570 )
在线值:
发帖
回帖
粉丝
7
wsc 感谢分享
感谢感谢
2018-5-25 14:50
0
雪    币: 6818
活跃值: (153)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
2018-5-25 21:26
0
雪    币: 2694
活跃值: (80)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
9
2018-5-26 20:44
0
雪    币: 180
活跃值: (604)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
额,很基础,可以的。
遗漏的一点,楼主可以说一下修复镜像大小的意义,另外,可以脱一下dll程序的壳子,对比一下两者的区别。
2018-5-27 20:07
0
雪    币: 8715
活跃值: (8619)
能力值: ( LV13,RANK:570 )
在线值:
发帖
回帖
粉丝
11
Lthis 额,很基础,可以的。 遗漏的一点,楼主可以说一下修复镜像大小的意义,另外,可以脱一下dll程序的壳子,对比一下两者的区别。
很好的建议啊
2018-5-29 20:01
0
雪    币: 12277
活跃值: (1990)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
12
写得很好
2018-6-2 21:53
0
雪    币: 1014
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
突然想到IAT重定向。。。
2018-6-3 00:24
0
雪    币: 22
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
求能破加密狗的老师。付费      Q:646716529
2018-6-6 02:43
0
雪    币: 2694
活跃值: (80)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
15
2018-6-15 09:08
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
2018-6-18 21:09
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
感谢老师分享!
2018-8-6 18:28
0
雪    币: 2886
活跃值: (7478)
能力值: ( LV7,RANK:102 )
在线值:
发帖
回帖
粉丝
18
脱壳到底是难还是简单呢
2018-10-28 00:19
0
雪    币: 182
活跃值: (843)
能力值: ( LV10,RANK:173 )
在线值:
发帖
回帖
粉丝
19
如果换成win7及以上系统,恐怕就没这么简单了
2020-2-21 15:12
0
游客
登录 | 注册 方可回帖
返回