首页
社区
课程
招聘
关于exe文件插入一段自己的代码!!!! [求助]
发表于: 2007-1-5 18:19 4060

关于exe文件插入一段自己的代码!!!! [求助]

2007-1-5 18:19
4060
我是这样修改的 比如说向记事本插入一段自己的代码

先找到一片空白区域 然后

跳过去
执行我的代码 ShellExecuteA(a.exe)
然后再跳回去

010073BE   jmp     01008797
之前的跳转

执行代码
01008797   > \03C8          add     ecx, eax
01008799   .  8139 50450000 cmp     dword ptr [ecx], 4550
...
010087B3   .  6A 01         push    1
010087B5   .  6A 00         push    0
010087B7   .  6A 00         push    0
010087B9   .  68 E4870001   push    010087E4                         ;  ASCII "a.exe"
010087BE   .  6A 00         push    0
010087C0   .  90            nop
010087C1   .  90            nop
010087C2   .  90            nop
010087C3   .  6A 00         push    0
010087C5   .  FF15 B00E617D call    dword ptr [SHELL32.ShellExecuteA>
...
010087CC   .^ E9 F5EBFFFF   jmp     010073C6

可是问题出现了 当我把这段代码写好后在OB上一运行,提示我不知道如何继续,因为xxxxx地址不可读! 我始终不知道怎么回事

附上这个程序

下载地址:http://www.itns.cn/test.rar

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 47147
活跃值: (20410)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
010087C5   .  FF15 B00E617D call    dword ptr [SHELL32.ShellExecuteA>

这句有问题,如果你想直接调用ShellExecuteA,只需要键入
010087C5      E8 E686607C   call    SHELL32.ShellExecuteA

注意,这样不能跨平台,要想跨平台必须通过输入表的调用或用GetProcAddress
2007-1-5 19:20
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢你的回复 问题解决了
主要是那个调用的问题
不过为什么我那种调用就失败呢?
2007-1-5 19:37
0
游客
登录 | 注册 方可回帖
返回
//