游戏辅助教程

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
15
备选: 《天书夜读:从汇编语言到 Windows 内核编程》 作者:谭文 / 邵坚磊 出版社:电子工业出版社
参考链接: http://book.douban.com/subject/3246500/ 《寒江独钓:Windows 内核安全编程》 作者:谭文 / 杨潇 / 邵坚磊 出版社:电子工业出版社
Python 语言可以让你在分析完网页游戏的 HTTP 请求格式及服务器返回应答数据后,在很短 的时间实现一个强大的可用的外挂,配合上 Python 社区强大的模块支持,如果你觉得 Python 自身界面简陋的话,可以嵌入到 C 中调用,然后结合 Windows 的 SDK,简直就是黄金搭档:)。
但是对于系统级的一些修改和实现,如内存补丁,驱动编写,C 语言才是最佳人选。学会 C 语言,进而学习 Windows 的 SDK 和核心系统编程,如果你再懂得一些 DirectX 在游戏中的常 用技术的话,你可以写出超级强大的外挂。比如穿越火线中,在每 盘游戏初始化的时候,腾 讯有很多默认参数:默认的持枪种类,默认的人物,默认的出现位 置集合等等。这些默认参 数结合具体的规则来保证程序效率和安全的最优(这个可以通过观察内存找到具体的数值)。 我具体解释一下:默认的主枪支是一把霰弹枪,默认的人物是空,默认的集合位置是{A,B, C,D}。当在一局枪战中你控制的人物牺牲后,程序要 reset 一下你控制的角色,过程如下: 默认角色为无角色,也即 0,客户端向服务器发出角色类型查询,服务器响应查询,根据服 务端数据库中存储的帐号信息应答,如果你买了飞虎队或者猎狐者,那么服务器告诉客户端 玩家是飞虎队或者猎狐者,此时客户端把角色类型初始为相应数值;默认的主枪支是 1,也 即霰弹枪,所以在你网速比较卡的时候你出来的一瞬间所持的枪不是你个人配置的种类,因 为客户端要向服务端请求这些数据;至于你初始出现的位置,这个因为不影响游戏平衡性, 很多游戏把这个交给客户端随机分配。看到这里,你或许会邪恶的想把自己的人物和枪支修 改为收费类型,可是腾讯也想到了这点,它通过 TS 模块不断检查你数据的合法性,一旦检 测到非法修改或数据,就会强制退出,有时候因为游戏中贴图的 bug 导致你走位到箱子或墙 里也会被认为是作弊,轻者判你游戏人物死亡,重者强制你客户端退出。
参考链接: http://book.douban.com/subject/3117898/ 算法和数据结构 入门: 《数据结构(C 语言版)》 作者:吴伟民 / 严蔚敏 出版社:清华大学出版社
6
参考链接: http://book.douban.com/subject/2024655/ 深入: 《算法导论》 作者:[美] Thomas H.Cormen / Charles E.Leiserson / Ronald L.Rivest 译者:潘金贵 等 出版社:机械工业出版社
参考链接: http://book.douban.com/subject/1208843/ 备选: 《C 程序设计语言》 作者:Brian W. Kernighan 和 Dennis M. Ritchie 译者:徐宝文 出版社:机械工业出版社
2
参考链接: http://book.douban.com/subject/1139336/ 深入: 《C 和指针》 作者:Kenneth A.Reek 译者:徐波 出版社:人民邮电出版社
参考链接: http://book.douban.com/subject/4311436/ 深入: 《软件调试》 作者:张银奎 出版社:电子工业出版社
13
参考链接: http://book.douban.com/subject/3088353/ 驱动编程 《Programming the Microsoft Windows Driver Model》 作者:Walter Oney 出版社:Microsoft Press
11
参考链接: http://book.douban.com/subject/1231702/ 逆向工程 入门: 《加密与解密》 作者:段钢 出版社:电子工业出版社
参考链接: http://book.douban.com/subject/3091212/ 《IDA Pro 代码破解揭秘》 作者:Dan Kaminsky / Justin Ferguson 译者:看雪论坛翻译小组 出版社:人民邮电出版社
19
中篇:辅助类型及工具介绍
游戏辅助工具的大致分类如下: 1. 通过修改虚拟内存中二进制数据进而实现替换或监控目标程序内存中数值或指令,也即
内存补丁技术,这种技术是用的最多的,象穿越火线曾经的本地改会员,无 CD 换子弹, 升空外挂等就属于此类; 2. 通过 hook 目标程序需要调用的 API 来增强或者修改原始程序动作,通过 hook DirectX 的 一些 API 可以实现一些内存补丁不容易实现的效果,如去除闪光弹效果等,修改网络封 包实际上也是通过 hook 实现的; 3. 通过模拟鼠标键盘来实现的模拟挂,在原来的教程中我曾演示过卡丁车喊话辅助的一种 实现方法就是利用键盘模拟 API 来实现的,此类外挂最方便的还是利用按键精灵的脚本; 4. 模拟发送网络封包或 HTTP 请求实现的外挂功能最强大,脱机外挂和针对如开心农场等 Flash 类型的网页游戏的外挂就属于此类型的,此类和 hook 的不同在于,模拟发包是替 换模块,而 hook 是修改模块; 5. 有部分外挂是利用本机程序或服务器漏洞来实现的,此类外挂对运营商的危害性最大, 2006 年美服的魔兽世界就曾经出现过一周左右的打金漏洞,通过这个漏洞可以作弊得到 双份的金币,这种漏洞的发现要靠运气,技术和耐心; 6. 其他类,还有一些不完全算是上面某类外挂,比如修改存档,当年仙剑四出来的时候就 出来很多修改存档的外挂。
参考链接: http://book.douban.com/subject/1479151/ 其他书籍 《网络游戏安全揭密》 作者:Greg Hoglund / Gary McGraw
18
译者:姚晓光 出版社:机械工业出版社
参考链接: http://book.douban.com/subject/3612076/ 上面罗列的书单并不要求全部读完,很多是作为参考书存在的,实际使用中请参考个人情况 选择。下面我说下上面这些书所承载知识的用途。 对语言类的学习,我罗列了 C 和 Python 语言学习的参考书,前者是进一步学习 Win32 API 和驱动的基础语言,后者是用在 Flash 等网页类游戏的的语言基础。
游戏辅助工具开发教程

