魔兽世界 WowBee魔蜂辅助插件原理分析 C#实现

问题描述

Tag:wow魔兽世界wowbee魔蜂辅助外挂原理破解此篇文章是对WowBee魔蜂辅助插件实现原理的简单分析.供插件爱好者学习参考,不计版权,欢迎转载.假定读者拥有一些lua语言基础wow插件基础还有些数据结构的基础知识.众所周知暴雪在wow2.0的时候就封掉了脚本释放法术...释放法术宏的写法也被修改了.比如你可以使用宏/cast[harm,nodead]火球术但是你要是写成/runCastSpellByName("火球术")这个就不让你用了.还有类似很多函数都被blz标记成了PROTECTED仅准许blz内部插件调用.魔蜂是怎么突破这个限制的呢.答案是宏.就是前边说的/cast[harm,nodead]火球术这个.因为这是blz准许的释放法术宏写法.并且blz插件使这种宏不可自动执行,必须要有按键或者鼠标点击才可以.魔蜂的实现办法就是在游戏内建立一个宏.通过hack内存的办法去修改这个宏的内容.并且模拟键盘按键调用使其发挥作用.接下来仔细说下过程.起点还是魔蜂的内置插件,这部分我就不仔细解释了,写插件的同行都应该很了解,功能就是构造你在wow运行时候看到的小地图图标,魔蜂的那个界面,脚本编辑器之类的.因为魔蜂的脚本也是lua语言,所以并不需要什么处理,直接wow就可以调用.当魔蜂需要执行一个施法指令比如BeeRun("火球术")的时候.插件里调用CastSpellByName是不可能的了.它其实是生成了一个字符串"/cast火球术"当然字符串是没办法当作宏执行的.插件这时会把这个字符串进行一下编码,并且存到一个指定的内存中.这之后魔蜂的客户端就该出来干活,客户端侵入wow进程,不断扫描事先约定好的这部分内存一旦发现了这个变化就会将这部分数据提取出来,并且解码成原始字符串"/cast火球术",然后也是侵入wow进程中魔蜂事先准备好的一个wow宏,将其内容替换掉.再之后就简单了,模拟键盘按键按一下.好了.你的小法师应该已经开始唱火球术了.这之中的几个要点解释下------------------指定内存:----------------------------老玩家都应该知道当年的FPE,金山游侠.这类东西吧.扫描内存,改写内存数据的工具.魔蜂也是这样指定与wow通信的内存的.实现起来也很简单.就3个api:OpenProcess,ReadProcessMemory,WriteProcessMemory.具体用法google下很简单.魔蜂在LibraryFAIAP.lua里设了这么个数组localspecialCharacters2={}用其作为通信内存.并且在wow中对其进行了初始化赋值680000000010,680000000020,680000000030直到6800000001000一共100个lua是个C基础的语言.这个数在内存中是用double类型来存储的,680000000010转成double型式是0x4263CA6512014000在内存中高位在后低位在先扫描内存很容易发现一块0040011265CA6342数据:09140300h:880040011265CA634203000000A093C5;?@..e蔯B....爴?09140310h:0D0080021265CA634203000000A093C5;..€..e蔯B....爴?09140320h:0D00C0031265CA634203000000A093C5;..?.e蔯B....爴?09140330h:0D0000051265CA634203000000A093C5;.....e蔯B....爴?09140340h:0D0040061265CA634203000000A093C5;..@..e蔯B....爴?09140350h:0D0080071265CA634203000000A093C5;..€..e蔯B....爴?09140360h:0D00C0081265CA634203000000A093C5;..?.e蔯B....爴?09140370h:0D00000A1265CA634203000000A093C5;.....e蔯B....爴?09140380h:0D00400B1265CA634203000000A093C5;..@..e蔯B....爴?09140390h:0D00800C1265CA634203000000A093C5;..€..e蔯B....爴?091403a0h:0D00C00D1265CA634203000000A093C5;..?.e蔯B....爴?托内存对齐的福.超级整齐的.接下来是魔蜂内置宏的代码是这样的sllder:SetAttribute("macrotext","/macrotext"..string.rep("",245));呃.字符串...也很容查找..17bbfcc0h:0D0400007223B381BDFF0000002F6D61;....r#硜?.../ma17bbfcd0h:63726F74657874202020202020202020;crotext17bbfce0h:20202020202020202020202020202020;17bbfcf0h:20202020202020202020202020202020;17bbfd00h:20202020202020202020202020202020;17bbfd10h:20202020202020202020202020202020;17bbfd20h:20202020202020202020202020202020;恩..这是32bit的客户端数据..如果64bit客户端数据存储会不太一样.记下这两个地址之后.就可以不断监控前一个地址,发现数据变化就解码处理下存入第二个内存地址去.-----------------模拟按键-------------------------------这个很容易的.windows是消息机制,只要发送个SendMessage就可以了,恩模拟一个按键是两个消息WM_KEYDOWN和WM_KEYUP..默认魔蜂使用的是F12键.如果你在魔兽的按键设置中改动F12键的功能会收到个提示噢~~魔蜂也就不好用了.------------------编码解码--------------------------恩魔蜂的编码方式是这样,比如要编码/cast[harm]先按ascii转成10进制C语言字符串结束符是个lua一样/cast[harm]4799971151163291104971141099303位规整下047099097115116032091104097114109093000之后5个一组不足补0047099097115116032091104097114109093000000000得到这么3个数,挨个按double型转换047099097115116=0x42C56B0E79F4F600032091104097114=0x42BD2FCADC335A00109093000000000=0x42D8CE0C60CC8000监控内存的时候在数据区读出来就是这么个内容了..要记得高位在后低位在前解码过程就是倒过来...我就不废话了..=====================下载=======================================代码是用vs2010C#写的..我不怎么会用这东西,都是临时抱佛脚,大家看看就好,表拍砖了.变量命名代码结构啥的..明白人就当没看见吧.编译出的exe我也一并发了,有条件完全可以自己重新编译.我人格保证肯定不带木马病毒.转发我就无能为力.由于魔蜂更新很可能会变更具体的通信数据.压缩包内附带了可用魔蜂插件.代码中简单实现了魔蜂连接校验.不过当前版本的魔蜂不进行连接校验也是可以工作的.代码http://115.com/file/e7wxqp4b视频http://115.com/file/c2m8owhj=====================我用到的工具===================================MS官方SysinternalsSuite中的ProcessExplorer工具可以dump进程内存dump出来的文件用十六进制编辑器查看比如我用的ultraeditdouble类型的十进制与十六进制转换我用的是FloatConvert======================写在最后======================================准确的说,魔蜂还是外挂,毕竟改写了wow的内存数据.只不过暴雪没法检测你是否用了魔蜂,而封禁这个漏洞也有点不那么容易.

