魔域私服网站发布网【Delphi】热血江湖自动打怪实现源码与教程

文章正文
发布时间:2025-11-14 00:30

本帖最后由 相识满天下 于 2018-3-17 16:36 编辑

今天更新的是核心内容,魔域私服网站发布网和破解软件一样的思路。
大家学会了这个内容,也就可以运用到自己游戏中啦!
主要讲将怎样找到游戏中的打怪Call,并用delphi编译能远程调用游戏中的CALL,实现辅助的自动打怪。
一 思路
游戏中找call和我们破解软件一样,只不过需要更多的耐心。我们不妨试比较下:
破解软件:我们从跳出的失败注册框等提示信息中入手------下断------追溯关键CALL和关键跳.
游戏辅助:我们用ce找到和这相关的地址------查找访问这个地址的代码------在这些代码中断------追溯关键CALL。
所以说学习游戏辅助制作是可以提高破解水平的!
二 ce找call
我们用ce主要是用变化---不变---变化---不变---这样的重复来缩小我们要找的地址,在不变中可以不断点下一步搜索。具体看我的实践教程。
我们先找游戏中的攻击call,因为这个相当容易,学东西得先从容易的入手。当你领会了这个过程后,你就能运用到自己喜欢的游戏中啦。
先讲讲思路,游戏中设置了快捷栏,我们可以将攻击图拖放到F1-F12中,我们也可以将血药放进去,当我们按下F1-F12的时候,就能方便地
实现相应功能啦。游戏怎么知道我们放的是什么呢?这就只重点!我们放不同的东西的时候,必定有相应的内存地址将它记录下来,所以我们
就这里入手,我们选中F2(为什么不选F1,因为我们的ce英文版按F1是帮助的快捷键),先在F2放入攻击,然后把攻击移到其他栏,或者改成放
金仓药,当放改变了的时候,我们就选change搜索,当没改变的时候我们就选unchange,直到剩下没几个!见下图:

da1.png (810.32 KB, 下载次数: 4)

下载附件

2018-3-17 13:53 上传


da2.png (416.23 KB, 下载次数: 2)

下载附件

2018-3-17 13:53 上传


da3.png (840.93 KB, 下载次数: 3)

下载附件

2018-3-17 13:53 上传


da4.png (853.34 KB, 下载次数: 1)

下载附件

2018-3-17 13:53 上传


da5.png (814.8 KB, 下载次数: 3)

下载附件

2018-3-17 13:53 上传


da6.png (906.3 KB, 下载次数: 1)

下载附件

2018-3-17 13:53 上传


这时候我们发现地址已经只有几个啦,其中有三个当我们F2里面空的时候数值为0,当我们放血药或者攻击技能的时候就会显示有
数值,所以我们把这三个地址双击,然后一个一个继续查。查什么呢?查找当我们按下F2的时候什么访问了这些地址?我们将攻击
快捷键放到F2,然后点第一个地址,右键,选“Find out what access this address”,读过高中的朋友都懂这英文意思吧!三个地址我们
都试过后会发现,有一个地址我们还没按F2就不断有访问,访问的数量很多,当我们按下F2后记录了5,6条一次访问的。另外两个
地址按下F2却没什么访问。说明这两个地址不是我们要找的。
       我们把访问了一次的5或6条地址都记录下啦,见下图。

2.png (759.97 KB, 下载次数: 2)

下载附件

2018-3-17 15:50 上传


3.png (696.15 KB, 下载次数: 1)

下载附件

2018-3-17 15:50 上传


       然后用OD来找攻击Call. 先登录游戏,然后用od附件游戏,然后我们可以一个一个试前面找到的访问地址,不过,我们
可以凭经验先试第一个或者最后一个。我们先试最后一个吧。你要试其它也是行的,只不过多走几步而已。在od中转到地址
006EF57D,然后在这里下断,回到游戏中按下F2攻击快捷键,发现马上断下!我们按F8单步跟踪,就像搞软件破解一样,一路
看看有没有可疑的Call,我们是找关键call不是找关键跳哦!一路找下来,发现到了断尾出retn啦!没发现可疑,那就继续按F8
走出这个Call啊!这不和破解一个道理吗?我们出来啦,见下图:

4.png (19.94 KB, 下载次数: 2)

下载附件

2018-3-17 15:50 上传


     停在006FC64A出,发现上面有个Call, 原来我们就是从上面的Call出来的啊!破解的时候我们走出一个Call常常往上面找看看有
没有关键跳能跳过这个Call,现在我们不是要找关键跳,我们是找关键call,说明刚在我们按下F2攻击键的时候,断在了上面这个
Call啦,万一就是上面的呢?所以我们要测试一下,如果不是,我们继续往下跟,找下一个Call.
       要测试这个Call,我们得看参数,传进去多少个参数,看代码push eax,mov ecx,esi. 我们可以直接用这代码测试,但我们要
知道eax和ecx的值啊,ecx是由esi传过来的,我们找eax和esi的值就行啦。
      这一次,我们在这个call上面下断,取消前面的断点:

5.png (19.82 KB, 下载次数: 1)

下载附件

2018-3-17 15:50 上传


      下好断后我们让它运行起来,回到游戏中,再次按下F2攻击键,发现断下了,看eax和esi的值,eax=1, esi=1efb6278.看出什么
意思了吧?eax表示我们按下的是F2,从0表示F1,F1-F12就是0到11,我们不妨换一个位置试试,发攻击快捷键放在F6中,再一次
测试,断下后会发现的确是这样,而且esi的值都是等于1efb6278。好了,这时候我们可以用代码注入器来测试这个call啦。
      经过测试,这个call就是快捷栏调用Call!现在我们就可以用delphi编写代码啦。
我们接着前面做的读取人物血量程序,在窗体上加一个按钮件,按钮上写上下面的调用代码,然后在窗体创建里写上我们刚才找到
的Call,具体见下面的图。关键代码我做了注释。

8.png (33.77 KB, 下载次数: 2)

下载附件

2018-3-17 15:51 上传


7.png (16.34 KB, 下载次数: 3)

下载附件

2018-3-17 15:51 上传


上面的代码都是测试可以用的。当我们选中怪物后,点击攻击按钮,就能自动打怪啦。

zuizhongtu.png (934.58 KB, 下载次数: 1)

下载附件

2018-3-17 15:51 上传


感兴趣的朋友可以自己找其他Call,方法都差不多,只要你有耐心是可以找到的。我们再加上时钟控制,每隔多少秒按一次或者
加上条件判断,当我们选中怪物的时候就点击攻击按钮,这样就实现自动挂机打怪功能啦。其他功能都可以做到的,例如我们低
血的时候需要补药,我们在快捷栏某一栏放上药,调用上面的CALL,把eax的值改成对应的数,就ok啦。
        教程就到这里啦!虽然没有完完全全全部写到,但是核心部分已经将得很详细啦!思路也分析的很清楚,对得起几个想学习的
朋友啦!你们可以试着做自己喜欢的游戏辅助,但是你的游戏要能用OD调试,如果od都不能调试的,做出的也会被封号的!
      祝爱学习的朋友有所进步!有什么问题可以跟贴留言,我有时间就回复!

 

 

6.png (20.7 KB, 下载次数: 6)

下载附件

2018-3-17 15:50 上传

6.png

 
 

60.png (27.74 KB, 下载次数: 7)

下载附件

2018-3-17 15:51 上传

60.png