卓越2008

用一颗谦虚的心面对大家,用一颗坚定的心面对困难,用一颗执著的心面对理想,用一颗虔诚的心面对技术。

导航

给学做嵌入式开发外挂技术的新人一点建议

Posted on 2007-04-24 16:15  Casm  阅读(1193)  评论(1)    收藏  举报
虽然我并不是什么高手,但至少我的提示可以让初学者少绕点弯路,毕竟现在真材实料的外挂资料实在太少缺少系统的归纳和分析,有的网站发布的所谓手把手学做外挂什么的教程都是为了网站点击率而随便写点边脚技术,或者是有的技术已经过于古老现在的外挂技术早就淘汰的技术还在反复讲解。
       现在简单说下所谓的代码嵌入式和直调式技术的特点和工作方式,代码嵌入式一般就是利用HOOK技术把自己的代码注入到游戏客户端程序中同时动态修改游戏部分代码让游戏代码调用我们事先写好的程序代码而实现一定的功能或者获得一定的参数有点类似于HOOKAPI的工作方式。直调式技术,这个叫法是我自己起的名,简单的说它的工作原理就是把游戏的一些分解基本功能函数包装和封装成自己的函数从而达到直接调用游戏客户端代码来获得我们想要的执行结果和参数,比如把游戏的负责发送封包的函数包括它加密部分一起封装成为自己的发包函数就可以不用去破解游戏的加密算法直接发送想要的数据。显而易见使用嵌入式和直调式的技术来制作外挂,是因为这种技术(主要是指直调方式)稳定性高效率性高和隐蔽性强的特点,另外就是可以基本避免去破解封包加密和解密的算法从而缩短开发的周期。费话就不说了下面是我总结的做嵌入式和直调式外挂必须几点要求和建议:

   1.必须精通一门编程语言,个人建议最好是VC或者DELPHI,或者BCB,VB这里我不太推荐,因为VB要实现我所说的代码嵌入和代码直调技术实在太麻烦有的甚至不可能.
   2.必须看得懂汇编语言,这个要求是必须的没有这个前提你就无法做,当然如果有人给你做分析或者解释除外。
   3.必须掌握一种调试工具和反汇编工具还要具有一定的逆向工程方面的知识,这里推荐使用ollydbg和W32Dasm来作为调试工具和反汇编工具。
   4.必须会基本的脱壳技术,比如游戏客户端如果加密加壳了就要先破解才能分析,当然如果你有专门的破解脱壳的人员就不必了。
   5.必须有足够的耐心和信心,因为我认为分析游戏客户端代码是制作外挂的核心和重点,分析不出来就做不出外挂来这是真理,除非你只做模拟按键类的简单功能。
   6.必须熟悉常用的WINDOWS API函数的调用方式还有记住原形态,记不住也不要紧查查SDK就行.因为要分析、使用和封装游戏的一些函数就必须熟悉最基本Windows API函数调用方式及原形。
  7. 编写程序代码一定要规范要有注释必须有良好的整体性,这里举例说下使用DELPHI开发一般把游戏常量或者其它常量定义在一个专门单元里面便于游戏更新时候及时快速更新,当然也要做详细的注释,不然连自己都弄不懂参数的含义了,把游戏函数封装成自己函数最好要定义成一个类比如TCustomFunction,变量名也要符合可读性的要求,这些其实也是开发程序最基本的要求了.
8.如果是多人开发或者是异地开发那么最好使用类似StarTeam2005的代码配置管理平台来开发这样比较规范出错也少。
   说了那么多不知道有没有对新手有点帮助,如果你有什么更好的开发方式或者是技术方式也可以大家一起探讨研究。