为什么我的电脑不能加载插件下载的DNF外挂,插件都不能用??

为什么在网吧能用dnf外挂自己的电脑不行
我在猴岛搜的网挂美美在网吧用着很正常但是在我自己的电脑总是出现TX错误怎么也用不成求高手看看怎么回事
09-10-12 &匿名提问
被禁了,找网管,被禁了,找网管,,被禁了,找网管,,被禁了,找网管,,被禁了,找网管,,被禁了,找网管,,被禁了,找网管,,被禁了,找网管,,被禁了,找网管,,被禁了,找网管,,被禁了,找网管,,被禁了,找网管,
请登录后再发表评论!游戏外挂编程如何系统学习?
我是零基础,我有大把的时间,可以全身心的扑在上面。我要从什么语言开始,然后再循序渐进的到其他语言。谢谢各位先。
我也来简单回答一下题主。首先, 外挂是一门很大很注重实践的一门技术大类。在这个技术大类之下还分很多小类。一般来说分逆向,编写逻辑 这2方面所谓逆向,也就是分析游戏的客户端,寻找相关功能的函数而编写逻辑,如掉线重登,自动打怪,自动吃药 之类等等等。但是实际上, 写一个挂,远远不止上述的2方面比如说还要过游戏的保护,这个需要运用Window内核的知识。以前的大神写挂都是单独一人完成的,这个需要懂的内容非常非常多。我列举一下成为一个全能大神所需的知识:首先,汇编的基础知识必须过硬,有良好的逆向经验。了解常用的数据结构(因为游戏的背包或者怪物之类的多用二叉树或者数组, 连基本的数据结构都不懂……那玩个蛋)了解API,R3(Native API),R0(内核),Socket。熟悉一门编程语言(只会汇编也可以)如果你能把上述的学精,就有成为大神(外挂类)的潜质。 -------------------------写着写着突然不想写了,以后再补充吧--------------------------------------竟然有人评论……那我继续写了。如果是对编译原理比较了解的基友,应该就知道。一个静态函数是一个固定的CALL,一个struct的结构内容都是用偏移可以算出来所有成员的。所以逆向游戏客户端,分析出游戏中的某些功能函数的地址,再加以分析出所传递的参数,模拟调用。这样一个简单的功能就完成了。当然,这中间还牵扯到其他不少的东西, 比如说必须熟悉结构,举个栗子:当你看到一个参数他的内存形式如下:0x111100x1111100x11114这样的玩意,就很快可以联想到这是一个数组,还是一个vector。这些除了要有逆向的功底以外,还需要有“逆向游戏的经验”, 因为游戏的参数都那德行,万变不离其宗。除此之外, 游戏现在都有防多开的干涉。在不谈驱动保护的前提下, 你需要熟悉Window的工作机制,特别是互斥的工作原理,当然,现在游戏保护不止是互斥判断多开,比如说进程路径重复,类名,窗口名,互斥,内存映射,判断文件是否存在等等之类的……所以你至少要把那本Window核心编程给看熟。这方面的书籍, 我也没有太多的介绍, 现在有不少人是熟悉逆向,而不会过多的编程的“外挂作者”。 他们都并非靠对编译原理的理解去逆向游戏数据,而且靠“经验”去逆向游戏数据。总的来说,我看他们都是在网上找教程看下,再加以练习,就能达到这个水准了。那么接下来再讲讲编程这块。因为需要稳定不需要过多的人工量去看的挂机,所以你需要写得非常“智能”,简化操作流程,还要把角色的伤害跟玩家相提并论, 此过程听起来很简单, 操作起来非常麻烦。首先多线程你要懂吧? 比如说你必须无时无刻都在判断人物Hp低于某个程度就得啃药了吧?总不能每写一句代码就写if判断一次血量吧?还有某些全局数组或者vector之类的多线程操作,比较基础的互斥啊,临界区之类的你要用吧?总而言之,多线程这块就是麻烦!这类书籍我也就不班门弄斧了,想必各种大神的推荐应该更有力。接下去还需要懂Native API。 就是俗称的R3. 亦是巨硬没公开的API, 需要用这层去隐藏自己的DLL,防止游戏的检测。 还有多开之类的,一般都在这层完成的。你需要懂一点PE文件格式,把大部分的Native API的运行方法,调用方式给弄懂。还需要懂Socket网络编程.因为 你需要怎么“验证”自己,达到给工作室收费的目的,还有你需要怎么“验证”自己,达到防止被别人破解的目的当然,牵扯到socket了,我是看了,会socket的,大部分都会数据库操作的。要嘛是MSSQL,要嘛是MySQL。 这个方便查询和管理。(这个数据库对写挂木有硬性要求)socket无非就是粘包之类的,超时之类的判断。 赶脚不需要学到很深。当然,如果你还要弄脱机挂,底层的TCP协议是必须会的。还有加密和解密算法得杠杠的,逆向功底也要杠杠的。我想下,编程这块应该就剩下个脚本了吧? 会一门脚本语言这个应该很easy。还有应该懂一点算法, 比如说A*, dijkstra,之类的。剩下就是Window内核了,就是俗称的R0,驱动层。……就先写到这里了……以后想多了再补充。------------------8.24号更新--------------------------------有兄台问: 为何要精通汇编……这……难道还有游戏的源码供你调试? 在木有游戏的源码下,只能看汇编……有兄台问:现在外挂的行情如何:我只能说, 没几年前那么好赚了, 几年前在DNF大火的时候,养了一大批中国的外挂作者和工作室。 但是现在的游戏,防得越来越严了。新人最难的就是入门, 而真正赚钱的东西,都被各家的前辈捂得严严实实的。哪怕你是一个编程高手,逆向高手。 当你真正写出一个挂的时候,会发现,玛德被封号了。 为何不稳定? 5分钟掉一次线? 为何总是跟不上工作室的需求, 不知道弄什么功能出来才是工作室所需的,而工作室本身就不是很懂技术,说的东西总是含糊其词的…… 恨不得直接可以刷软妹币到他们的口袋。这个行业很讲经验, 对付封号的经验,跟工作室配合的经验,熟悉游戏的经验, 怎么才能用最短的时间,写出工作室最需要的功能。 顺便一提, 就是这些经验,都是需要时间的日积月累。 然而新人入门都倒在了这个门槛上,很少有人能够坚持个几年去不断摸索学习。当然现在也有很多写挂的教程视频,请允许我对这种视频说一句:然并卵!真正赚到钱的作者,根本不会去在乎那点小钱,也不会拿这种共享的心态去分享这些经验,这些经验对于他们来说就是收入,他们公开了这些经验,很多人知道,就意味着很多游戏公司的反外挂部门也知道, 那就是打破自己的饭碗。 知乎很多大神,有很多反外挂的大神,也有很多写挂的大神都混在这里(所以我才匿名,免得被认出来)很多人进这行1年都能赚百万,有人5年都赚不到10万。 总是有高有低,有起有落的。就如同在国家严打黑客前,当年的***盗号,入侵教程如春笋般在各种网站上公开叫卖, 肆意挥霍的年代, 很多大神就是从那个(相对于现在这个年代的环境已经是超级好了)年代成长起来,以前是年代也是“相对”比较单纯,现在学渗透,不如以前的学习环境好, 但是长江后浪推前浪,后浪死在沙滩上,依然有人在这种国家要严打的环境下 还是成长到媲美 上一代大神的境界。最后给各位读者一句衷心的劝言:没有一颗沉得住寂寞的心,不要轻易进这个行业没有一颗2年都赚不到钱的觉悟,不要轻易进这个行业没有一颗坚强的心(偷摸拐骗在这个行业处处可见),不要轻易进这个行业我也比较认同楼下的说法, :技术的成长路线 全看个人,虽然这条路很偏,这门技术在“正统”的领域中,很少有用得上的。最后总结一下这门技术, 是非常注重“实践”和“调试”,如果想增强一下对语言底层的理解,逻辑思维的增强,调试功底, 可以稍微浅入这个领域去学习一下。特别是调试功底~! 在木有源码,无法调试的情况下,甚至在不知道,出错是你的锅,还是游戏的锅。不知道为何运行一段时间崩溃后,疯狂查日志的寂寞。这个行业 也确实是比较“浮躁”的一个行业,功利心很强, 大家都是向着利益看齐。因为利益而解散的写挂团队我也见过太多了。 可以这么说,写挂团队解散有60%是赚不到钱,35%是利益纷争,5%是其他原因。---------先写到这里,虽然木有大神在行业混了8年的经验,也曾呆过这个行业一段时间,比较了解。 也很乐意分享各种见闻(经验分享我就不说了:毕竟这是灰色产业,明目张胆的说,会坑爹的。)-------------------------------------------------------------------------------------------------嘿嘿, 好长时间没来更新了, 发现挺多赞的。
那就再更一发。老夫来说一下, 如果要完成一个“完整的工作室内存外挂”, 需要什么功能, 需要哪些技术。首先:老夫只拿我自己做过的例子来举例, 不代表其他人的做法也是一样第一步: 写一个控制台。 我是用C#来写(MFC太烂了, 又长又臭。), 方便工作室操作, 一般是存放帐号,还有操作一些配置文件(比如说设置低于%? 就吃药, 设置了收货【邮件或者交易】角色名之类等等诸如此类)。 为了防止别人认出来, 就不丢图了。 老夫找一张类似的图片基本就做这个玩意。 大部分都是读取配置文件, 做一些界面交互的功能。 写好List。 和一些界面操作之类的。基本就是dataGridview操作, StreamReader, StreamWriter, 各种拖拉控件。 完事。第二步:然后老夫会用cpp写一个DLL。 用来跟C#的界面交互。 利用内存共享来和游戏的DLL交互信息. 基本这个就用到内存共享, CreateFileMapping, MapViewOfFile, OpenProcess, 诸如此类。
然后基本就是各种判断, 比如说掉线呐, 超时呐, 状态呐。 还有对在线帐号做各种判断操作, 比如说刷完 的角色要保存日志, 该删的删, 该留的留。 还要做登录初始化处理之类的。 第三步:写注入(基本都有现成的, 为了流程规范! 还是单独列出来好了。 OOP思想已经祸害了老夫了)一般常用的注入很多, 比如说APC注入,输入法注入, DLL劫持。 OEP改入口。 远线程注入。 无模块注入(一般是申请一块内存, 然后把整个DLL复制过去。 修复导入表,重定位后,加载dllmain), 还有驱动级的一大堆就不一一细说了。
注入方法五花八门,不管是哪种方法, 只要有效, 能防止游戏检测到,又可以用。 那就是一个成功的注入。第四步:逆向游戏功能(其实这个才是第二步,注入是第一步)这里也分2种, 一种是先找遍历, 一种是先找发包//找游戏的明文发包, 这个可以大概说一下, 因为一般来说, 建立tcp连接, 都是需要connect, 然后send 或者 recv之类的。但是一般来说, 基本都是send都是经过单次或者多次加密后的密文封包, 所以并没有太大意思, 有些甚至是搞了多线程, 一个线程检查一个全局队列之类的然后send, 另一个线程负责push。
比如说基三就是这样干的!当然往上回溯之类的现在已经不怎么好用了。
这里面的篇幅太长太长了, 就不一一细说了, 因为里面还有很多小技巧的东西, 很多关于经验, 感觉之类的事。//遍历一般是指, 周围怪物, Npc, 技能, 背包, UI之类的。 从林林种种的数据结构中, 找到自己想要的数据。 比如说怪物是用树状结构保存的, 但是每一个CMonster 都是一个超级大的结构。 他里面还包含了很多类,结构, 也可能继承了N个类, 也有N个指针,N个虚函数。很多我们都是不需要的, 所以需要一一细分, 比如说, 只要怪物HP,MP, 角度, 坐标,之类的。 像怪物的形状, 外形, 颜色之类的,我们根本不care!// 然后就可以和明文发包结合了。
举个栗子, 使用技能函数无法就是static UseSkill(dwSkillId, dwTargetId){send(............)}所以你找到你明文发包的CALL。
那么你只需要在CALL头部下一个断点即可。 基本内容就是只要SkillId和TargetId, 比如说卖, 也一般就只有NpcId, ItemId, Count之类的。 游戏不一样, 可能做法不一样。从这一步, 可以实现相当多的功能, 比如说自身的HP&? 就使用物品。可以实现自动打怪,捡物, 做任务之类的………………这一步其实需要的功能很复杂, 但是技术含量我认为并不高。
时间做久了, 就是写业务逻辑的事。第五步:就应该来到脚本这块了。 如果是用lua写脚本的话。 那基本就是封装几个函数的事。 比如说交任务, 接任务, Move, Npc对话之类的。 反正大部分游戏不都那个尿性嘛?整天跑来跑去, 跟几个Npc对对话, 虐虐小怪, 跟Npc美女谈笑风生。这块就是体力活了。第六步:把控制台, 控制台DLL, 游戏DLL结合起来。 比如说血量控制呐, 超时判断呐, 怪物过滤表之类的要与控制台交互起来。第七步:socket, 要给工作室写收费系统。
这一步工作量也不少。
前面几步是跟游戏斗智斗力, 这一步是跟破解者斗智斗力, 比如说有很多阴险的检测. 什么删系统, 格式化之类的。
第八步:基本这一步就可以到封号的步骤了,
以前游戏封号五花八门, 也有很多规则可循的。比如说某个区域就检测加速, 某个时间段就检测一次。 检测到就晾个几天再把你封号。 还有CRC校验代码段, 上传DLL, 按键检测, API检测………………我说几个例子, 某游戏, 就在检测你模拟鼠标, 比如说正常人的鼠标, 是有轨迹的移动过去的。 他就给你检测你的鼠标是否“瞬移”出现在某处, 还有键盘的按下和弹起时间, 太快了要遭殃!(这种都有权值的, 大意就是分数。 超过及格线, 基本就晾个几天就必封了!)比如说还有堆栈回溯, 查看调用CALL是否在本模块中………………据说TX跟暴雪 学了一个新招, 做一个Loader加载器。
然后随机从服务器下载一段shellcode。 然后运行这段代码, 把结果返回给服务器。
本地毫无痕迹! 而且下载回来的代码全部是vm混淆过的。咳咳, 里面还有各种奇招, 就不一一阐述了!回头一想, 也发现漏了很多步骤, 比如说TX的就有TP保护。 盛大网易的有HS和NP保护。 所以还需要驱动层说。 比如说TP是DebugPort清0之类的。 NP老版本可以解密配置文件剥离。
还有重载内核, 用VT, 自己重写异常处理之类的一大堆手段可以过保护。也有游戏多开没说, 还有隐藏自身这块也没说……发现写了N多了。 就先说到这里了。
有空下次再更新!赞多了再更!------------------------------------------------------------------长夜漫漫, 无心睡眠。 那就来更一发吧!这次直接上教程和代码(用TX的某游戏来演示, 只进行技术研究, 禁止用于非法用途! )祭出CE!
开始从人物HP下手祭出CE!
开始从人物HP下手开始找小怪攻击自己来掉血找到了!找到了!索引第0,1,3个是当前HP
2,4是MAXHP接下来打开OD! (怎么附加进程这里略过……这个又可以说一个一本书那么厚的文章的如何对抗TP反调试)0x2E70=11888(因为已经回满血了) 0x2E70=11888(因为已经回满血了) 下一个硬件访问断点!下一个硬件访问断点!004705E1
8B87 C0000000
MOV EAX,DWORD PTR DS:[EDI+C0]
从这句代码可以看出, 这个角色当前HP 是 EDI + 0xC0.那么你可以猜EDI就是当前人物角色指针.那么我们继续回溯这个指针是怎么来的!那么我们继续回溯这个指针是怎么来的!
MOV EDI,DWORD PTR DS:[EAX+80]
继续往上翻。 就可以得出人物血量= [[[11B0A9C]+34]+80]+0C0继续往上翻。 就可以得出人物血量= [[[11B0A9C]+34]+80]+0C0这里11B0A9C 是一个全局静态类这里11B0A9C 是一个全局静态类如果对C++这块稍微有点了解的就知道了。 这种情况不过是类里面有类/结构 变量/指针比如说class CBns2
...........
struct strcut1
class CBns1
CBns2 CBns2_;
strcut1 strcut1_;
CBns2* pCBns2_;
strcut1* pstrcut1_;
当然也不一定是这样的。 推测罢了。// 注意, 这里的11B0A9C 是静态指针, 一般来说是不会变的。 如果会变的。 他有可能是属于DLL的全局指针, 因为win7有地址随机。 所以不能这样直接写。暂时先说这个情况// 把DLL注入到游戏的情况下, 否则只能用OpenProcess + ReadProcMemory的方式读取然后就可以写代码来实时获取人物血量了! DWORD ReadDWORD(_In_ DWORD dwAddr)
DWORD dwValue = 0;
if (!IsBadCodePtr(FARPROC(dwAddr)))
dwValue = *(DWORD*)dwAddr;
return dwValue;
DWORD WINAPI _WorkThread(LPVOID lpParm)
while (true)
DWORD dwHp = ReadDWORD(ReadDWORD(ReadDWORD(ReadDWORD(0x11B0A9C) + 0x34) + 0x80) + 0xC0);
::Sleep(100);
这里就可以获取到人物HP了! MAXHP略过, 方法同上!接下去就可以继续逆向游戏功能比如说要做一个吃药的功能。 当HP & %50的时候, 就自动吃药. 伪代码如下while(true){
::Sleep(100);
if(GetPercentHp() & 50 && ExistItem(回血道具) && GetItemCD(回血道具) == 0)
UseItem(回血道具)}……不知不觉已经凌晨2点了。 下次有机会再把上面的逆向和代码写完。记得点赞!///////////////////////////////////////////////////////////////////////////////////////继续更!接下来做找明文发包CALL。 一般游戏处理是 明文打包-&加密包-&send过程略……发包就在这里啃一瓶药. 下断点!从调用堆栈可以看到调用的函数地址从调用堆栈可以看到调用的函数地址然后一个一个分析参数。 然后一个一个分析参数。 首先逆向游戏是需要先对游戏的数据结构有一定了解才能模拟调用。 比如说这里的PUSH 30CALL 00CDF02E就是申请 0x30大小的内存大小嘛然后从这一层可以看到代码大概如下, 只要把0x30的参数按原来的形式填进去, 就能send然后从这一层可以看到代码大概如下, 只要把0x30的参数按原来的形式填进去, 就能send那个10002从其他地方分析(略)可以得出, 1是指背包位置, 最后一个2是指类型。 2是指背包.所以如果背包第二个物品就是20002, 背包第三个物品就是30002.EAX && 0x10就是获取背包位置申请的内存是MOV ESI,EAX. 所以MOV WORD PTR DS:[ESI+10],AX就是*(WORD*)(ESI + 0x10) = 背包位置;然后接下去看看别的参数先将申请的内存清0先将申请的内存清0可以看出来这个0x30大小的数组内容是这些. 可以看出来这个0x30大小的数组内容是这些. 基本上就是0x10是填物品位置。然后0x28和0x2C填0xFFFFFFFF然后干货就是0x18,0x1C,0x20了然后接下去继续返回上一层继续找EBX的来源会发现他其实就是[[[11F57AC]+34]+80]所以*(DWORD*)(ESI + 0x18) = [[[[11F57AC]+34]+80]+8]*(DWORD*)(ESI + 0x1C) = [[[[11F57AC]+34]+80]+C]至于0x29嘛, 刚刚准备写的时候发现算了。 就写到这里啦。 算了。 就写到这里啦。 感觉下次得上欧美服或者韩服去才行。 国服真是越来越难调试了。// by 7.29想要我私信的自己先想好问什么问题好嘛?前面一大堆人我都私信过了, 结果一大堆都是连问问题都问不清的人, 剩下的一堆就是无视了我的私信。最后还有1个想让我教他的,我也教了差不多2个星期。 结果两天打渔三天晒网. 劝各位一句:只要是学编程相关的, 自认不是天才的情况下, 还是老老实实每天敲8个小时代码(看书), 不然你这样学到30岁都不知道能不能学有所成。// by 8.13我挺可以分享行业见闻的, 但是不代表也可以分享我个人的隐私, 跟其他人交流过经常都问你赚了多少钱, 搞了哪些游戏之类的……等等诸如此类的问题, 我拒绝回答敏感性的问题!// by 8.17论如何修改魔兽3的攻击为混乱攻击, 护甲是神圣护甲改成改成0x1:在做之前要想好'切入点',
就是游戏在哪会调用到攻击类型这个玩意呢?比如说可以在使用技能(包括普通攻击)之后, 造成伤害之前是需要获取的。但是也不好入手, 因为使用技能的判断太多了, 不好区分。又或者说。 可以这样!把鼠标放到攻击上面, 他'应该'会获取当前的攻击类型,然后转换成Text -& Update 到界面把鼠标放到攻击上面, 他'应该'会获取当前的攻击类型,然后转换成Text -& Update 到界面, 好, 接下去就试试这招!………………但是在获取这个攻击类型之前, 还要获取一个东西, 就是获取该英雄的Object.如何在茫茫人海里面把该英雄找出来, 因为每一个英雄都有自己的攻击种类, 所以第一件事就是要找到自身的Object指针!从人物HP入手, 买点装备丢装备来达到人物HP不断变化的目的. 最终找到了一个是HP一个是MAXHP一个是HP一个是MAXHP随便掉点血就知道第一个是HP, 第二个是MAXHP.附加OD, 在HP下访问断点看上一层, 023C8C1B
edi, dword ptr [esi+248]
ESI就是人物指针. 往上回溯, 看下ESI是怎么传递的一直翻啊翻, 翻到函数头了ESI=ECX. 一般ECX或者ESI传递的, 都是this指针, 就是类指针.ESI=ECX. 一般ECX或者ESI传递的, 都是this指针, 就是类指针.比如说 Class::AAA() 里面默认有一个参数传递this指针. 汇编自动生成, 但是代码省略.同理, 顺便做个记号, 因为你总不可能记0x????? 老夫记忆力不行.同理, 顺便做个记号, 因为你总不可能记0x????? 老夫记忆力不行.继续回溯!继续回溯!函数头继续回溯继续回溯发现了这样! 很明显就是一个递归嘛!先不管这个递归, 直接先找到上一层, 因为如果你一直卡在这个递归里面, 万一你上一层也是N个递归或者说是一条死路呢? 所以你得先寻找到根源, 再做详细分析!继续函数头部下断点, 那么你会发现他的[ESP]=266E02B也就是这里. 所以要过滤这个!使用条件断点![ESP]!=266E02B总算找到Base了.总算找到Base了.那么我们再来分析这个递归好了。然后就可以动手了写代码了.首先因为这个RootBase是在DLL里面的, 因为DLL的加载地址不同, 所以解析出的Base也不同, 这个需要知道PE文件的如何计算偏移的。我就直接粗暴一点, 暴力搜索内存MFC做个注入DLL…… 不要问我为嘛用MFC,因为它是VS自带的,方便立马用。反正关了灯都一样. MFC做个注入DLL…… 不要问我为嘛用MFC,因为它是VS自带的,方便立马用。反正关了灯都一样. 随便写一个。 不要太讲究了。 随便写一个。 不要太讲究了。 编译! 注入! 测试! 结果如下:好啦。然后发现了辣么多个Base, 然后找名字!好啦。然后发现了辣么多个Base, 然后找名字!从名字入手. 这个英雄叫'虚入梦'. 顺便这个游戏是UTF-8编码(略过如何求证的).所以这个英雄名称对应的编码是=EE6A2A6打开CE, 搜一下打开CE, 搜一下务必要记住把 扫'只读'内存勾上务必要记住把 扫'只读'内存勾上然后直接一个一个修改这个Text, 看下哪个是对应的名称. 比如说手动修改一个手动修改一个运气好, 第一个就是。 运气好, 第一个就是。 如果没变化, 那就一个一个往下改。 记得如果不是的话, 要改回去. 再改下一个。 也可以用二分"修改"(查找)法, 直接一次性改一半. 如果不存在的话, 那肯定在另一半。时间复杂度O()=O(logn) 必须学以致用!!!接下来就是开启OD, 附加游戏.下一个访问断点.下一个访问断点.断下来了, 就是一个字符串循环复制, 返回到上一层CALL断下来了, 就是一个字符串循环复制, 返回到上一层CALLeax就是人物对象指针.
edi就是一个缓冲区, 把人物指针的Name复制到缓冲区.eax就是人物对象指针.
edi就是一个缓冲区, 把人物指针的Name复制到缓冲区.继续回溯继续回溯这个CALL就可以用了。
这个CALL就可以用了。
PUSH 0x200
PUSH Buffer
MOV ECX, pObjectPointer
CALL 235F640
然而我在观察地址的时候, 就观察出来因为他们2个地址是一毛一样的!ECX=[ESI+238]ECX=[ESI+238]0DDF3CC4=[14C]其实往上跟也有可能可以关联起来, 但是我懒得继续回溯了……其实往上跟也有可能可以关联起来, 但是我懒得继续回溯了……所以……所以……发现了有些地址可能是其他分类的吧? 发现了有些地址可能是其他分类的吧? 分类判断懒得写了。 干脆结果就是结果就是好啦。 至少有一个是对的. 好啦。 至少有一个是对的. 因为刚才游戏不小心被我弄崩了。我就顺便重开而且换了个游戏.暂时目的达到了. 获取到当前角色. (遍历所有英雄小兵之类的暂时没这个需求,不做)下一步就是修改攻击种类:按照刚才的步骤, 搜索显示的Text按照刚才的步骤, 搜索显示的Text2分搜索大法好, 3次即可到达。下访问断点惯例的字符串复制操作, 返回到上一个函数!惯例的字符串复制操作, 返回到上一个函数!EAX就是Text, 上面的MOV EAX, [ESP+14]. 就是从上一个函数传递过来的参数. 返回去看好一下.上面的MOV EAX, [ESP+14]. 就是从上一个函数传递过来的参数. 返回去看好一下.上一层CALL看参数第一个参数第一个参数第二个参数就是上上张图, 就懒得复制了就是上上张图, 就懒得复制了第三个参数就是这个玩意。 那么我们要找的是种类。 也就是第二个参数=[ESP+0BC]就是这个玩意。 那么我们要找的是种类。 也就是第二个参数=[ESP+0BC]然后往上分析……过程略, 多断点几次的事, 我就不废话了。 然后往上慢慢下断看参数, 直到……mov
edx, dword ptr [esp+10]mov
edx, dword ptr [esp+10]mov
ecx, dword ptr [edx+2ADD3B0]接下去就找[ESP+34]接下去就找[ESP+34]既然这样, 那么我们试试.既然这样, 那么我们试试.首先所以 [0F923CC4] + 1E8 = EDIEAX = 攻击种类 = [EDI + 0 * 4 + 0xF4]. (已经探明EBX=0)所以……我们换一个有混乱攻击的号就知道。 混乱攻击的时候。 这个值是=5的。所以我们改成5试试。嘿嘿!嘿嘿!然后是不是有效。 最上面的那2张图有数值测试!顺便…… 肯定是联网无效的, 因为有数值校验的。可以单机爽一下!而且……哪怕你用各种***图, 暂时老夫还没发现哪个可以改攻击类型!神圣护甲同理, 我就多此一举了。还有几张图顺便贴了这篇文章到这里就结束了。 以后在这篇文章也不会更新技术类的话题了。顺便!不知哪位英语比较好? 最近学英语陷入死循环, 各种不爽背单词, 但是不背也不行。
有没有能拯救我……必有酬谢!很多人都问怎么学, 其实嘛我并非推荐你们去参加培训, 而是这里有课程目录。我并非推荐你们去参加培训, 而是这里有课程目录。按照这个目录去学就好了。例如:老夫的git项目,无聊的时候写的LOL刷金币。 可以参考一下。 强调一下: 只做技术交流。 不要瞎搞!已经解除匿名,想要交流的话, 发你的QQ私信我即可。 我会加的.
汇编.汇编.汇编.汇编.汇编.c/cpp 然后自己写各种带有功能性的小程序,无脑自己逆向自己的程序,然后再从外部调用功能。
外挂之路很难走,说白了写外挂就是在操作系统和网络方面做手脚。因此必须在这两方面下工夫。而学这两方面的过程是很痛苦的。比如操作系统,一般外挂都是在windows下的,所以你必须熟悉windows操作系统,比如看《windows核心编程》,看这种书是很痛苦的。所以必须做好准备。
至于学习路线,我的建议是:1 先学C和C++,对编程语言有一定的了解。2 如果你比较浮躁,想马上写点东西,那么建议你学一下易语言,现在国内很多外挂是用这个写的。3 汇编语言和反汇编技术。汇编语言建议看王爽的那本《汇编语言》,反汇编的技术比如使用OD等工具。4 操作系统。比如看《windows核心编程》,理解进程,线程,内存等。5 计算机网络。很多外挂都需要破解网络协议,然后找出漏洞。所以必须熟悉网络。给你推荐几个简单的外挂教程,当然,这些都是入门级别的。后来我觉得太艰难了,没有走下去。
记得给我个赞哦,楼上那些回答,你目前的水平是听不懂的,你这种零基础的,你百度 《郁金香教程》,那个适合没基础的学,然后学的过程中,缺啥,再去补啥
啊?写外挂还有职业吗,难道不是程序员业余写写调剂心情的吗……
不要干这个,去走正规的路。 走这条路很少有回到正路上来的,而且大部分都没有好结果。这圈子里群魔乱舞,各种利益和欺诈都扭在一起,对技术提升没有那么大,都是些野路子,做到最后,你也只会写外挂。而且干这个来钱太快了,一些很简单的技术可以立刻转化成利益,很多人会因为这点而陷进去,以为生活有了退路。殊不知,这退路一般都以牢狱生涯而终结。---这是一个在这圈子里混了快8年现在退出来的人给你的建议。
写挂大多数是易语言写的...为什么?易语言封装太牛逼了,操作个内存用个模块就行,一个函数(易语言中叫子程序)解决。。
delphi入门吧。比别的软件上手简单。
我会写模拟脚本,也算半职业,但不会写外挂。无法正确的回答你的问题。不过,想给你点建议。脚本和外挂是不一样的,外挂一般更强大,涉及到违法的区域更多,不管是否系统的学习,需要的时间都会更长。如果你对这个行业有兴趣,我觉得你首先应该是学会一门能够用来写外挂的语言或者软件。这个选择很多,常见的按键精灵,TC,易语言,C,delphi,VB 都是可以的。前面2个常用来写模拟类的脚本,用来写外挂也是可以做到的。同时也可以了解下模拟的脚本怎么写,这个学起来比较容易,也很容易上手,只是想要做好,需要经验的积累。像前面某位兄弟的回复一样,每个人的经验基本上都是敝帚自珍的,很难会去分享给别人,这都是自己谋生的底牌。外挂需要的东西很多,我也无法说清楚,如果全靠自己,没有两三年的学习根本不行。两三年后,或许你需要重新学习更多的只是才能对抗游戏的反外挂。最基本的汇编肯定要能看的懂。同时外挂也是分很多不同类型的,看你想要学哪一种,有内存的,封包的,从游戏来说有手游,页游,端游,不同的游戏需要的技术也是有差别的。端游外挂一般是内存的,偶偶也有大神写脱机。写内存挂你就需要能过游戏保护的驱动,所以一般要懂c语言,需要了解计算机的底层页游外挂一般都是封包,据我听说现在很多页游也是可以写内存的,实质上和端游也差不多了。写封包的话网络协议,加密解密肯定要懂。有一本书是专门讲c#怎么开发网页游戏外挂的,不过从目录上看讲的也很浅,当然了比我厉害,因为我还看不懂,只是从经验上去了解得出这样的结论。手游涉及到的东西也很多,可以简单的区分成3种吧,安卓系统上直接用的,ios系统上用的,以及电脑上配合模拟器用的。安卓系统上用的可以写模拟的,也可以写内存的,还可以配合安卓系统本身的功能以及消息一类的东西,这个我不熟,可能说的不准确。不过你可以百度搜索下“微信抢红包外挂原理”,他就是利用了系统本身的一些东西来实现的。模拟的脚本就主要还是用软件,这个难度不大,也很好学。ios上用的,一般都是写模拟的,封包之类的也有的,很少很少。但是要注意有一些游戏会检测这些能写脚本的软件,导致封号或其他后果,你有可能会需要懂一些插件的制作或者应用,来保护好自己的脚本,对了,这个需要学一下lua,包括安卓系统上的模拟脚本,都需要学lua的电脑上配合模拟器,这个一般是模拟+封包2种,由于我自己懂的也不多,上面写了不少字,也只能给你简单的普及一下,或者还有不少错误的地方,权当是个简单的入门介绍吧。
1、注入机制。反外挂的办法就是调用链合法性判断,可以抵制百分之九十的外挂。2、模拟按键。反模拟办法就是进程枚举判断已知外挂软件名称。外挂很容易换名或hook进程API,很难抓到该种外挂的,但该种外挂功能有限。3、封包模拟。防治办法就是用动态加密算法,每次登录用的加密算法都是变化的,发布新版本时动态产生很多加密算法。4、修改客户端。加密算法中加有动态代码,其中就有校验客户端。5、如果以上办法均无效,增加外挂举报功能。6、最牛逼的是大数据分析。外挂的行为和真实的玩家行为完全不一样的,这个做得好外挂基本死绝。既然外挂可以杜绝的,那为什么还有外挂呢?话说水至清则无鱼,少了外挂游戏就少了很多玩家,外挂本来就是玩家的喜爱才有生存空间,所以官方会有时睁一只眼闭一只眼。
已有帐号?
无法登录?
社交帐号登录

参考资料

 

随机推荐