首页
社区
课程
招聘
[求助]汇编里调用函数的问题
发表于: 2013-5-1 11:34 4841

[求助]汇编里调用函数的问题

2013-5-1 11:34
4841
首先我是在别人程序里面加汇编代码。
我要掉用MessageBoxA   rva:000ED44c
汇编是不是这样写?:
push 3233    参数1
push 3233    参数2
JMP far 00ED:0000044c     调用MessageBoxA

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 14
活跃值: (88)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
楼主这样写可能会崩溃,首先MessageBoxA不止两个参数,而且调用应该用Call而不是Jmp
2013-5-1 13:19
0
雪    币: 14
活跃值: (88)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
2013-5-1 13:22
0
雪    币: 57
活跃值: (386)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
push 0
- push 3232
- push 3232
push 0
- call dword ptr [004ed44c] : 00000000

add 32,esp
ret
这样呢 调用的是messageBoxA  我看原程序就push了4个参数
2013-5-1 13:37
0
雪    币: 57
活跃值: (386)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
004A6A4F      68 35D94F00   push    004FD935                                   ;  ASCII "irectSoundCreate"
004A6A54  |.  50            push    eax                                        ; |hModule
004A6A55  |.  FF15 60D14E00 call    dword ptr [<&KERNEL32.GetProcAddress>]     ; \GetProcAddress
004A6A5B  |.  8BF8          mov     edi, eax
004A6A5D  |.  3BFB          cmp     edi, ebx

像这个是源程序的  他没有 add esp,push    004FD935  这个004FD935 数字怎么才查的到呢?ASCII "irectSoundCreate"
2013-5-1 13:45
0
雪    币: 1392
活跃值: (5212)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
6
哎。。。。。

MessageBox是stdcall当然不要add esp了,
其次, CALL [XXXXX]
xxx里面的数据才是messagebox的地址。
2013-5-1 14:11
0
雪    币: 57
活跃值: (386)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
[QUOTE=IamHuskar;1172450]哎。。。。。

MessageBox是stdcall当然不要add esp了,
其次, CALL [XXXXX]
xxx里面的数据才是messagebox的地址。[/QUOTE]

不好意思我知道了GetProcAddress(“WriteProcessMemory”,hModule)
“WriteProcessMemory”那串数字就是内存地址存放了字符串
2013-5-1 14:17
0
游客
登录 | 注册 方可回帖
返回
//