Re-脱壳技术 脱壳实战(3): 脱壳及修复IAT

题目:
链接: https://pan.baidu.com/s/1wQIwaCu99mYHX8gyqMfMMQ 提取码: qwcm

脱壳最好在windows XP环境中

使用工具:

  1. OD
  2. lordPE
  3. ImportREC

第一题:IT修复

1.查壳

在这里插入图片描述
UPX的壳,无难度

2.寻找OEP

用OD载入
在这里插入图片描述
先F8单步运行一步
在这里插入图片描述
发现ESP寄存器被改变,可以使用ESP定律
在这里插入图片描述
右键数据窗口跟随,|| 或者直接点HW break[ESP],此插件会自动帮忙下好硬件断点
数据窗口设置
在这里插入图片描述
从最开始的数据开始选,(别选太少就行)然后右键→断点→硬件访问→这里的三个随便选一个都可以,我一般选word
此时菜单栏→调试→硬件断点 已经有了我们下的断点
在这里插入图片描述
然后F9运行程序,来到这里,此时可以删除硬件断点了
在这里插入图片描述
然后F8单步往下在这里插入图片描述
如果遇到向上图这样的,向上的代码,则在下一行代码(上图中的为地址0x004052E8)右键→断点→运行到选定位置(快捷键F4
在这里插入图片描述
删除图中的灰色代码(db 00)可以选择右键→分析→从模块中删除分析
在这里插入图片描述
分析完的模样
在这里插入图片描述
然后继续F8,此时出现了一个jmp大跳转(说明离OEP很近了)我们继续F8向下。
此时我们来到了OEP
在这里插入图片描述
脱壳的话,可以右键→用OllyDump脱壳调试进程,点脱壳就好
在这里插入图片描述
而此时我们练习手动修复IAT

3.使用lordPE进行dump

不要关闭OD,打开lordPE
然后将进程的浮块滑到最底部(lordPE的进程,最新的进程在最底部)
然后点击要附加的程序
右键→修正镜像大小
在这里插入图片描述
然后继续右键→完整转存

4.使用Import REC进行IAT修复

OD还是不能关
先打开ImportREC附加没有脱壳的已经到达OEP的进程(新的进程在最上面)
在这里插入图片描述
我们要记住OD脱壳插件中显示的OEP地址
在这里插入图片描述
或者记住OEP前面的地址也行
在这里插入图片描述

importREC有几个参数

  1. OEP栏:这里填写OEP的相对偏移地址就行,上面401000-400000=1000(也就是OD脱壳插件显示的那个OEP)
  2. RVA:虚拟内存地址,这里填IAT的起始位置
  3. 大小:填写导入表大小,需要用IAT的末地址减去首地址。(大小可以写大,但绝不能写小)
    相对地址则为实际地址减去基址(基址在OD中e窗口中查看)

如果自动搜索IAT的话,用如下步骤
在这里插入图片描述
获取导入表之后,点按钮【显示无效的】,如果有导入表函数,右键删除即可
无效函数删除之后,再点【修正转储】
点击后会弹出一个窗口选择一个PE文件,我们选择之前lordPEdump出来的文件
然后脱壳完成。

5.手动查找IAT并修复

  1. 在OD中 右键→查找→所有模块间的调用
    在这里插入图片描述
    在这里插入图片描述
    然后双击一个程序本身的函数不要选系统函数
    来到函数调用处
    在这里插入图片描述
    右键→跟随,进入函数(快捷键:回车)
    在这里插入图片描述
    来到这里
    在这里插入图片描述
    然后再右键→数据窗口中跟随→内存地址
    在这里插入图片描述
    为了便于查看, 可以更改一下数据窗口的显示方式
    右键→长型→地址
    在这里插入图片描述
    或者在下面的窗口里输入d xxx,其中xxx为jmp后的地址
    在这里插入图片描述
    IAT段是连续的,向上找到开头,向下找到结尾

可以知道
起始:0x00402000
结束:0x0040200C
RVA:0x00402000 - 0x00400000 = 0x00002000(相对偏移地址)
大小:0x0040200C - 0x00402000 = 0xC

填入
在这里插入图片描述
然后获取导入表,删除无效函数(此程序没有无效函数),【修正转储】,选择之前用lordPE软件dump出的文件,确定。

可以正常打开,成功。
在这里插入图片描述

另一种寻找函数的方法:

用ImportREC进行IAT自动搜索,获取导入表,在导入表中找到一个函数,记录此函数的相对偏移在这里插入图片描述
然后0x00002004 + 0x0040000 = 0x00402004得到此函数的地址,然后在od底部的命令框中输入d xxx,其中xxx为jmp后的地址,来达到找到IAT段的目的
在这里插入图片描述

第二题:脱壳练习2

步骤同第一题

posted @ 2019-12-27 14:38  Palmer0801  阅读(921)  评论(0编辑  收藏  举报