解决方案

解决方案二:
嗯,牛啊
解决方案三:
碉堡了
解决方案四:
佩服啊,应该研究了很久吧
解决方案五:
研究研究研究
解决方案六:
这个厉害啊。。。。没有exe文件啊。。。
解决方案七:
没有安装vs2010打不开啊。。。。。
解决方案八:
exe在源码的WindowsFormsApplication1WindowsFormsApplication1bin目录下...
解决方案九:
跪求大神破解最新版

时间: 2024-11-03 22:13:13

魔兽世界 WowBee魔蜂辅助插件原理分析 C#实现的相关文章

Android中微信抢红包插件原理解析及开发思路_Android

一.前言 自从去年中微信添加抢红包的功能,微信的电商之旅算是正式开始正式火爆起来.但是作为Android开发者来说,我们在抢红包的同时意识到了很多问题,就是手动去抢红包的速度慢了,当然这些有很多原因导致了.或许是网络的原因,而且这个也是最大的原因.但是其他的不可忽略的因素也是要考虑到进去的,比如在手机充电锁屏的时候,我们并不知道有人已经开始发红包了,那么这时候也是让我们丧失了一大批红包的原因.那么关于网络的问题,我们开发者可能用相关技术无法解决(当然在Google和Facebook看来的话,他们

ToyBricks简介以及原理分析

ToyBricks背景 我始终认为,在高内聚,低耦合的原则下,进行组件化,模块化,插件化都是移动应用开发的趋势. 为什么这么说呢?下面我们举个栗子:大家都知道,以前Android应用开发中,可以使用HttpClient或者HttpUrlConnection来进行http访问.这里假设有一个耦合严重,但代码量巨大的项目,使用了基于HttpClient封装的loopj/android-async-http来进行http访问.但是,后来,Google明确支持使用HttpUrlConnection.此时

VBS脚本病毒原理分析与防范_vbs

网络的流行,让我们的世界变得更加美好,但它也有让人不愉快的时候.当您收到一封主题为"I Love You"的邮件,用兴奋得几乎快发抖的鼠标去点击附件的时候:当您浏览一个信任的网站之后,发现打开每个文件夹的速度非常慢的时候,您是否察觉病毒已经闯进了您的世界呢?2000年5月4日欧美爆发的"爱虫"网络蠕虫病毒.由于通过电子邮件系统传播,爱虫病毒在短短几天内狂袭全球数百万计的电脑.微软.Intel等在内的众多大型企业网络系统瘫痪,全球经济损失达几十亿美元.而去年爆发的新欢

ASP组件上传的三种机制和实现原理分析

上传 ASP 组件 FILE对象 当前,基于浏览器/服务器模式的应用比较流行.当用户需要将文件传输到服务器上时,常用方法之一是运行FTP服务器并将每个用户的FTP默认目录设为用户的Web主目录,这样用户就能运行FTP客户程序并上传文件到指定的 Web目录.这就要求用户必须懂得如何使用FTP客户程序.因此,这种解决方案仅对熟悉FTP且富有经验的用户来说是可行的. 如果我们能把文件上传功能与Web集成,使用户仅用Web浏览器就能完成上传任务,这对于他们来说将是非常方便的.但是,一直以来,由于File

搜索引擎判断网站是否作弊的原理分析(三)

广州SEO陈永继续为大家讲解搜索引擎判断网站如何判断网站是否作弊的原理,上节讲解完TrustRank算法,这一节将详细讲解BadRank算法. BadRank据传是Google采用的反链接作弊算法.它是一种典型的不信任传播模型,即首先构建作弊网页集合,之后利用链接关系来讲这种不信任分值传递到其他网页. BadRank包含的基本假设是:如果一个网页将其链接指向作弊页面,则这个网页也很可能是作弊网页:而如果一个网页被作弊网页指向,则不能说明这个网页是有问题的,因为作弊网页也经常将其链接指向一些知名网

搜索引擎判断网站是否作弊的原理分析(二)

承接搜索引擎判断网站是否作弊的原理分析(一) 广州SEO陈永继续为大家分析信任传播模型.不信任传播模型及异常发现模型3个代表算法,它们分别是TrustRank算法.BadRank算法和SpamRank算法. 我们先详细介绍TrustRank算法 TrustRank算法属于信任传播模型,基本遵循信任传播模型的流程,即算法流程如下两个步骤组成. 步骤一:确定值得信任的网页集合 TrustRank算法需要靠人工审核来判断某个网页应该被放入网页集合,考虑到人工审核工作量大,所以提出了两种初选信任网页集合

IOS开发:Cocos2d触摸分发原理分析

  触摸是iOS程序的精髓所在,良好的触摸体验能让iOS程序得到非常好的效果,例如Clear.鉴于同学们只会用cocos2d的 CCTouchDispatcher 的 api 但并不知道工作原理,但了解触摸分发的过程是极为重要的.毕竟涉及到权限.两套协议等的各种分发. 本文以cocos2d-iphone源代码为讲解.cocos2d-x 于此类似,就不过多赘述了. 零.cocoaTouch的触摸 在讲解cocos2d触摸协议之前,我觉得我有必要提一下CocoaTouch那四个方法.毕竟cocos2

Photoshop图层与色彩原理分析

  PS入门教程 Photoshop图层与色彩原理分析   教程结束,以上就是Photoshop图层与色彩原理分析,希望大家看完这篇教程之后能有一定的帮助! 分类: PS入门教程

web上存漏洞及原理分析、防范方法(文件名检测漏洞)

我们通过前篇:<web上存漏洞及原理分析.防范方法(安全文件上存方法) >,已经知道后端获取服务器变量,很多来自客户端传入的.跟普通的get,post没有什么不同.下面我们看看,常见出现漏洞代码.1.检测文件类型,并且用用户上存文件名保存 复制代码 代码如下: if(isset($_FILES['img'])) { $file = save_file($_FILES['img']); if($file===false) exit('上存失败!'); echo "上存成功!"