|
|
| | 网站首页 | 初级教材 | 中级教程 | 高级教程 | 模块文档1.8 | 资源下载 | 外挂海论坛 | 加入外挂作坊 | | ||
|
||
|
|||||
|
|
|||||
| 06-调用入口 | |||||
|
前节我们介绍了如何修改一段反汇编子程序里的汇编指令与操作数。本节再讲讲如何调用一个目标程序中现成的汇编子程序来帮我们完成一些自动化工作。 这节所用的演示程序还是上节的那个 a.exe 在按钮上按下一上会弹出那个信息框的。
上节分析出来的这个a.exe按钮按下后会执行的这段汇编子程序段。根据第四节所学的内容,看后面的返回指令有没有跟着数值可以判断这个汇编子程序有没有参数及有几个参数。 上面这段汇编子程序是没有参数的,也就是说我们要调用他很简单,不需要再做什么堆栈平衡,参数传递及返回值取回这些事情了。 另外需要注意的是虽然他没有利用堆栈来传递参数,但也得瞅一下有没有利用寄存器进行传递参数的。当然上面这段并没有利用寄存器进行传递参数。 因为这个汇编子程序本身就比较简单,所以想要调用它也是一样的简单,可以使用模块编写一个插入EXE与钩子DLL。把钩子DLL插入后,使用模块里的 调用入口 (4207346) 即可弹出这个信息框了。汇编子程序的入口地址 004032F2 十六进制转换为十进制正是 4207346
最终效果如上图,把钩子DLL插入a.exe后,按#HOME键呼出窗口,然后点击呼出窗口上的调用入口()这个按钮,将会弹出这个 你好,易语言 的信息框来。 这个信息框是从何而来的呢?就是原演示程序a.exe里的。我们的DLL并不需要编写弹出信息框的代码,我们只需要调用他里面的反汇编程序代入口a.exe会帮我们实现想要的结果的。 提示:对于无参数无返回值的调用可以使用模块里的 调用入口() 若是有参数或有返回值的需要使用模块里的 调用函数() 功能进行调用,更多调用方法见后面的教材或参照模块里的公开功能。
现在的很多游戏,特别是3D游戏等都会有辅助的功能,如按某个键会自动捡取地上物品等,其它只要我们找到了这个汇编入口调用之即可。更有自动寻怪,打怪等等。 |
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
|
|||||||||||
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|