游戏安全实验室 首页 游戏漏洞 查看内容

【游戏漏洞】asm内联调用CALL

发布于:2018-6-28 14:47   |    120469次阅读 作者: 外部投稿    |   原作者: 通化程序员

游戏外挂想要调用游戏功能的时候

往往有三种方式

 

第一种是鼠标键盘模拟,这种方式效率低

第二种通过__asm内联调功能子程序

第三种直接发包,本质也是第二种,不过是调用特点的一个子程序或则API

 

我们来看一下__asm内联

之前我们找到了取对象名称子程序

那么我们就把他编写到DLL代码中

 

 

首先我们声明一下

 

然后我们来编写这个函数

 

 

 

__asm

{

pushad

mov ecx,对象

       push ecx

mov eax,Call地址

call eax

add esp,4

mov 返回值,eax

popad

 

}

注意内联汇编的格式

然后在内联汇编的第一句加上pushad  和最后一句加上popad

保存和还原寄存器的值,防止产生错误。

 

其余部分和在OD中的代码几乎一样

值得注意的是

CALL尽量不要直接CALL地址而是用寄存器转存一下

 

 

这样就可以在我们需要用到这个函数的时候直接调用了

 

 

 

传递对象  返回我们要的对象字符串指针

读取里面的值获得名称字符串。




来源:通化程序员-公众号投稿

GSLAB网站投稿文章仅代表作者本人的观点,与本网站立场无关。

*转载请注明来自游戏安全实验室(GSLAB.QQ.COM)

分享到:
踩0 赞0

收藏

上一篇:【游戏漏洞】读内存调试输出人物信息

下一篇:【游戏漏洞】内存遍历周围对象

最新评论
B Color Image Link Quote Code Smilies

发表评论

top 问题反馈

返回顶部