【Delphi】热血江湖自动打怪实现源码与教程
本帖最后由 wushaominkk 于 2018-5-11 11:49 编辑(朋友们好!这教程既然被置顶了,我也就更新吧,希望更着学习的朋友回复一下!让我知道每次更新后有人在看!)
我自己认为,分析游戏与破解是有密切相关的,通过学习制作游戏辅助可以帮助你提高破解水平。不知道在这里发布这样的帖子有没有违规?如果违规了请管理人员删除。另外也不知道这里看贴的人感不感兴趣?如果多人感兴趣,这个教程与源码我会不断更新。
前段时间在研究游戏辅助制作,学习了两个月后发现,制作游戏辅助并不难。只要有耐心的人都可以自己制作出合适的游戏辅助。网络上虽然有各种游戏辅助,但是弊端很多,要么是要长期收费,要么是免费的但携带病毒的,要么是不合适自己的游戏需要,因此,自己学会制作游戏辅助是最好的选择。下面我就从基础开始教新手制作一款能自动定点打怪的游戏辅助吧。目前网络上有很多教程,但是大多数教程讲解的太复杂,让新手无从下手。只能按葫芦画瓢,但是游戏是经常更新的,如果现在还按以前的教程来制作,制作出来的还是不能用的,因为游戏代码更新了,辅助也要更新才能用。因此,学习游戏辅助制作要懂得原理,灵活应用。接下来,我就开始我的教程吧。感兴趣的可以经常关注这个贴,有时间我就更新吧。
一,工具准备;
1. CE。这个工具英文名叫Cheat Engine,建议下载英文版,很多汉化中文版用起来的时候查询访问内存会出现卡的现象,而英文版就不会。我用的是吴爱破解论坛里面的CE.
2. OD。这个是破解工具,网络上很多,建议用吴爱破解论坛OD,这些改进版OD能让初学者更容易找到反汇编的关键跳转和关键CALL。
3. delphi7.这是编程工具,这个工具很容易上手,即使你没学过编程,也不会很难入门。而且游戏辅助要用的代码技术不高,会一些简单界面基本函数就能做出满意的游戏辅助。
二,游戏选择。要想学做游戏辅助,要找一款对辅助保护不严的游戏入手,建议下载热血江湖。因为热血江湖是一款经典游戏,现在里面还有大量完家,而热血江湖游戏没怎么设置游戏保护,新手可以很方便调试游戏而不被封号。想学习的朋友先做好以上准备吧。
三,调试游戏。
1. 下载好以上工具和登陆进游戏后,我们就可以调试游戏啦。要想制作自动打怪,我们就必须找到游戏里面的打怪Call.什么是Call?简单来说,就是游戏里面调用的函数,即游戏发出打怪的指令,我们的角色就会按这个指令去做。我们找到指令函数后,就自动向角色发送,角色也就能自动去打怪了。(待续)
3月12日更新 看到这么多人回复,我就有动力更新啦。有人说郁金香有全套教程,我也大概看了一些他的教程,一是教程是2015年之前出的,现在2018年游戏早更新了。二是教程里面是用VC++编程的,要有基础的人才能完全看懂,不适合新手学习。还有朋友希望用易语言,其实易语言是简单,但多数要引用别人的模块,就等于别人帮你写好程序啦,这样是学不到东西的。我是自己自学delphi 7编程的,很容易上手,而且能编出很多自己想要的功能,出这个教程是供新手学习的,这是最主要的目的,我不是专业的程序员,但对破解和编程感兴趣,所以学了些知识,自己在09年编了一些小程序卖了点小钱,我是有工作的,所以不存在竞赛什么的,再说自己学到的也只是皮毛知识,只是因为对这些感兴趣。若有像我一样感兴趣的人,可以认真看我的教程,希望能帮助到你。我想,感兴趣的朋友可以学到编程,破解知识。
下面开始试试CE的基本操作吧。用CE工具主要是要找我们需要的基址,例如我们要找制作自动打怪,可以从怪的血量入手,下面我们就试试找一个怪物血量的基址吧。我们登陆游戏后,来到有蛤蟆的地方,找一个蛤蟆为目标。CE查找要么就找知道的数据,要么就找为止数,然后通过变化或不变来搜索达到缩小范围。我们知道蛤蟆的血量是70(玩过游戏的人都知道),我们就先在CE里面Exact Value里填70,(见图),然后点First Scan,你会发现找到了很多,接着我们攻击一下蛤蟆,记下打掉的血量,我这里是打了25,我们就在Decreased value by这里填25,在点Next Scan,这时候你会发现只剩下2个地址啦,绿色的那个一般就是基址,基址就是不会改变的,我们双击这个基址,就能在CE攻击下面的记录栏里面,这时候可以修改备注,当我们再次攻击这个蛤蟆的时候,就能从这个基址里面清楚地看到蛤蟆血量的变化啦。
楼下更新打怪具体过程!这是教程核心部分,感兴趣的朋友去看吧! 你好。热血江湖挂机工具能分享下嘛 本帖最后由 相识满天下 于 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,直到剩下没几个!见下图:
这时候我们发现地址已经只有几个啦,其中有三个当我们F2里面空的时候数值为0,当我们放血药或者攻击技能的时候就会显示有
数值,所以我们把这三个地址双击,然后一个一个继续查。查什么呢?查找当我们按下F2的时候什么访问了这些地址?我们将攻击
快捷键放到F2,然后点第一个地址,右键,选“Find out what access this address”,读过高中的朋友都懂这英文意思吧!三个地址我们
都试过后会发现,有一个地址我们还没按F2就不断有访问,访问的数量很多,当我们按下F2后记录了5,6条一次访问的。另外两个
地址按下F2却没什么访问。说明这两个地址不是我们要找的。
我们把访问了一次的5或6条地址都记录下啦,见下图。
然后用OD来找攻击Call. 先登录游戏,然后用od附件游戏,然后我们可以一个一个试前面找到的访问地址,不过,我们
可以凭经验先试第一个或者最后一个。我们先试最后一个吧。你要试其它也是行的,只不过多走几步而已。在od中转到地址
006EF57D,然后在这里下断,回到游戏中按下F2攻击快捷键,发现马上断下!我们按F8单步跟踪,就像搞软件破解一样,一路
看看有没有可疑的Call,我们是找关键call不是找关键跳哦!一路找下来,发现到了断尾出retn啦!没发现可疑,那就继续按F8
走出这个Call啊!这不和破解一个道理吗?我们出来啦,见下图:
停在006FC64A出,发现上面有个Call, 原来我们就是从上面的Call出来的啊!破解的时候我们走出一个Call常常往上面找看看有
没有关键跳能跳过这个Call,现在我们不是要找关键跳,我们是找关键call,说明刚在我们按下F2攻击键的时候,断在了上面这个
Call啦,万一就是上面的呢?所以我们要测试一下,如果不是,我们继续往下跟,找下一个Call.
要测试这个Call,我们得看参数,传进去多少个参数,看代码push eax,mov ecx,esi. 我们可以直接用这代码测试,但我们要
知道eax和ecx的值啊,ecx是由esi传过来的,我们找eax和esi的值就行啦。
这一次,我们在这个call上面下断,取消前面的断点:
下好断后我们让它运行起来,回到游戏中,再次按下F2攻击键,发现断下了,看eax和esi的值,eax=1, esi=1efb6278.看出什么
意思了吧?eax表示我们按下的是F2,从0表示F1,F1-F12就是0到11,我们不妨换一个位置试试,发攻击快捷键放在F6中,再一次
测试,断下后会发现的确是这样,而且esi的值都是等于1efb6278。好了,这时候我们可以用代码注入器来测试这个call啦。
经过测试,这个call就是快捷栏调用Call!现在我们就可以用delphi编写代码啦。
我们接着前面做的读取人物血量程序,在窗体上加一个按钮件,按钮上写上下面的调用代码,然后在窗体创建里写上我们刚才找到
的Call,具体见下面的图。关键代码我做了注释。
上面的代码都是测试可以用的。当我们选中怪物后,点击攻击按钮,就能自动打怪啦。
感兴趣的朋友可以自己找其他Call,方法都差不多,只要你有耐心是可以找到的。我们再加上时钟控制,每隔多少秒按一次或者
加上条件判断,当我们选中怪物的时候就点击攻击按钮,这样就实现自动挂机打怪功能啦。其他功能都可以做到的,例如我们低
血的时候需要补药,我们在快捷栏某一栏放上药,调用上面的CALL,把eax的值改成对应的数,就ok啦。
教程就到这里啦!虽然没有完完全全全部写到,但是核心部分已经将得很详细啦!思路也分析的很清楚,对得起几个想学习的
朋友啦!你们可以试着做自己喜欢的游戏辅助,但是你的游戏要能用OD调试,如果od都不能调试的,做出的也会被封号的!
祝爱学习的朋友有所进步!有什么问题可以跟贴留言,我有时间就回复!
yangyuejia 发表于 2018-3-22 19:17
上个源码和这个编程软件的下载地址吧,很多人不会用这个编程
源码发图了,代码不多,看图就懂,如果想学习的自己看图就可以照着做,编程下载地址百度一搜就有了,所以就没发。如果很多人想学,我会继续更新,但回复留言的都没几个啊。 多谢分享!!! 这款游戏 有些年头了啊 先马克一下。 感谢分享,辛苦楼主 持续关注楼主 感谢楼主分享 幸苦楼主了 楼主真是道中人啊。,
想曾经 拿着G13强4 的X3剑去刷火贼
拿着满z的武器,去 南明湖卡怪,
也是满满的怀念,打怪还只能一个劲的按F1的时候,结识一群 志同道合的朋友
自从出了 热血宝宝之后,这个游戏也就彻底废了·····全是挂机的··· 郁金香有全套的教程