首页
社区
课程
招聘
请教:关于输入表的手工修复
发表于: 2004-6-5 17:23 5742

请教:关于输入表的手工修复

2004-6-5 17:23
5742
我脱一个壳,用ImportREC发现有多个指针无效,我手动跟踪这些指针,发现其实是对相应导入函数的变形调用,我用ImportREC将这个指针修改成相应的函数,然后保存,可是在新生成的文件里却没有导入这个函数?为什么?
如程序中有个地方: JMP [00403BA0];[00403BA0] 处是一个指针 008D0368 ,而008D0368处调用了lstrcpyA这个函数,我将008D0368处的指针修正成kernerl32.lstrcpyA这个函数,为什么修复后保存的文件不管用?
我的操作有问题?还是。。。
请大家帮个忙!谢谢了!

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 5
支持
分享
最新回复 (4)
雪    币: 898
活跃值: (4054)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
2
不太明白兄弟的意思呀
你的008D0368处脱壳后能DUMP下来吗?
或者你直接修复[00403BA0]处的指针为kernerl32.lstrcpyA看看
2004-6-5 18:01
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
直接脱壳,不能DUMP这段内存,所以运行脱壳后的程序会失败!
只要把这个指针改成相应的函数的地址,程序可以运行!
现在,问题是,我用ImportREC无法用函数修复那个无效的指针!
也就是修复后的文件中没有导入这个函数,指针还是那个无效的指针!
谢谢Fly
2004-6-5 18:03
0
雪    币: 898
活跃值: (4054)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
4
应该可以用ImportREC直接把这个无效函数修改成lstrcpyA
2004-6-5 18:05
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我用importREC替换不成功!不知道是什么原因!因为这些函数是在kernel32中,所以地址不大变化,我用OD调试脱壳后的文件,只要将[00403BA0]处的内容修改成lstrcpyA函数的地址,就可以运行!可是ImportREC修复时也说成功,但调试那个修复后的程序发现[00403BA0]处的指针还是那个008D0368!!晕!
2004-6-5 18:14
0
游客
登录 | 注册 方可回帖
返回