首页
社区
课程
招聘
[求助]找到一游戏call,可在程序里运行就出错
发表于: 2008-7-26 16:25 5874

[求助]找到一游戏call,可在程序里运行就出错

2008-7-26 16:25
5874
跟进以后是这样
00455BAB    8B57 08         mov     edx, dword ptr [edi+8]           ; 物品代码
00455BAE    8B4424 38       mov     eax, dword ptr [esp+38]      ;物品位置
00455BB2    6A 01           push    1
00455BB4    52              push    edx
00455BB5    50              push    eax
00455BB6    6A 00           push    0
00455BB8    8D8B EC000000   lea     ecx, dword ptr [ebx+EC]  ;ebp为call基址
00455BBE    E8 8D241300     call    00588050  '使用物品call

偶用高手们写的的vb的asmcall类
写了一下代码,但一运行就出错,call地址绝对正确,请高手指教
With asm
.Pushad 'pushad
.Mov_EDX &H21A9   '物品代码 'mov edx  &H21A9
.Mov_EAX 0   '物品位置为0 mov eax 0
.Push 1 'push 1
.Push_EDX 'push edx
.Push_EAX 'push eda
.Push 0 'push 0
.Mov_EBX_DWORD_Ptr &H927830   'call基址 mov ebx dword ptr [927830]  
.Lea_ECX_DWORD_Ptr_EBX_Add &HEC 'lea ecx,dword ptr [ebx+&Hec]
.Mov_EAX &H588050   
.Call_EAX
.Popad
.Ret
End With

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

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
2
学习了,谢谢呀
2008-7-26 18:18
0
雪    币: 259
活跃值: (26)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
3
你可以试试用这个
http://bbs.pediy.com/showthread.php?t=67090
2008-7-27 00:37
0
雪    币: 193
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
那个不好使啊而且还要插件
2008-7-27 06:42
0
雪    币: 257
活跃值: (56)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
ebx在游戏程序中没有特定的值么?
2008-7-27 10:15
0
雪    币: 193
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
没有啊,机器换过这值就变了,但是从那个927830读出来的
2008-7-27 21:15
0
雪    币: 136
活跃值: (20)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
7
00455BBE    E8 8D241300     call    00588050  '使用物品call
下面有没有
add esp,10

???
2008-7-27 22:13
0
雪    币: 193
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
问题找到了
我找的那个类有问题
lea ecx,dword ptr (ebx+ec)应该是
8D8B ec000000
类写成了8D8B ec
所以成了lea ecx,dword ptr (ebx-14)
就不对了
2008-7-28 04:48
0
雪    币: 272
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
呵呵 很感谢  第一次发帖 汗
var
  Address: pointer;
  P1,p2: dword;
begin
Address:=Pointer($00588050);
P1:=P^.Param1;         
p2:=P^.Param2;         
asm
    pushad
    push 1
    push p1  // 系统ID
    push p2  //在包袱的位置
    push 0
    mov ebx,dword ptr [$927830]
    lea ecx,dword ptr [ebx+$EC]
    call address
    popad
  end;
end;
2008-7-29 15:32
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
9楼基本写发是正确的,你上边主要缺少EBX的值,肯定出错
2008-7-31 05:06
0
游客
登录 | 注册 方可回帖
返回
//