(一)浅谈暗黑BOT
暗黑破坏神(DIABLOII)是十几年前暴雪推出的一款经典网络游戏,是网络游戏的开山经典之作,很多玩家都是从大菠萝1.09时***始玩起,从1.09时代的神器WF到1.10的符文之语TP+、无线电法师,DIABLO带给我们无数乐趣,游戏、物品、技能设计堪称经典。DIABLO推出的同时就有很多辅助的外挂工具同时出现,最出名的当属MapHack和HackMap地图外挂,能够实现自动打开地图,自动辅助显示一些物品,自动指路等等非常有用的功能,此外就是一些自动化打怪MF的工具称之为BOT,从DIABLO 1.09时代到现在的1.13,陆续出现过MMBOT、D2JSP、KPBOT等很多BOT工具,到后期出现的D2NTBot,非常健壮,功能十分强大。本人也有过数次挂BOT被BAN的经历,BOT虽然给DIABLO具有很大的伤害,有了BOT基本也就失去打神器的动力,但是BOT也是DIABLO粉丝的一大兴趣所在。
作为有十几年经历的DIABLO玩家,一直以来却没有仔细研究过BOT和MapHack的工作原理。期间也有过使用按键精灵等鼠标模拟软件制作一些登陆、建游戏等辅助的小工具,也有用按键精灵编写的KP Bot,但是按键精灵这类软件只能模拟鼠标键盘操作,不能读取利用游戏的内部数据结构,因此局限是非常大的,不能或者很难实现一些复杂的功能,比如复杂一点地图的找路,基本是实现不了的。最近再次回归暗黑,在国内一著名的私服完了一个多月,再次萌生使用BOT的念头,也不再满足按键精灵实现的小功能。由于D2NT一类的BOT虽然非常强大,但是基本只支持1.12后的DIABLO版本,现在国内的私服基本都是1.11B的版本,适合1.11的BOT现在已经很难找到,再加上人到中年,最近单位工作比较闲点,虽然是十几年前的程序了,兴趣所在还是决心仔细研究一下MapHack的原理。
MapHack是十几年前国外一个名为MousePad(鼠标垫)的牛人最初编写的,截获了Diablo程序内部100多个函数的地址,还有大量的内部数据结构,再次对MousePad的非凡逆向工程能力表示钦佩!后来国内Sting对HackMap进行了修改推出了HackMap。MapHack的初期版本是开源的,MapHack2.24版本的源代码在很多网站上还能找到(下面的网站可以下载:)。MapHack的工作原理在Sting的博客中有详细的介绍,不在赘述,简单讲就是找到内部一些有用的函数地址,利用这些函数地址我们可以实现两种功能:一是可以我们自己写的外挂程序直接调用,比如利用内部的发送数据包函数,模拟向服务器发数据包实现诸如TP、与NPC交互、释放魔法、复活PET等等几乎所有功能,二是可以把一些函数的最初几个命令修改为call或者jmp,跳转到我们自己的函数,从而修改游戏的一些功能,类似windows的HOOK技术,Sting的博客称之为旁路。利用这种HOOK技术,可以修改游戏的一些功能,比如可以支持只显示有用的物品、支持地面物品一直显示等,MapHack上的这类功能就是这么实现的。BOT里面可以HOOK游戏的发送和接受数据包函数,并用OutputDebugString输出到DebugView中,对于解析游戏数据包非常有用,还可以通过截获服务器端数据包判断游戏的一些状态。
虽然已不再从事技术工作七八年时间了,还好基础还在,经过细心研究,最终总算大概搞明白MapHack的大致结构和内部数据结构的大概含义。由于没有任何文档和资料介绍,而且十几年前的源代码,开始时编译都是大问题,研究十分幸苦。不过结果还好,经过一个多月的调试再加上编写新软件,最终算是成功实现了自己的BOT,与现在流行的D2NT一类的BOT相比,可以算是一个小型的D2NT BOT了,只是对场景怪物的支持没有D2NT的全面罢了,其他基本类似了,可以实现自动喝药水、血少自动退出、任何场景可以实现自动找路TP、城内走路具有一定的健壮性、自动购买药水和卷轴、自动发现装备损坏程度自动修复装备、支持PET功能、自动复活PET,支持自定义捡取并识别物品、物品识别支持对加技能、加力量、ED、FCR、加某一类角色的技能等等基本所有有用的属性(因此可以设置只捡取如暗金项链里的4r=30的马拉,只捡取dex20的乌鸦戒指,只捡取绿色项链里的tlx),可以完美实现A1安达利尔、A2督瑞尔、KP和打A1女伯爵、A2召唤者、A5尼拉塞克钥匙的功能,其他怪物添加基本都是类似,技术上完全没有问题。
至此实现这么一个BOT已经远超我的预期,而且根据BOT功能的需要,自己还成功找到了游戏客户端中另外两个需要用到的函数地址,修改了MapHack源码上的一处数据结构错误。不过使用BOT的后果还是一样的,老玩家都知道,长期挂BOT没有不被发现的,果然没多久战网停权里就有了我的全部账号名单。也好,可以好好休息一下,再次对DIABLO说再见了。为了记录此次研究的成果,特意将相关技术文档记录在此,如果大家感兴趣,可以把源码整理一下放上来。明天录一段单机版的BOT效果放上来供记录用。后续打算记录BOT程序的一些关键功能及实现,供记录,以后使用参考。
Bot简短视频:
应大家要求,把bot放上来,供参考测试,出现的任何问题不要与我联系,我也不负责修改bug。
密码: cuup
暗黑破坏神(DIABLOII 1.11B)BOT下载
[]暗黑破坏神2]战网服务器架设
没有更多推荐了,等级:新手入门
&骷髅:&0&个&soj:&25&&信用:&2&&宝石:&0&颗&注册:&
解决很多玩家在1.13魔电1F9B单机模式下不能实现大箱子和地图全开的问题!!
本人经过无数次的失败,反复测试了很多方法,终于可以完美实现大箱子+地图全开,第一次发帖辛苦的说,望大家支持一下!
好了,还是说说怎么弄吧!
首先,你必须要弄一个纯净的暗黑2硬盘版,具体下载地址,先下好1.11B的版本后解压到任意盘符(这里要注意几个问题,首先,你最好是在其他盘符没有***暗黑,因玩家***多个暗黑,InstallPath的注册表错误而导致大箱子可能出错而引起“Don't find image file StashBtns.dc6”错误,包括其余的MOD在内,比如暗月之类的,最好不要存在,这个问题困扰了我很久的,差点都要彻底放弃了,多个暗黑的出现是导致最终不能用箱子和hackmap的罪魁祸首,如果你想玩原版或者其余的MOD的话,最好是放在移动硬盘里面!) 这个1.11b的硬盘版rar格式可以放在你的盘符,方便***魔电失败后可以快速解压重来,事实证明解压文件比复制粘贴来的更快,而且并不存在多个暗黑!:anhei3.net-88
然后可以下载1.13升级补丁了,这里要注意,千万不要下载傻瓜式升级***包,一定要下载1.13C傻瓜式***升级rar文件,后面我会解释为什么!
然后可以下载魔电最新版本1.F9b,现在,所有的都准备好了!
首先把下载好的升级补丁和魔电都解压出来(建议解压在桌面,这样不容易出错!)第一步,先把解压出来的魔电汉化版里的文件全部复制到你解压所在的暗黑目录,(这里一定要注意,必须按照这个顺序来,不能先***升级补丁),复制好了以后,接下来你的暗黑2已经是魔电1.13版本了,因为这个汉化版已经将暗黑2 1.11b版强制更新到1,13了,所以根本就不需要再去打补丁了,你可以先尝试看看能不能正常进游戏,能进游戏的话,很显然我们还没有实现大箱子和地图全开的功能。
现在,你可以把1.13c的傻瓜式***升级文件里面的东西全部复制到暗黑目录了(这里有个地方非常重要,这个傻瓜***文件里面有一个patch_d2.mpq文件,将这个文件点掉,也就是说除了它以外所有的文件都复制到暗黑目录,后面解释为什么!)
现在,我们已经将所有工作都做完了,接下来首先运行自动汉化.bat这个,否则进游戏就全是英文,然后可以进游戏了,如果在游戏界面能看到plugy10.0则表示大箱子***成功了,新建个人物进去,到储存箱去看看有没有公共箱子!如果有的话,就表示已经成功了,接下来,运行1.13map里面的hackmap,就可以开地图了!
说明一下,我在***大箱子的时候遇到过很多问题,其一,大箱子在游戏界面能看到,但是进游戏要报错,这就是***了多个暗黑的缘故,一度被这个问题困扰了N久,最后在找到***!这上面说这个***包已经解决了多个暗黑报错的问题,其实并没有,实践得知!
&&至于为什么一定要用升级rar文件,而不用他的exe升级包呢,因为exe升级包是直接将patch_d2.mpq***到暗黑目录,从而将魔电的覆盖掉导致不能玩魔电,你可能会问,我也可以再将魔电的mpq复制进来啊!不错,的确是可以这样,但是这里面存在一个BUG,也不知道是不是魔电本身的缘故,如果用这种方式将魔电mpq复制进来的话,再进魔电玩的话,新物品会显示It06这个乱码,物品没有任何属性,你们可以去试试,智慧之珠和阿卡拉出售的神秘球体全是it06,而且杀怪掉东西也是怪怪的,所以,必须严格按照我上面的步骤来操作,其实这个BUG的解决也是无意之间发现的,不知道有没有朋友遇到过这个问题,不过,如果只是玩原版暗黑的话,就不存在这个问题了,你要玩魔电,就必须要这样操作,以上都经过严格实践得知,论坛上面看不到老鸟的这些发帖,所以只能自己搞了!只要是按照我现在这个操作步骤***魔电的话,我想应该是不会有任何问题的了,如果还是不行,总有这样那样的错误存在的话,那我就只能说是RP问题了,呵呵!
还有一个关于hackmap的问题,初次进游戏是普通模式,似乎地图上面看不到怪物的标记,别着急,这个可能不是hackmap的问题,我在地狱难度下的所有怪物都能看见,实在不知道怎么解释这个问题,另外说明一下,如果不想玩普通和噩梦2个难度而想进入地狱难度的话其实很简单,去暗黑工具论坛找一个叫p-shadowmaster的工具,这个可以直接新建一个人物,将其改为地狱模式,这个人物存档和魔电不冲突,可以随便进,只不过进去后就是魔电的技能了而不是原版的技能。另外,玩魔电如果没大箱子的话一定会很崩溃的,东西太多了,地狱难度8人模式很有挑战性,所以你不妨把人物改到99及出去杀一只怪就120及了(经验和原版不一样)所以一下就满级。技能全部调到20吧,不要以为就很厉害了,没钱的可以建几个money1,2,3 全部put到公共箱子,然后用你想玩的号去取,在营地疯狂赌博吧!
还有,论坛上面有人发了个魔电人物的档,大家可以去下下来,里面有很多东西,统统丢到公共箱子去吧!无限复制啊!
好了,希望大家游戏愉快吧!
您目前仅能浏览部分内容,查看全部内容及附件,请先
等级:安达利尔
昵称: 团团
&骷髅:&0&个&soj:&64&&信用:&4&&宝石:&0&颗&注册:&
这个太刺激了
传说中饭团都是扁的
等级:新手入门
&骷髅:&0&个&soj:&0&&信用:&0&&宝石:&0&颗&注册:&
大箱子是能用了,但魔电MAP一开游戏就挂了
等级:新手入门
&骷髅:&0&个&soj:&25&&信用:&2&&宝石:&0&颗&注册:&
你的map如果不能用的话可能是你并未删掉以前的hanckmap造成的,不要用覆盖的方式,先把以前的hackmap全部删除,再用最新的113map那个,肯定行的额!!!
等级:新手入门
&骷髅:&0&个&soj:&0&&信用:&0&&宝石:&0&颗&注册:&
能否帮我传一个魔电用的1.13地图工具?
等级:新手入门
&骷髅:&0&个&soj:&0&&信用:&0&&宝石:&0&颗&注册:&
直接放出一个傻瓜补丁吧,直接覆盖就能使用的。。研究半天还是不能开地图。。。
等级:新手入门
&骷髅:&0&个&soj:&0&&信用:&0&&宝石:&0&颗&注册:&
这个成功了,可是进去游戏后魔电的人物装备栏显示是原版的,而不是魔电的,求助如何解决……
等级:安达利尔
昵称: 安达利尔面容
&骷髅:&0&个&soj:&26&&信用:&11&&宝石:&0&颗&注册:&
此帖不该沉
UID70777&帖子127&精华&积分213&soj26 &阅读权限30&性别男&在线时间150 小时&注册时间&最后登录&
等级:新注册
&骷髅:&0&个&soj:&0&&信用:&0&&宝石:&0&颗&注册:&
之前玩没有大箱子的魔电真是很郁闷
我按楼主说的方法修改之后,大箱子提示说装好了,但是却无法进入游戏了,运行游戏时提示unhandled exception access_violation(c0000005)
等级:安达利尔
昵称: 安达利尔面容
&骷髅:&0&个&soj:&26&&信用:&11&&宝石:&0&颗&注册:&
要沉了 顶上去
UID70777&帖子127&精华&积分213&soj26 &阅读权限30&性别男&在线时间150 小时&注册时间&最后登录&