swtdiomk 发表于 2022-5-8 22:20:08

请教大佬们关于游戏call的汇编写法!

我用大漠的写法 如下
是某个游戏的关闭背包call,能够正确调用

另外截图里面没截取到的关闭背包_call__基址 是一个模块地址加偏移后的 一个地址
关闭背包_call__基址 = 模块句柄 + 十六到十 (“0B04D0”)



然后我想换成汇编的写法,但是不知道写的哪里错了,总是引起崩溃,代码如下




还有一种写法 就是下面这种,一样会引起崩溃,我不知道哪里写错了
置汇编代码 ({})
pushad ()
mov_ecx_常数 (0)
push_ecx ()
mov_edx_常数 (十六到十 (“004B04D0”))
call_edx ()
add_esp (0))
popad ()
ret ()
汇编代码 = 取汇编代码 (, )
调用汇编代码3 (进程ID, 汇编代码)




虚心请教大佬们,这个call 该如何去写?万分感谢

swtdiomk 发表于 2022-5-8 22:37:56

另外想补充一个问题,关于置入汇编()
我刚才用置入汇编()命令 转的汇编
然后调用的这个call 能够调用成功,但是有个问题就是,因为每台电脑不一样,或者有参数的原因,我该怎么把传递的参数 或者某个需要 每次读取模块地址加偏移后的动态地址 传递进去 变成置入汇编的 字节呢?
同样是上面的 关闭背包call我是用的DLL 注入方式,直接调用下面的 置入汇编 就能正确的关闭背包了
刚才测试的转置入汇编代码如下
mov ecx,0
push ecx
mov eax,4916432
call eax


置入代码 ({ 185, 0, 0, 0, 0, 81, 184, 208, 4, 75, 0, 255, 208 })


揰掵佲 发表于 2022-5-8 22:54:49

先读取出来call地址 再传就行了

swtdiomk 发表于 2022-5-10 18:53:44

揰掵佲 发表于 2022-5-8 22:54
先读取出来call地址 再传就行了

多谢,已经搞定了
页: [1]
查看完整版本: 请教大佬们关于游戏call的汇编写法!