历史将会记录在这个社会转型期,却发现,最大的悲哀不是坏人的嚣张,而是好人的过度沉 默。--马丁.路德.金 仅仅因为偶尔说几句实话,我的独立站点和托管博客就不断被国家防火墙和运营商封锁,当 看到李刚事件的结局时,我对这个体系的改变彻底心死了:好人被欺负 ,坏人得嚣张。赶快 攒钱,赶快移民才是正道,否则你的孩子会和你一样仍旧是奴隶。 现在回顾过去写的教程,发现很多不足,所以这次的整理不是简单的 Copy。如果说原来我 试图写成百科全书式的大全教程,那么这次的更新更像一次核心部分的提取(the good part): 把专业的事交给专业的人和书籍去做。 本教程使用的编程语言有 C 和 python,如果你是其他编程语言系的,仍旧可以通过学习到 原理部分。在讲解的过程中,我尽量把原理和实现分开。 本教程分为以下几个部分: 上篇:前置知识及书籍介绍 中篇:辅助类型及工具介绍 下篇:游戏辅助编程实践 附录:深入学习指导 限于本人技术的局限性,教程中如有错误在所难免,因此,请读者朋友“择其善者而从之, 其不善者而改之”。下面开始我们的辅助工具编程学习吧。
3
参考链接: http://book.douban.com/subject/3012360/ 《标准 C 语言实用全书》 作者:Richard Heathfield Lawrence Kirby 等 译者:张晓晖 张晓昕等 出版社:电子工业出版社
参考链接: http://book.douban.com/subject/1091691/ Python 语言 入门: 《Python 核心编程》 作者:[美]Wesley J. Chun(陳仲才) 译者:CPUG 出版社:人民邮电出版社
17
参考链接: http://book.douban.com/subject/1787268/ 《Rootkits:Subverting the Windows Kernel》 作者:Greg Hoglund / Jamie Butler 出版社:Addison-Wesley PrHale Waihona Puke Baidufessional
16
参考链接: http://book.douban.com/subject/3769383/ 深入系统 《深入解析 Windows 操作系统》 作者:Mark Russinovich / David A. Solomon / Alex Ionescu 译者:潘爱民 出版社:电子工业出版社
参考链接: http://book.douban.com/subject/2031396/ 《Undocumented Windows NT》 作者:Prasad Dabak / Sandeep Phadke / Milind Borate 出版社:Hungry Minds
参考链接: http://book.douban.com/subject/1088168/ 深入: 《Windows 核心编程》 作者:Jeffrey Richter / Christophe Nasarre 译者:葛子昂 / 周靖 / 廖敏 出版社:清华大学出版社
10
参考链接: http://book.douban.com/subject/3235659/ 《Win32 多线程程序设计》 作者:Jim Beveridge / Robert Wiener 译者:侯捷 出版社:华中科技大学出版社
参考链接: http://book.douban.com/subject/1417285/
14
《Developing Drivers with the Windows Driver Foundation (Pro Developer)》 作者:Penny Orwick / Guy Smith 出版社:Microsoft Press
8
参考链接: http://book.douban.com/subject/3788437/ 深入: 《Intel 汇编语言程序设计》 作者:欧文 译者:温玉杰 出版社:电子工业出版社
9
参考链接: http://book.douban.com/subject/2250326/ Windows 程序设计 入门: 《Windows 程序设计(珍藏版)》 作者:Charles Petzold 译者:北京博彦科技发展有限公司 出版社:清华大学出版社
12
参考链接: http://book.douban.com/subject/4923181/ 《OllyDBG 入门教程》 作者:CaoCong 出版社:网络版 下载地址: http://ishare.iask.sina.com.cn/f/5182746.html 备选: 《IDA Pro 权威指南》 作者:Chris Eagle 译者:石华耀 段桂菊 出版社:人民邮电出版社
参考链接: http://book.douban.com/subject/2146601/ 《Windows NT File System Internals》 作者:Rajeev Nagar 出版社:OSR Press
参考链接: http://book.douban.com/subject/1499011/
4
参考链接: http://book.douban.com/subject/3112503/ 《Python 网络编程基础》 作者:John Goerzen 译者:莫迟 等 出版社:电子工业出版社
5
参考链接: http://book.douban.com/subject/2152386/ 深入: 《Python 源码解析》 作者:陈儒 出版社:电子工业出版社
--By Figo
1
上篇:前置知识及书籍介绍
在正式开始学习辅助工具的编写之前,我们必须做一些必要的准备工作,因为游戏辅助的编 写需要掌握很多知识,而这些知识任何一部分的深入讲解都不是本教程所可以涵盖的,所以 我会推荐一些书籍来帮助你掌握这些知识。如果不是打算专业从事游戏辅助的工作,学习完 入门部分的书籍即可。同时我会书单中提供一些备选的书籍,这类图书可作为参考。 编程语言部分 C 语言 入门: 《C 语言程序设计》 作者:谭浩强 出版社:清华大学出版社
7
参考链接: http://book.douban.com/subject/1885170/ 汇编语言 入门: 《汇编语言程序设计》 作者:罗源明 / 刘广旋 / 吴向军 出版社:高等教育出版社
参考链接: http://book.douban.com/subject/1130130/ 《Windows 环境下 32 位汇编语言程序设计》 作者:罗云彬 出版社:电子工业出版社
相关文档
最新文档