| 暗黑首页 | 基础知识 | 角色职业 | 魔法技能 | 物品装备 | 妖魔鬼怪 | 经验心得 | 官方公告 |
| 秘籍修改 | 任务攻略 | 非常技术 | 场景地图 | 常见问题 | 暗黑下载 | 新手指引 | MOD 制作 |
暗黑下载
暗黑破坏神2下载
暗黑2玩家交流
暗黑破坏神2新手指引
网络版暗黑简单进入说明:
1、下载1.11B版本暗黑2
2、其他版本覆盖1.11B补丁
3、运行91D2战网注册表
4、用91D2登陆器或D2loader启动游戏,点击battle.net进入游戏
经验分享
·RR详尽流程经验分享
·FZ永久无杖key制作
·新人乘坐bus全流程注
·战网穷人KB经验分享
·战网mf和bus一体sor
·如何高效轻松八开DYKB
·有交易价值物品的Drop率
人物练法
·HOLD住全场的男人PAL
·经典法师SOR再续前缘
·打造最帅的狂乱者BAR
·穷人的的暴力熊德DUR
·暗之幽灵刹那芳华ASN
·打造最强势信心弓AMA
·追寻五环的炫目NEC
非资料片
·非资料片KD房间注意项
·91D2非资料技术贴合集1
·91D2非资料技术贴合集2
·战网FZ单人8开SOLO方法
·战网FZ物品价值之我见
·影像资料记录FZ KD历程
首页 > 非常技术
浅谈暗黑2战网 BOT的制作
作者:vinceit 2018-08-17

 暗黑破坏神(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版本的源代码在很多网站上还能找到(下面的网站可以下载:http://extreme-gamerz.org/diablo2/viewdiablo2/hacksdiablo2)。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尼拉塞克钥匙的功能,其他怪物添加基本都是类似,技术上完全没有问题。
苏ICP备14007949号-2

暗黑2战网 | anhei2 | 暗黑破坏神2 | 暗黑战网 | 暗黑2 | 暗黑破坏神3 | 暗黑3 | | anhei3 | 暗黑2下载

Copyright © 2007-2021 91D2 Corporation, All Rights Reserved

91d2战网 版权所有