首页
社区
课程
招聘
[求助]OD修改exe文件遇到的困惑
发表于: 2008-12-28 18:48 4046

[求助]OD修改exe文件遇到的困惑

2008-12-28 18:48
4046
原文件为:
1:mov  eax, dword ptr [40B6AC] ; 这句转换成6句汇编语言
2:push esi                                   ; 这句和下一句不动
3:mov  esi, ecx
现在我想修改为:
1:push edx                    ;原来的mov  eax, dword ptr [40B6AC]
2:mov  lea edx [ebx+8] ;替换成6句汇编语言。
3:push edx                    ;   
4:call    XXXX                  ;
5:add   esp+4                ;
6:pop   edx                    ;
7:push exi                      ;从这往下开始和远程序一样
8:mov  esi,ecx

问题是修改后的6条指令的指令长度比原来的第一条指令的长度要长,而程序不再分配新地址空间区存储增长的指令,因此我不想改变的原第二三条语句也将会改变,我想问下大家我应如何才能将源文件更改为扩大了的目标文件呢?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
2
先jmp到一个空地上,写上你要写的代码,最后把被jmp指令破坏的指令补上,然后再jmp回来。

这是一个基本方法。
2008-12-28 20:55
0
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
但是我可以“随便”找个空的地址空间写代码吗?线性地址空间不分代码段和数据段,程序有没有可能在我写代码的地方又去开辟数据空间呢?那样的话肯定会出问题的啊。
2008-12-28 22:30
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
OD是什么来的?全称是什么?
2008-12-29 00:04
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
5
没记错的话应该是 OllyDbg
2008-12-29 00:18
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
6
恭喜diy兄上千了。
2008-12-29 10:32
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
7

马上就会被你超前的
2008-12-29 11:59
0
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
8
这个问题好办,你先找一个地方,记下地址,然后让程序运行,进行各种操作,观察该地址区域是否有数据写入就行了
还可以在PE头找空间(这个还是Squn MM告诉我的 )
2008-12-29 12:55
0
游客
登录 | 注册 方可回帖
返回
//