首页
社区
课程
招聘
问一个关于ImportREC修复输入表的问题,懂的请进!!!
发表于: 2007-2-4 00:14 6695

问一个关于ImportREC修复输入表的问题,懂的请进!!!

2007-2-4 00:14
6695
以前手动修复输入表(IT)时,IID的FirstThunk一般不敢改,一敢工作量就非常大,需要大量修改软件中调用处的代码!!!但是发现ImportREC居然连这个都改掉了,反汇编进去后,程序中调用API处的代码也被改为新的IAT地址处了,请问这是如何实现的!!!

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
2
可能是搜索所有的call [Iat]
2007-2-4 00:24
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
3
最初由 Isaiah 发布
可能是搜索所有的call [Iat]

但是我自己在代码处添加了这样的call [xxx]也欺骗不了ImportREC,在还没修复IAT前程序中调用API的代码都是call [xxx],但是自己伪装个call [xxx]结果ImportREC确没给修改!!!
2007-2-4 00:32
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
要什么时候偶才能学来像你们呢?
2007-2-4 01:32
0
雪    币: 44229
活跃值: (19955)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
5
OriginalFirstThunk和FirstThunk只要一个有效就行,ImportREC修复FirstThunk,并不需要改程序本身的调用代码

2007-2-4 10:06
0
雪    币: 214
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
楼主去看PE结构
2007-2-4 10:12
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
7
最初由 kanxue 发布
OriginalFirstThunk和FirstThunk只要一个有效就行,ImportREC修复FirstThunk,并不需要改程序本身的调用代码


ImportREC确实是修复FirstThunk(指向IAT)但是原始程序中的IAT被ImportREC改掉了,IAT地址一改,程序中调用的代码都必需改。
2007-2-4 12:50
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
8
ImportREC可以Create New IAT
你去掉这个选项就不改了
2007-2-4 13:18
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
9
最初由 fly 发布
ImportREC可以Create New IAT
你去掉这个选项就不改了

谢谢fly的指点,但是我想了解的是ImportREC创建新的IAT后,如何搜索程序代码空间中的API调用,并将其指向新的IAT地址,其如二楼所说搜索所有call [xxx],但是自己构建了这样的call [xxx],却没有达到欺骗ImportREC的目的
2007-2-4 13:40
0
雪    币: 44229
活跃值: (19955)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
10
最初由 kangaroo 发布
ImportREC确实是修复FirstThunk(指向IAT)但是原始程序中的IAT被ImportREC改掉了,IAT地址一改,程序中调用的代码都必需改。


开始理解错了,你是对的。
ImportREC 的实现方法,看看其早期版本的源码有没有:
http://www.pediy.com/tools/PE_tools/Rebuilder/Import%20REC/ImpREC_lite_v11.zip
2007-2-4 13:49
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
11
最初由 kanxue 发布
开始理解错了,你是对的。
ImportREC 的实现方法,看看其早期版本的源码有没有:
http://www.pediy.com/tools/PE_tools/Rebuilder/Import%20REC/ImpREC_lite_v11.zip

嘿嘿,谢谢老大提供源码!!!
2007-2-4 13:59
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
12
郁闷的要死,vb编译的程序被bound Import总觉的我按照ImportREC方法修复输入表,一直不行(即OriginalFirstThunk清零)让FirstThunk指向IAT,汗!!!花了我一个中午时间!!!郁闷ing....
2007-2-4 21:20
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
13
最初由 kanxue 发布
OriginalFirstThunk和FirstThunk只要一个有效就行,ImportREC修复FirstThunk,并不需要改程序本身的调用代码


一定不要被Bound Import不然的话系统动态库版本号和编译时一样,程序就不重新加载IAT了。IAT中的数据即为指向的函数名RVA偏移!!!
我说的是手动修复,嘿嘿,当然ImportREC会自动将数据目录的Bound Import清零,就不必当心了!!!
2007-2-4 21:23
0
游客
登录 | 注册 方可回帖
返回
//