看流星社区

 找回密码
 注册账号
查看: 2477|回复: 5

求CALL的写法

[复制链接]

该用户从未签到

发表于 2012-6-14 22:41:18 | 显示全部楼层 |阅读模式
10流星币
00577EAA    8B15 6C30AA00   mov     edx, dword ptr [AA306C]
00577EB0    BF 001D9100     mov     edi, 00911D00
00577EB5    57              push    edi
00577EB6    8BE8            mov     ebp, eax                                         eax是NPC是ID
00577EB8    68 6CAB9100     push    0091AB6C                        
00577EBD    8D4C24 24       lea     ecx, dword ptr [esp+24]             [esp+24]堆栈的地址是0012F720(重启游戏这个地址不会变)   里面的数据是00947D40    这句不知道怎么写
00577EC1    89AA F4040000   mov     dword ptr [edx+4F4], ebp
00577EC7    E8 641E0B00     call    00629D30

lea     ecx, dword ptr [esp+24] 我把00947D40放在一个内存地址如AABBCC  把AABBCC存入ecx    会出错
                                 把0012F720存入ecx 也出错
_asm
{
    mov edx,[0xAA306C]
    mov edx,[edx]
    mov edi,0x911D00
    push edi
    mov ebp,0x43ED            //NPC的ID
    push 0x91AB6C
    这句不知道怎么写         //lea     ecx, dword ptr [esp+24]
    mov [edx+0x4F4],ebp
    mov ebx,0x629D30
    call ebx
}

该用户从未签到

发表于 2012-6-15 09:11:54 | 显示全部楼层
lea ecx,0012F720    既然这个地址不变直接写就行。

该用户从未签到

 楼主| 发表于 2012-6-15 18:42:28 | 显示全部楼层
直接写会出错啊 游戏没调用这个call的时候里面的内容一直在变
游戏调用这个call时 里面的内容是00947D40
注:0012F720 是堆栈

该用户从未签到

发表于 2012-6-15 20:45:12 | 显示全部楼层
lea ecx,0012F720    既然这个地址不变直接写就行。
雨夜 发表于 2012-6-15 09:11



    老大,很明显的是栈地址.申请个内存地址,自己写下不就行了.

该用户从未签到

 楼主| 发表于 2012-6-16 01:03:53 | 显示全部楼层
试过申请内存地址,也会出错

该用户从未签到

发表于 2012-6-16 11:12:54 | 显示全部楼层
不就是个ECX的值嘛,你OD看下你代码中ECX的值对不,如果和以前不一样,那肯定是你弄错了,如果是对的,说明问题并不是这里.ECX你也可以直接用mov来赋值就行
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-5-4 14:40

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表