首页
社区
课程
招聘
[旧帖] [求助]有什么工具可以整体平移一段连续的汇编指令序列吗? 0.00雪花
发表于: 2008-12-29 19:33 4112

[旧帖] [求助]有什么工具可以整体平移一段连续的汇编指令序列吗? 0.00雪花

2008-12-29 19:33
4112
反汇编时遇到需要在一段代码中间插入几个指令的问题,可是在代码中间几乎无任何可容纳新指令的空间,而该段代码的前面有倒是一定的空间,试过jmp到前面空间再jmp回来,但执行时总是异常,需要整体平移一段连续的指令序列以腾出一定的空间,因为存在使用相对地址的指令,平移时就必须重新计算所有相对地址,手工计算很麻烦,有什么工具可以自动完成吗?不知道IDA Pro可不可以?

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

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 270
活跃值: (176)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
2
修改段属性,添加新段,扩大段空间。。。
千百种方法你偏选最难的
2008-12-29 20:02
0
雪    币: 427
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
jmp出去写完代码怎么会异常?
你找找异常的原因吧,这种方法很简单实用了。
2008-12-29 20:05
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
没办法,初学者,水平有限呀!
2008-12-29 20:49
0
雪    币: 427
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
水平有限才让你用简单的!
交流有障碍啊
2008-12-29 22:06
0
雪    币: 346
活跃值: (1953)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
前面JMP 出错你为什么不jmp到后面呢?
2008-12-29 23:30
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
其实我要添加的代码也不多,顶多十几个字节,而段的边界一般都对齐到一个整数,所以应该还有空间可填充的,可是怎么知道哪些空间是可以填充的呢?
其实我Jmp到前面的那里原本是有代码的,是把那里原代码覆盖了的,把原来跳到那里原改为跳到别处,可能这样不行吧。
2008-12-30 12:01
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
谢谢您的提示,我在代码段末尾找到了空间,JMP到了那里不会再出现异常了,已经完美解决了!
2008-12-30 14:31
0
雪    币: 590
活跃值: (177)
能力值: ( LV9,RANK:680 )
在线值:
发帖
回帖
粉丝
9
一般来说补代码要找一块比较大的空地,不要找那种只有十几个字节为00的地方,把代码补在那种地方很可能出错的
2008-12-30 14:35
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
即使要补的代码很少也要这样吗?
2008-12-30 15:29
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
一般都是补到后面的
2008-12-31 09:13
0
雪    币: 427
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
12
这个跟前后没关系吧。。。
2008-12-31 13:32
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
我想可能是一般情况下只有后面才有空间让你补充吧
2008-12-31 20:23
0
游客
登录 | 注册 方可回帖
返回
//