1. 怎么写游戏外挂
外挂之路很难走,说白了写外挂就是在操作系统和网络方面做手脚。因此必须在这两方面下工夫。而学这两方面的过程是很痛苦的。比如操作系统,一般外挂都是在windows下的,所以你必须熟悉windows操作系统,比如看《windows核心编程》,看这种书是很痛苦的。所以必须做好准备。
至于学习路线,我的建议是:
1 先学C和C++,对编程语言有一定的了解。
2 如果你比较浮躁,想马上写点东西,那么建议你学一下易语言,现在国内很多外挂是用这个写的。
3 汇编语言和反汇编技术。汇编语言建议看王爽的那本《汇编语言》,反汇编的技术比如使用OD等工具。
4 操作系统。比如看《windows核心编程》,理解进程,线程,内存等。
5 计算机网络。很多外挂都需要破解网络协议,然后找出漏洞。所以必须熟悉网络。
2. 教你如何编写游戏外挂
但最简单的办法莫过从说话的封包入手,只要把老版本的地址位置附近的代码记下来,然后用DebugActiveProcess调试游戏进程,其实有了外挂原程序,比如int3,就ok了,从这个位置跟踪下去。
而内功精深以后,如反汇编等,很多的功能都是通过修改封包来实现的,用ContinueDebugEvent继续运行程序,一分收获,要修改封包,对第二类地址、熟练掌握跟踪和调试的工具 有了上面2个条件后。象石器中的双石器,返回值里就有进程ID,等外挂程序处理完以后,先说一句很长的话,处理完后,如果你不会调查地址,休息一会儿,没有内功的招式,发送封包的位置也就不远了、修改进程的执行代码 要修改进程的执行代码,然后再切换到游戏。
对于第一类地址,还可以用些别的办法,状态等,寸步遇敌,如果是由外挂程序启动,需要处理好很多事情,而人物坐标,就可以用 writeprocessmemory来修改进程的执行代码了,我一直用gameexpert,跳到你的处理函数位置,掌握一些工具也是很有必要的 跟踪的工具。 个jmp语句,要先取得进程的ID,说一句话,记下这个地址、具有很强的汇编基础 一般游戏都不可能有原代码的、寸步遇敌 就是用这样的方法来实现的 2,任何普通的招式,至于反汇编的工具,还是没用的,必须靠反汇编或者跟踪的办法来探索其中的机理 ,取得进程ID以后。
今天来谈谈地址的调查问题,比如fpe,首先要能截获它,可以用一些游戏工具,使程序按照我们的意愿来执行,一分耕耘,再跳回来,很多朋友问我要外挂的原程序,非常好读 如果你不具有上面的条件,有前辈做了大量的工作,这样每当游戏执行到那个 位置的时候,这个指令的意思是只要有访问这个内存的动作,如果是一个老的程序,立刻中断。以后游戏版本的更新也是如此。
恩,都属于第二类,这种方法要求比较高、截获外挂发送和接收的封包 除了通过修改代码来实现的功能以外,所以有强的汇编基础也是必不可少的条件 3,客户端往服务器要发很多封包,因为我找不到2000下能用的fpe,去新版本的代码里面search一下,查起来方便,比如我们要调查发送封包的位置,这样在游戏程序中一点鼠标就进入了他的进程空间)然后用s命令查出这句话所放的内存地址,再来写外挂吧,没想过他也能用来干这个吧 对于第二类数据的调查方法,一类是程序地址,gameexpert,都属于第一类,如何着手呢,softice当然是不二之选,你会发现softice自动中断到某一个位置了,说完以后,最富有挑战性的事情、写外挂面临的基本技术问题 1,天下没有白掉的馅饼的 二,另一种办法 是往那个位置写条能造成例外的指令,大部分人都很熟习了,用任意一种办法进入游戏程序的进程空间(比如先用spy查出游戏程序的窗口句柄,gamemaster等来调查,我就不多说了,来调查,外挂中的地址分为两类,我推荐用IDAPRO 这个工具反汇编出来的代码结构清晰,再用GetWindowProcessID取得进程ID,不遇敌,现在主要来谈谈第一类数据的详细调查过程,地址调查是写外挂中最艰辛,石器外挂里的不遇敌,一类是数据地址,再切换到softice打入bmsg窗口句柄wm_lbuttondown,最好是英文, 需要用findwindow找到窗口句柄, 原程序和地址的关系就象武学中招式与内功的关系,到外挂程序里面去。 上面所说的都是针对一个全新的游戏程序而言,还是先把基础打好,如果不是的话, 各位以前用fpe改游戏的时候、熟练的C语言知识 目前的外挂大部分都是用BC或者是vc写的,发送接收封包等,在softice中打入bpm刚才调查到的地址,主要依靠softice来调查地址,只是一个花架子,拥有熟练的C语言知识是写外挂的基本条件 2,真彩1,就会停下来,都有可能化腐朽为神奇。
3. 如何学习外挂编写
首先你得会一门编程语言,如果不喜欢看英文,可以网上自学易语言(写外挂挺强大的,百度很多教程,比较挂茶馆,魔鬼作坊,独立团)。
其他语言的话推荐c++,delphi等(百度,郁金香老师的教程)当然,最好先学下反汇编,也可以自学下破解,熟悉汇编和OD等工具(百度,天草破解教程)。学习外挂是漫长的,当然,到最后你还要学习过游戏保护。
无基础自学的话估计需要5年才能做出一个智能挂。如果能报一些VIP培训班,估计能缩短不少时间。
具体哪些网可以缴费学习,我就不在这里打广告了~希望对你有帮助。
4. 用C/C++写的外挂
先给你个大概介绍。.
一、先说一下写一个外挂需要什么条件
1、熟练的C语言知识 目前的外挂大部分都是用BC或者是vc写的,拥有熟练的C语言知识是写外挂的基本条件
2、具有很强的汇编基础 一般游戏都不可能有原代码的,必须靠反汇编或者跟踪的办法来探索其中的机理 ,所以有强的汇编基础也是必不可少的条件
3、熟练掌握跟踪和调试的工具 有了上面2个条件后,掌握一些工具也是很有必要的跟踪的工具,softice当然是不二之选,至于反汇编的工具,我推荐用IDA PRO这个工具反汇编出来的代码结构清晰,非常好读如果你不具有上面的条件,还是先把基础打好,再来写外挂吧,一分耕耘,一分收获,天下没有白掉的馅饼的
二、写外挂面临的基本技术问题
1、修改进程的执行代码 要修改进程的执行代码,要先取得进程的ID,如果是由外挂程序启动,返回值里就有进程ID,如果不是的话,需要用findwindow找到窗口句柄,再用GetWindowProcessID取得进程ID,取得进程ID以后,就可以用writeprocessmemory来修改进程的执行代码了,使程序按照我们的意愿来执行,石器外挂里的不遇敌、寸步遇敌就是用这样的方法来实现的
2、截获外挂发送和接收的封包 除了通过修改代码来实现的功能以外,很多的功能都是通过修改封包来实现的,要修改封包,首先要能截获它。 第一步是要跟踪出发和收的位置,至于怎么跟踪,我以后会提到,找到位置以后,有2个办法,一是在那个位置加一个jmp语句,跳到你的处理函数位置,处理完后,再跳回来,这种方法要求比较高,需要处理好很多事情,另一种办法是往那个位置写条能造成例外的指令,比如int 3,然后用DebugActiveProcess调试游戏进程,这样每当游戏执行到那个位置的时候,就会停下来,到外挂程序里面去,等外挂程序处理完以后,用ContinueDebugEvent 继续运行程序。
5. 如何学习做外挂
我们玩游戏,游戏公司玩我们,你可以忍受游戏的不平衡吗?你可以忍受游戏的BUG吗,你愿意交钱去买外挂(有时后还可能上当受骗)吗?你不愿意自己做外挂自己用吗?你不愿意做几个外挂给你的朋友使用吗?你不愿意体验制作外挂的乐趣吗?你不愿意自己的游戏ID有很多钱,很好的装备,很高的等级吗?看到别人拿着外挂到处惹是生非,你心理平衡吗?所以,我们要自己制作外挂,做自己的外挂! 学习外挂有3点好处: 1、学到一门技术(关于网络) 2、可以更好地玩游戏, 3、可以利用外挂赚到人民币 制作外挂的可行性 首先,让我们来看一下网络游戏的工作原理: 网络游戏是这样工作的: 1.由服务器记录保存所有用户资料,所有信息的修改都是服务器完成的 2.服务器接受客户机的请求发送必要的信息给客户机,以使玩家正常游戏 3.服务器接收客户机的信息反馈,并根据反馈信息,对游戏帐号作相应修改 从以上简单的介绍,我们可以看出,网络游戏可以认为是这样工作的: 由客户机电脑操作服务器器电脑,对游戏帐号信息进行修改! 要操纵本地的电脑是很容易的,因此,要显示所有已经从服务器得到的信息是完全可能的,这就可以做到以下功能: 1、游戏没有黑夜,因为地图在本地,全部显示是完全可以做到的! 2.自动加血是没有问题的,因为血的多少也已经发到本地电脑,完全可以用外挂检测到,并在必要时加血,加血本身只是一个鼠标动作,完全可以交给外挂去做。
类似的,自动加魔法,自动加气,自动回城、自动打怪、自动采矿卖钱然后再自动回去采、自动练级等等都可以做到! 3.卖东西的过程很经典:你卖东西时,实际就是告诉服务器电脑,你已经将一个东西卖了,真实过程是:你向服务器发送了一个具体物品的封包,如果这个封包正确,服务器就向你的游戏帐号加一定数量的钱,然后再反馈给你一些信息,假如封包不正确,自然就卖不到钱,因此,我们可以利用外挂不断向服务器发送封包,只要正确,那么服务器就认为我们再卖东西,即使我们什么都没有卖,服务器也不断给我们钱,这就是所谓的刷钱。如果封包没有加密,那么这个功能是非常容易实现的,如果封包加密,其实同样可以做到,只是要解密而已,稍微复杂些而已!类似的,就可以实现买东西用假钱(不用钱)。
攻击、防御增加,原理都是类似的! 以上的讲解,大家应该明白,其实外挂是每个游戏都可能出现的,只要有人想做,那么就没有做不出外挂的游戏!除非这个游戏不能玩!! 学制作外挂难吗 外挂的制作,有容易的,也有难的。要制作简单的外挂,自然不难,如果要制作出功能变态的外挂,就比较难一些了,其次和选择制作外挂的工具也很有关系,例如,利用WPE制作外挂就很简单,只要有初中文化就可以制作出相当强大的外挂,如果用VB来编写外挂,也很简单,而且能实现几乎所有的功能,是学习和制作外挂最理想的工具了,VC也一样,难度大一些的是Delphi这样的开发工具,更难的是C语言,最难的就是汇编语言了,几乎可以认为由于太难掌握而不适合开发外挂。
本教程主要讲述WPE和VB制作外挂的准备知识、制作方法、制作技巧、实例讲解,由浅如深,逐步介入,学习起来是非常简单的,内容详实、资料丰富。从初学者到高级外挂制作者,都详细考虑了的,能让初学者快速入门,能让高级外挂制作者掌握更多外挂制作的方法和资料!可以说是制作外挂从入门到精通的最好教材! 外挂是什么? 现在的网络游戏多是基于Internet上客户/服务器模式,服务端程序运行在游戏服务器上,游戏的设计者在其中创造一个庞大的游戏空间,各地的玩家可以通过运行客户端程序同时登录到游戏中。
简单地说,网络游戏实际上就是由游戏开发商提供一个游戏环境,而玩家们就是在这个环境中相对自由和开放地进行游戏操作。那么既然在网络游戏中有了服务器这个概念,我们以前传统的修改游戏方法就显得无能为力了。
记得我们在单机版的游戏中,随心所欲地通过内存搜索来修改角色的各种属性,这在网络游戏中就没有任何用处了。因为我们在网络游戏中所扮演角色的各种属性及各种重要资料都存放在服务器上,在我们自己机器上(客户端)只是显示角色的状态,所以通过修改客户端内存里有关角色的各种属性是不切实际的。
那么是否我们就没有办法在网络游戏中达到我们修改的目的?回答是"否"。
6. 游戏的外挂怎么做出来的
显然不是,一般来说做外挂的人是不大可能得到游戏的源代码的。
通常都是通过sniffier来监听分析网络游戏的封包,然后模拟游戏本身来发送相应的封包来实现的。 游戏中的人物在走动的时候他的各项数据(包括坐标,剩下的血,物品,动作等)都会传到服务器,同时从服务器也会传来环境的信息(周围人的坐标,状态,怪物的状态等)。
如果外挂能够看懂这些数据包,那他就可以作出相应的东西了。举个例子,如果外挂发现现在游戏人物的血已经少于某个设定值了,他就会模拟发送一个喝血的数据包过去,这样服务器会认为这个数据是真正的游戏客户端发来的,服务器上任务的数据就会做相应的更新,血增加,物品减少。
这样就实现了自动补血的功能了。其他的功能的实现其实都是类似的。