学习逆向分析和外挂编程也有一段时间了,我总结了外挂开发的基本思路和一些初级的方法和技巧。首先说说基本思路吧。我觉得外挂开发主要分为两部分:
一是对游戏的分析调试,主要是找基址和call地址等游戏信息。
二是使用编程工具进行外挂功能开发,比如用delphi或者VB、VC等自己熟悉的一种开发工具进行开发。
开发中使用的技巧一般包括:
窗口查找
获得窗口句柄
获得进程句柄
读取游戏进程内存
修改游戏进程内存
远程call调用等
通过学习和交流我发现用简单的小游戏入门还是很容易的,下面我就以QQ挖金子游戏为例与大家分享我的入门经历吧。第一部分:游戏调试篇
在开始编程之前,首先是对游戏进行分析,获得游戏窗口基本信息和数据内存基址,这一步需要有一定的逆向工程能力和耐心。
第一步:游戏窗口信息的获取
首先是获得窗口标题信息,我们可以用SPY++这类工具进行分析,不过在分析的过程中发现SPY++是无法查到挖金子游戏窗口标题的(看来腾讯是把微软的这个窗口分析工具给屏蔽了),因此我们使用delphi7绿色版自带的工具Spy4Win来进行查找,方法比较简单:
在delphi7的“Tools”菜单下找到工具“Spy4Win”,如图一所示
然后拖动Spy4Win界面上的小狗图标到QQ挖金子游戏窗口,就可以查看窗口信息了。查找到的信息如图2所示:
在工具的“代码”页可以看到关于窗口句柄查找的api函数,而且还有vc、vb、delphi三个版本的说明,这对编程是有一定帮助的。如图3所示:
记录这些信息,我们继续下一步的分析。其实只要记住图3中的代码即可。
转载于:https://blog.51cto.com/14216992/2357388