首页
社区
课程
招聘
[旧帖] 诚心请教各位大牛!请问制作网游外挂需要哪些知识? 0.00雪花
发表于: 2015-6-11 12:36 35646

[旧帖] 诚心请教各位大牛!请问制作网游外挂需要哪些知识? 0.00雪花

2015-6-11 12:36
35646
收藏
免费 1
支持
分享
最新回复 (93)
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
最近也在学辅助制作我来说一下我的个人看法,仅供参考毕竟我也是个新人,些单机外挂呢要学的东西就简单多了只要随便一门高级语言入门就可以了,这里推荐C/C++可以方便的利用MFC写外挂窗口,单机挂没有保护只要找到进程打开进程然后就可以写你要改的地方了,打开写入的函数百度一下就找到了总共也没几个函数,这个非常简单好学,然后就学习怎么用CE找基址这个网上教程一大把百度随便搜,再用OD找游戏的CALL,同CE一样找点入门教程,这里学CE和OD不用专门去学汇编下载一个汇编指令查询器边找边查时间长了就记住了,以上就是写单机挂需要的东西,写网游辅助基本大同小异只是多了个封包,封包教程同样去百度,会写单机基本就差不多会写网游辅助了,难的是怎么过游戏保护,这个真把我难住了不紧要精通汇编还要学反编译也就是破解,过游戏保护驱动用到的知识就太多了就不一一赘述了,想学写挂先学单机的吧,单机学会了自然而然的你也就知道写网游辅助需要学什么了。
2015-6-26 08:10
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
27
外挂的知识多了去了,首先学会使用IDA反汇编, OllyDbg 脱壳,然后是 win32 api,wdm 驱动,然后是键盘鼠标 hook 技术,进程注入管理等等,是很深入的话题了
2015-6-27 21:21
0
雪    币: 631
活跃值: (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
28
一门编程语言,汇编基础,逆向技术,这是基础。
2015-7-3 07:50
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
不知道学什么?这不简单,随便找个游戏逆向工程师面试下,从面试官哪里你不仅会知道该学什么,还能评估出你的现有知识水平够不够.
2015-7-4 21:59
0
雪    币: 548
活跃值: (1522)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
30
别被吓到!过保护 数据之类都有的买。。不用全部一个人做,难的就先放放。
2015-7-7 00:33
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
31
先学c,再学vc++再学汇编,逆向源码,然后学脱壳,解密,过保护,再学写挂,挂保护.......
2015-7-7 06:29
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
32
其实我大概知道
2015-7-7 10:43
0
雪    币: 96
活跃值: (216)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
33
学好编程然后就要学找游戏数据了,你要写封包的挂的话就更难了,你要逆向游戏封包加密,看看发包的数据
2015-7-7 11:14
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
34
大神,我一直都希望能有这样的人物合作项目,我的想法也是找到人自己写外挂不外卖,自己用。
有意向合作么?我没法私信,麻烦留个QQ~
2015-7-8 21:07
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35
你联系到他了吗?联系到了加下我Q 4506083
2015-7-11 12:40
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
36
学易语言啊,编程啊,现在想想都头疼
2015-7-12 10:04
0
雪    币: 35790
活跃值: (7155)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
37
编程  hook 内存注入啥的 都得会,一时半刻的想变来人民币的话不容易的。
2015-7-12 10:10
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
38
不知道啊 我本渣渣
2015-7-12 19:44
0
雪    币: 160
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
39
99.99999999%的人耐心学习都可以拥有你想要的技能,不同的是因为各种原因,99.99999%的人半途而废,或者急于求成,走上了岔路。别急,稳扎稳打,慢慢来。

最好有个安静的环境,一个人静下心来慢慢研究,不要拜师,不要学易语言,从C语言开始。
2015-7-13 21:37
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
40
本人也是小白,但要懂规矩,守纪律!祝楼主学有所成!
2015-7-21 14:29
0
雪    币: 46
活跃值: (24)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
41
具体要看你做到什么功能 了,只是按键的话没什么难的,会一点编程就能做出来,要是做内存挂的还要逆向分析游戏的数据结构和CALL,封包解密算法分析之类的,各种HOOK编程能力要扛扛的。慢慢来吧!
2015-7-21 15:39
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
42
1. 常用的编程语言,x86汇编, VS2008, VC, VB, DELPHI等
2. 常用外挂制作工具
peid 0.94    用于查壳,知道什么壳就可以脱壳拉.
http://www.pediy.com/tools/unpack/File_analysers/peid/peid.rar
OllyDbg调试器    调试游戏.
http://www.pediy.com/tools/Debuggers/ollydbg/OllyICE.rar
OD脱壳脚本    用于脱壳.
http://www.pediy.com/tools/Debuggers/ollydbg/script.htm

LordPE    一般用于脱壳.不过还有别的妙用...
http://www.pediy.com/tools/PE_tools/Lordpe/LPE-DLX.rar

ImportREC    脱壳修复工具
http://www.pediy.com/tools/PE_tools/Rebuilder/Import%20REC/ucfir16f.rar

eXeScope    资源编辑修复工具
http://www.pediy.com/tools/Resource/eXeScope/eXeScope.rar

freeRes    资源提取工具(注册码随意输入).
http://www.pediy.com/tools/Resource/freeRes/freeRes0.94.zip

Resource Hacker    资源编辑修复工具
http://www.pediy.com/tools/Resource/Resource%20Hacker/reshhack3.4.zip

WinHex    十六进制编辑工具(一般用来提取游戏的列表等...)
http://www.pediy.com/tools/Editors/winhex/WinHex_12.75_SR-6_HA.rar

UltraEdit    做外挂的~没几个不用这个^^(抠地图必须要用的哈..)
http://www.pediy.com/tools/Editors/Ultra-Edit/Ultraedit.14.hh.rar

IDA    反汇编工具(一般网络游戏加解密这个一键就可以了.)
http://www.pediy.com/tools/Disassemblers/ida/DataRescue.IDA.Pro.Advanced.v5.2.windows-YAG.zip

C32Asm    静态反汇编牛X工具
http://www.pediy.com/tools/Disassemblers/C32Asm/C32Asm.rar

Cheat Engine    目前最好用的内存修改器
http://dl-sh-ctc-1.pchome.net/3p/hl/0706_by_10_gamersky.rar

一、游戏封包的加密与解密算法的破解
①.选择一款目标游戏
选择自己熟悉的游戏类型。
尽量不要选择热门的游戏.
玩家人数少的游戏,游戏规模小,一般技术也比较容易突破。
尽量选择尚在测试期内的游戏,这使得你有充足的时间制作外挂。
②.目标游戏初分析
1.确定制作网游外挂的类型.:内挂和脱机外挂。
二、游戏指令与数据结构的筛查
1.网络截包工具(Microsoft Network Monitor)的使用简介
目标网游的初步分析最主要的工作是分析游戏初始阶段网游客户端和服务器之间的数据通讯。
2.分析初始阶段C/S网络数据通讯
3.游戏加密算法破解
4.Debug版本制作
③.网游基本指令分析
1.监控网游客户端的发送包和接受包
2.分析网游指令的通用方法
能够获得网游指令样本数据之后,接下去就是实际的分析过程了。
一般而言,根据指令包所起的不同作用,可以将游戏指令包分为不同类别:

连接相关指令包 用于与游戏建立连接以及退出游戏时的指令包
玩家属性相关指令包 与玩家本身状态相关的指令包,在刚进入游戏系统时,服务器会发送过来大量的关于玩家角色基本信息的指令包。
环境相关指令包 由于告知玩家周围怪物/NPC/其他玩家状况的指令包
移动相关指令包 与走路相关的指令包
战斗相关指令包 与战斗相关的指令包
交易相关指令包 与交易相关的指令包
三、游戏地图文件的破解与转换
3.1 地图文件格式的分析
3.2 外挂地图文件格式的组织

④.网游资源解析
游戏资源主要是指包含在网游客户端内的与游戏相关的数据资源:其中最重要的是地图资源,其他的资源包括NPC的位置坐标啊,地图传送点的坐标啊,等等。

1.地图资源解析
地图资源的解析是外挂制作中很重要的一个方面,寻路算法以及地图间的自动移动等都要依赖于地图资源。
2.其他资源的解析
地图资源的解析是通过了解物理磁盘上地图文件的保存格式,然后自己写程序解析出来的,使用这种方法还可以解析其他很多资源信息。大家可以仔细观察游戏的安装目录,根据子目录和文件的名字可以分析出很多有用的信息。

四、外挂中智能AI部件的实现
  游戏外挂智能AI部件的实现主要由算法与数据两部分组成,在一个具有推广意义的外挂中AI部分的设计是必不可少的。外挂AI部分的设计主要包括以下几方面的内容:游戏脚本指令体系、自动行走算法、自动杀怪算法和综合控制算法,而在上述算法中相关配置文件的设计是相应算法设计不可缺少的组成部分。

AI部分也是对一个人的分析能力的考验,下面先粗略得介绍一下几个算法的作用与意义,深入的探讨在具体的各个章节中进行。
  4.1 游戏脚本指令体系 脚本是使外挂具有通用性的一个实现方法,也是对游戏角色进行控制的手段。脚本指令体系设计的好坏直接关系到外挂的功能与性能。
  4.2 自动行走算法 完成自动行走是一个必备的功能,自动行走性能的好坏主要由算法决定。要实现自动行走首先必须找到行走的道路,然后再沿指定道路前进。寻路算法目前主要由A*算法来处理。
  4.3 自动杀怪算法 自动杀怪也是一个必备的功能,自动杀怪性能好坏直接关系到升级速度的快慢。
  4.4 综合控制算法 一部分由脚本完成一部分由程序处理,综合控制与性能最为相关,综合控制处理的好环直接影响升级的速度。

⑤.网游中的算法
1.寻路算法

五、外挂配置文件的构造与设计
5.1 地图配置文件 这部分内容由《游戏地图文件的破解与转换》的章节进行详细的讲解。地图配置文件的意义除了起显示作用外,其最重要的作为是提供寻路算法的数据支持。
  5.2 过门配置文件 现在的游戏大部分是采取小幅地图切换的模式,图与图进行切换的点我们称之为过门。由于过门之间在数据上是不连续的,因些我们需要为些建立过门之间的联系。过门配置文件的意义主要是提供图与图之间寻路算法的数据支持。
  5.3 物品配置文件 物品配置主要决定物品是否被捡取、丢弃、购买、出售、修理和物品所属种类等,物品的各类决定物品被何种NPC所处理。
  5.4 怪物配置文件 怪物配置主要决定怪物是否被攻击、躲避及用什么形式攻击、多少等级间被攻击等。
  5.5 NPC配置文件 NPC配置主要决定NPC在何图、何坐标、处理何类工作等。
  5.6 装备配置文件 装备配置主要决定何种职业用何种装备、何等级别用何等装备等。
  5.7 技能配置文件 技能配置主要决定何技能在何级别被何职业所学习与练习等。
  5.8 战斗配置文件 战斗配置主要决定何级别该在何地图级别等。
  外挂配置文件的具体构造形式主要由其内容所决定,同时可以考虑是否对文件进行加密处理。
2.其他算法
外挂中除了寻路算法之外,还有其他的一些算法应用,比如地图间移动算法:在已知各个地图间传送点的情况下,计算出从地图A移动到地图B所要经过的所有地图,这同样是一个经典的图论算法问题。
此外还有打怪时如何搜索最近怪物的算法,以及最有效的自动战斗的算法,这些算法要根据每款游戏的实际情况而进行相应的变动。

六、脚本解析器设计与游戏脚本指令
6.1 脚本解析器的设计 脚本解析器设计是属于编译原理的范畴,大家如对编译原理有所掌握,那么设计一个脚本解析器是相当容易的。脚本解析器的设计是与脚本指令体系相关的,离开了脚本指令体系的设计脚本解析器的设计也就免谈,因此在脚本解析器设计前我们首先需要设计好我们的脚本指令体系。
  6.2 编译原理 编译原理是讲叙代码翻译的一门课程,编译原理主要涉及词法分析、语法分析、语法树构建、代码转译等方面的知识。现代的高级程序语言是属于形式语言的,它是按一定的格式与规则进行书写,从而表达一定的行为与逻辑。而对于脚本解析器来讲所涉及的内容则较为狭窄,一般情况下脚本解析器被设计为解设执行的程序体系,因此主要涉及词法分析与语法分析的内容。
  6.2.1 词法分析 词法分析是指将我们编写的文本代码流解析为一个一个的记号,分析得到的记号以供后续语法分析使用。在词法分析中同样涉及到一错误的判断与处理。
  6.2.2 语法分析 语法分析是将上述得到的记号按一定的规则进行检测,若符合某个规律则处理相应规律所对应的事情。语法分析最终可以将脚本代码的行为给解析出来,并最终完成脚本规定的行为。
  6.3 脚本指令体系与组成 脚本指令体系是脚本设计中的核心,脚本指令体系设计的合理与优异与否直接与外挂能力与智能水平直接相关。一般情况下脚本支持的指令越多则脚本所能实现的能力越大。任何外挂中使用的脚本主要具有以下几个要素:自定义变量支持语句、类型识别能力、赋值语句、脚本流控制语句、系统变量支持语句、数值和字符串运算语句、比较语句及游戏操控语句等。
6.3.1 自定义变量支持语句 主要考虑变量的作用域与变量类型的问题。变量作用域在外挂中主要分为全局与局部两类。变量类型在外挂中主要分为数值型、字符串型和时间型三类。另外变量所能接收数据的长度也必须给予考虑。
  6.3.2 类型识别能力 这类处理可以用显性或用非显性的方法进行处理,显性处理较为符合目前大多数编程语言的习惯。
  6.3.3 赋值语句 分为数值型、字符串型与时间型三类数据的赋值问题。一般采用主流程序使用的方法,这种方式的用户较为广泛。
  6.3.4 脚本流控制语句 分为条件语句、多分支语句、真性循环语句、假性循环语句、计数循环语句和强制跳转语句。
  6.3.5 系统变量支持语句 与实际的游戏相关。比如游戏中角色的职业、级别等,另外也可以设定游戏中没有的但我们使用频繁的变量。系统变量的多少直接与脚本所能支持的功能和执行的性能有关。
  6.3.6 数值和字符串运算语句 数值间有加减乘除等运算,字符串有相连定位查找等运算,时间有加减等运算。
  6.3.7 比较语句 游戏中的比较语句主要包括数据间的比较、字符串的比较和时间的比较。比较方式主要有大小与相等。
  6.3.8 游戏操控语句 与实际的游戏相关,比如买、卖、修、存、取、捡、丢、用、走、砍、挖、杀等,具体格式由游戏决定。

具体可以看 http://www.cnblogs.com/GameDeveloper/archive/2011/03/11/1981663.html
2015-7-21 22:29
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
43
wyhaha绝逼是大神  我感觉说的挺对的   楼主不妨仔细看一下  这位大大说的
2015-7-23 17:20
0
雪    币: 35
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
44
加你QQ了,QQ上说
2015-8-3 12:26
0
雪    币: 19
活跃值: (4869)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
45
你问的论坛里都有
你自己翻阅论坛自己摸索答案吧...
2015-8-3 12:34
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
46
你这一上来就让人学汇编...  个人建议从python开始吧  然后C /C++ 转向内存方面   再搞汇编什么的
2015-9-9 18:13
0
雪    币: 79
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
47
我也在学习这方面 交流交流 Q:84476063
2015-9-9 19:06
0
雪    币: 272
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
48
最应该学的是法律知识
2015-9-9 19:55
0
雪    币: 56
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
49
汇编语言,和C语言,以及地址指针概念
2015-9-12 22:51
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
50
小弟不才,用按键精灵写外挂写的好好的,现在也堪称精通了。
只是图像识别方面的。
只是在某些场景位置判断就成问题了。
要取精确位置只有解游戏封包了。
要解游戏封包就要逆向。
你所问的基本上包括两方面的问题:
一是操作:这方面你看看如何操作键鼠的编程,方法有很多。底层的,上层模拟的都可以。各种语言都可以。这个不需要多少知识。哪种语言都行,只要到时候你能把东西都挂到一起去。
二是信息获取:这方面也分多种,最方便的是用图像识别,这种挂没人封也不会封。只是复杂场景图像很难识别。别一种就是解游戏封包了,直接取数据。这种就需要你跟到游戏里面,去逆向跟踪一下。说白了跟到游戏里都不难,难的是面对汇编代码,你要搞清楚哪里是对你有用的信息。
所以要学什么也就很清楚了:操作方面你有一个方法能操作键鼠就行了,不在乎你用什么语言。按键精灵是最简单的,现成的。不行自己用C#编一套也可以,不会太难。
获取方面,你要是能解游戏封包,就能解决很多事情。如何解游戏封包:简单的封包一看就明白了。复杂的封包你得从汇编代码级去反推。涉及到网游外挂,就要对Windows网络api有一定的了解,就能帮助你定位call了
2015-9-17 15:54
0
游客
登录 | 注册 方可回帖
返回
//