|
5精币
用的dll 注入方式,搜索基址,读取人物信息什么都没有问题,但是调用call的 时候 就不能成功!
看过很多教程,可能是年代比较久远,他们写的时候基址是不会变动的,但是现在游戏重启后基址会变动。我不知道是什么原因,所以将特征码写进去了,每次启动重新搜索基址
下面是个lua 的call调用,执行后,游戏不出错,就是完全没有反应,od根据申请的内存下断点跟踪,发现内存是申请成功的,,且有读取。其他我跟踪不到
版本 2
字符串 = “PushDebugMessage(” + #引号 + 窗口1.编辑框2.内容 + #引号 + “);”
变量地址 = 内存_申请 (游戏ID, 取字节集长度 (到字节集 (字符串)))
数值lua基址 = 十六到十2 (lua基址)
数值lua基址2 = 十六到十2 (lua基址2)
魔鬼.置asm代码 ()
魔鬼.Pushad ()
魔鬼.Mov_ECX_DWORD_Ptr (数值lua基址)
魔鬼.Mov_EAX_DWORD_Ptr_ECX_Add (60)
魔鬼.Call_EAX ()
魔鬼.Push (变量地址)
魔鬼.Mov_EAX_DWORD_Ptr_EAX ()
魔鬼.Push_EAX ()
魔鬼.Mov_EAX (数值lua基址2)
魔鬼.Call_DWORD_Ptr_EAX ()
魔鬼.Add_ESP (8)
魔鬼.Popad ()
代码 = 魔鬼.取asm代码 ()
魔鬼.调用asm汇编 (代码, 打开进程 (游戏ID))
魔鬼.asm内存释放 (游戏ID, 变量地址)
这是某次代码转汇编指令结果
00000000 : 60 PUSHAD
00000001 : 8B D D C0 9C 0 MOV ecx,dword ptr ds:[009CC00D]
00000007 : 8B 51 3C MOV edx,dword ptr ds:[ecx+3C]
0000000A : FF D2 CALL edx
0000000C : 8B 0 MOV eax,dword ptr ds:[eax]
0000000E : 68 0 0 48 2 PUSH 02480000
00000013 : 50 PUSH eax
00000014 : FF 15 B8 C2 89 0 CALL dword ptr ds:[0089C2B8]
0000001A : 61 POPAD
0000001B : 83 C4 8 ADD esp,08
下面是OD 的lua 调用位置 特征码:33 C5 89 45 FC 56 8B 75 08 57 80 3E 00 8B F9
00F18F93 8D4F 28 lea ecx,dword ptr ds:[edi+0x28]
00F18F96 E8 8590BCFF call Game.00AE2020
00F18F9B 56 push esi
00F18F9C 68 74AE2D01 push Game.012DAE74 ; ASCII "setmetatable(_G, {__index = %s});"
00F18FA1 8D85 F8FEFFFF lea eax,dword ptr ss:[ebp-0x108]
00F18FA7 68 04010000 push 0x104
00F18FAC 50 push eax
00F18FAD FF15 28C50801 call dword ptr ds:[<&MSVCR110._snprintf>] ; msvcr110._snprintf
00F18FB3 8B07 mov eax,dword ptr ds:[edi]
00F18FB5 83C4 10 add esp,0x10
00F18FB8 8BCF mov ecx,edi
00F18FBA FF50 3C call dword ptr ds:[eax+0x3C]
00F18FBD 8D8D F8FEFFFF lea ecx,dword ptr ss:[ebp-0x108]
00F18FC3 51 push ecx
00F18FC4 FF30 push dword ptr ds:[eax]
00F18FC6 FF15 B8C20801 call dword ptr ds:[<&LuaPlus.lua_dostring>] ; LuaPlus.lua_dostring
00F18FCC 8B4D FC mov ecx,dword ptr ss:[ebp-0x4]
00F18FCF 83C4 08 add esp,0x8
00F18FD2 33CD xor ecx,ebp
00F18FD4 5F pop edi
00F18FD5 5E pop esi
00F18FD6 E8 B5D01000 call Game.01026090
00F18FDB 8BE5 mov esp,ebp
00F18FDD 5D pop ebp
00F18FDE C2 0400 retn 0x4
求各位大神 给个指导,或者,思路,或者源码例子 我学习,学习,不胜感激!真心不知道该怎么干了
|
|