网站大量收购闲置独家精品文档,联系QQ:2885784924

外挂制作入门之封包解密.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
外挂制作入门之封包解密 灌篮高手( NBA2k9版 )~绝对倾情制作!~~不看可惜!~~ 熟悉的街头篮球 警告~ 不要发外挂的东西 否则~~~~~~~~ 4月6号。测试可用外挂~~~~~~~~~~!~~!~!~!~~!~~!~!!~~! 最新街头篮球外挂 经过42款杀毒软件测试~~~~~~~~~~~~~~!!! 今日可用外挂~~~~~~~带图测试 发贴太少,居然还是新手。。。汗。。 我从2000开始制作外挂,这些年也写过几个商业外挂。仍然穷得一塌糊涂,可能是水平不够 吧。在我决定洗手不干的时候,朋友让我写点东西。但是天生就很懒,后天又没有改造得好, 写到哪里算哪里吧。 论坛上的老鸟们应该都是潜水的多吧。大家都不说,呵呵,我来。经验之谈,欢迎讨论。 一、必备知识 外挂制作牵涉的知识面比较广,大体说来需要如下的知识: 1、汇编语言。 这可能是入门的时候比较难过的一关。要能读懂汇编语言,这个并不太容易,如果你是在校的学生,那么可能会相对容易点。读汇编语言的时候,单行代码是很容易懂的,反汇编出来的都是助记符,如Mov ,Add,Push,Pop等等,但是要读懂这些代码组成的序列却并不容易,需要长期的积累,对一些特殊用途的代码更是如此(例如PE加壳的代码)。回想我本人的入门经历(以前制作外挂,不像现在能找到一些DEMO),读懂汇编代码首先从堆栈入手,应该是比较快的。WINDOWS下的函数调用基本上都是stdcall调用约定(少数API也使用C调用约定),对外挂制作者来说,这种约定意味着两点: 1)、参数使用堆栈传递。 就是常见的 Push Ebp Mov Ebp,Esp Sub Esp,XXh 对不同的编译器,这里的构造可能不同,如VC通常用ECX传递对象指针,而Delphi是用 EAX 2)、堆栈平衡由被调用的函数负责。一个函数的返回代码通常是 retn XXh,这就是修正堆栈 如果熟悉 之后就能从这些特征大概估算函数使用的参数个数,结合少两代码可判断参数的类型。 2、调试 调试包含了两个方面的内容:调试自己的程序和跟踪游戏的代码。你可以使用常见的调试工具,WIN2K推荐使用OD和SICE,WIN98推荐使用TRW2000。 可能会有人认为调试自己的代码会很简单,不值一提,但是,以我本人的经验,写外挂通常都式由一个人来完成,多人反而弊大于利,这也是我比较困惑的地方。外挂代码往往对逻辑性的要求较高,要看懂别人的外挂代码并不容易,至少我认为是这样,这种情况下,我一般会选择使用代码中的必须部分,而程序的逻辑则自己重新组织。另外,由于编译器本身的BUG或者写代码时的疏忽,随着代码量的增加往往会导致崩溃,要写出稳定的、兼容各种CPU和操作系统平台的外挂代码,除了了解操作系统之外,调试技巧也很重要。在很多游戏的代码里我们经常能看到用OutDebugString的调试信息输出,尽管这可能导致被破解的可能性增加,但是不可否认这是个好的习惯,在外挂制作的过程中也可以使用这种方式,但在要分Debug版本和Release版本。也许你有更好的解决方式,呵呵,这里的主要目的是提醒你注意而已。 跟踪游戏的代码。这可能是写外挂的过程中使用最多的一种手段。当然,首先你要能读懂ASM代码,并且需要你绕过游戏中的反跟踪技巧。跟踪的目的,一般是获取游戏中某段代码的关键信息,如加密和解密算法。至于其他的目的,由于不具备共同点,很难描述,就不谈了,这里讲一下如何调试游戏的加密和解密算法: 游戏的加密和解密通常是在send函数的前面,看个例子: 在IDA中是这样: BRAT0:0046EEA0 SendACommand proc near ; CODE XREF: SendCommandBC3+40 p BRAT0:0046EEA0 BRAT0:0046EEA0 PointerToCmd = dword ptr 4 BRAT0:0046EEA0 DataBuf = dword ptr 8 BRAT0:0046EEA0 BRAT0:0046EEA0 mov eax, [esp+PointerToCmd] BRAT0:0046EEA4 push ebx BRAT0:0046EEA5 push esi BRAT0:0046EEA6 mov esi, ecx BRAT

文档评论(0)

185****7617 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档