文章
文章平均质量分 64
douluo998
这个作者很懒,什么都没留下…
展开
-
基于 Bazel 的 iOS Monorepo 工程实践
举个具体的例子,播放器是哔哩哔哩的核心组件,是其他上层业务的基石,作为一家拥抱变化的公司,我们的播放器核心也在发展之中,几乎每过几个版本就会有一些 API 层面的变更。国内的互联网从业者可能对 Monorepo 比较陌生,但其实 Monorepo 在全球互联网已经是一个比较成熟概念了,已经有许多的团队基于不同的理念开发出了各种的 Monorepo 工具,如:谷歌的 Blaze(内部使用)和 Bazel(Blaze 的子集,开源项目),微软的 Lage 和 Rush 都是非常成熟的 Monorepo 工具。原创 2024-04-17 20:01:13 · 1397 阅读 · 0 评论 -
在Ubuntu系统上定制文件系统
为了给客户的测试和开发提供便利,飞凌嵌入式的开发板产品一般都支持多种操作系统,以基于全志T507H处理器设计研发的OKT507-C开发板为例,它支持三种操作系统,分别是:Linux、Android 和 Forlinx Desktop(Ubuntu),这里提到的Forlinx Desktop系统是飞凌嵌入式在Ubuntu base的基础上构建的桌面操作系统,完全兼容Ubuntu18.04,相对传统的Linux系统而言易用性更高。烧录到板子后,在终端启动minicom,验证下是否安装上。原创 2024-04-17 19:39:58 · 874 阅读 · 0 评论 -
如何实现数仓效率与成本的双重优化
这一改造显著提升了数据处理的灵活性和效率。我们采用了全局排序的方法,将相同点位的数据集中存储,而将不同点位的数据分散存储在不同的文件中。数据同步策略调整:不再直接同步公有云上的 Agent-smith 日志,而是通过 Kafka2Iceberg 任务,将汉姆拉比 Kafka 数据同步到公有云上的 Iceberg 表,Iceberg 底层基于 Parquet 文件格式,其列存储格式和索引排序机制可以提升重复字段的压缩效率,因此最终跨云同步的对象变成了经过压缩的 Iceberg 表,从而极大提升了同步效率。翻译 2024-04-01 08:58:03 · 215 阅读 · 0 评论 -
各行各业模板ppt模板打包下载
下载地址 https://download.csdn.net/download/douluo998/88624912。075-大学生职业生涯规划PPT。134-高端A4竖版PPT。130-转正述职报告PPT。128-课堂互动游戏PPT。108-汉字主题模板PPT。081-小学生家长会PPT。066-创建文明城市PPT。131-退休欢送会PPT。112-班干部竞选PPT。106-欧式复古风PPT。101-未来科技感PPT。100-有趣的数学PPT。093-新媒体活动PPT。082-小学生竞选PPT。原创 2023-12-13 12:04:24 · 1199 阅读 · 0 评论 -
EPLAN连接编号的问题
有人说,我需要在按钮一侧使用线号 KM1:A1,而在接触器一侧使用线号 SB1:2.在 EPLAN 中,同一根连接不能标记两个不同的线号的.但可以将 SB1:2-KM1:A1 这样的线号打印。根据 IEC 相关标准的规定,不同电压等级应该使用不同颜色的导线.但是国内好多公司不太注意这个问题,仅使用红,蓝,黑三种线.这样给带电操作的人员带来了潜在的危险.(应该在导线的末端用数字,字母,颜色代码(原色或者色带)以及它们的组合进行标识,这个标识应该与技术文档保持一致.外购设备的内部接线没必要标注线号.)原创 2023-10-31 14:37:31 · 3717 阅读 · 0 评论 -
游戏基础—Android平台进程模块信息获取
记得学习编程时的第一个helloworld程序:return 0;打印” Hello World”,使用的是printf函数。但是,我们并没有去实现printf函数的功能,而是由C语言标准库去实现,我们直接加载该库就可以了。像这样的例子,还有很多。在开发软件时,我们通常只实现软件的核心逻辑功能,而把基础的功能交给第三方完成,这样的好处是代码体积更小、占用更小的存储空间,而且更方便管理。如果我们想要知道软件加载了哪些库,就需要进行内存模块遍历。原创 2023-04-18 09:34:21 · 359 阅读 · 0 评论 -
Android平台ELF文件格式简单介绍
命令输出的信息中包含“Section to Segment mapping”项数据,该项信息代表了section到segment的映射关键,例如:标号为2的Load段包含了: “.fini_array”、“.init_array”、“.dynamic”、 “.got”、“.data”、“.bss”六个节信息。上图中标为蓝色的数据为ELF文件头二进制内存数据,最右边可明显看出有“ELF”字符串,读者也许已猜到数据对应ELF文件标志,即判断是否为ELF文件表示。原创 2023-03-30 21:00:19 · 700 阅读 · 0 评论 -
游戏系统及开发相关概述(上)
众所周知,目前我们接触到的大部分游戏都是由各个子系统组合而成的,如战斗系统,经济系统,邮件系统,聊天系统等等。而每个子系统会有自己相关的功能,从而组成了一个完整的游戏。本文会介绍游戏的系统组成、概念及其功能,另外,也会介绍一般手游开发所用到的语言,以及游戏中强联网和弱联网的概念和应用场景等。原创 2023-03-27 15:24:55 · 3649 阅读 · 0 评论 -
安卓手游面临的安全风险杂谈
随着智能手机的普及,市场的泛娱乐化,手游行业发展迅猛。手机游戏在整个游戏市场已经占了一定的江山。手游用户的增多,手游的安全性随之受到行业的重视。目前越来越多游戏面临各种各样的安全风险,如静态修改文件,动态修改游戏逻辑,篡改协议,游戏盗号,恶意发言,工作室等等,这些风险极大影响了游戏的平衡性和游戏的体验,对游戏及用户本身造成消极的影响。下面将分类介绍这些各种的风险形式以及一些常用的实现方式。1.1 静态修改文件游戏文件被静态修改再重新打包签名是很典型的一种安全风险,通过这种方式,原本可能需要购买的游戏很可能原创 2023-03-27 15:13:00 · 578 阅读 · 0 评论 -
逆向中共享内存的应用
2、同上,MapViewOfFile 将文件映射对象映射到当前应用程序的地址空间,返回值为内存区域指针。这个时候,如果关闭申请共享内存的程序(wagame平台),那么客户端1和2都将无法访问这一块内存区域。2、MapViewOfFile 将文件映射对象映射到当前应用程序的地址空间,返回值为内存区域指针。以字节集的形式读出了共享内存中的内存数据,就可以给他转换为各种数据类型,4、取得该内存区域的字节集长度,并在区域指针+4的位置开始读取。3、将要写入的数据转化为字节集的形式,并且取得字节集长度。原创 2023-03-26 21:04:23 · 556 阅读 · 0 评论 -
小游戏也要讲信用
简单来说,这是针对小游戏主体下所有小游戏帐号行为,对开发者进行评级的信用分规则体系。对于高信用分的主体,平台愿意提供其更多的权益,而信用差时其主体权益也会受到影响。开发者可以善用主体信用分规则,主动管理自身信用,维护和争取更多的信用权益。高信用主体享有快速过审、优先参与平台能力内测等权益,而对于屡次违规侵犯用户、其他开发者、平台权益的低信用分主体,平台会对其加以约束。当下,小游戏鱼龙混杂,官方为能更好地保护用户、开发者以及平台的权益,近日宣布7月1日起试行小游戏主体信用分机制。主体信用分规则是怎样的?原创 2023-03-26 21:01:19 · 461 阅读 · 0 评论 -
EVE遭遇大规模DDOS攻击,玩家和官方都傻眼了
对于一款MMO RPG来说,上不了线确实是一种折磨,而像EVE这样的游戏,玩家不能正常游戏的影响甚至还要再大一些:这个世界之所以能正常运转,靠的就是玩家们规律性的组织和活动,如今却像一个失衡的陀螺一样变得歪歪扭扭。“会有人被杀,会有人满意,不管成功与否,我们这个小联盟里热情澎湃的成员们都会用血性进行防御。比如一位叫作Lords_Servant的会长,就在Reddit上描述了自家联盟在DDOS攻击期间发生的惨案:趁着他们的大量成员无法正常游戏的时候,一直和他们角力的某个俄罗斯联盟趁虚而入,造成了严重的损失。原创 2023-03-25 21:21:31 · 619 阅读 · 0 评论 -
特征定位在反外挂技术中的作用
而安全人员,可以在人物坐标上下断点,查看是否有非游戏自身代码,对人物坐标进行访问,抓到访问代码后,顺藤摸瓜,可对三方程序的函数进行一个特征定位,让“误查”的可能性降到最低。某游戏外挂,对游戏进行注入了dll,实现了某些功能,而作者非常狡猾,加了壳或者每次加载Dll都会打乱头部特征,抹除pe等等。接下来对lpBuffer进行一个特征搜索,对其定位,如果在特征库中匹配到,就说明该dll被劫持了。得到这串特征码后,在lpBuffer中搜索匹配,如果匹配到,代表Dll可能被劫持,那么就出现第三方,木马加载等等。原创 2023-03-12 10:10:31 · 524 阅读 · 0 评论 -
游戏逆向_某游戏典型的检测例子分析
该地址在未修改的情况下,默认的值为16777217 即十六进制的1000001,那么,将1000001改为某些值的时候,即可实现透视效果,在这里可以简单的猜测和了解一下该透视的实现原理,当然这不是本文主要探讨的内容。假设,jnz这局代码是执行换弹完毕的动作,那么咱们想要零秒换弹的功能,在服务器不做验证的情况下,咱们可以修改cmp 或者 jnz为 JMP,在换子弹的时候,强制执行换弹完毕的动作,那么如果改了这个地方,CRC会如何查?那么咱们要伪造几层,处理多少个地方,取决于游戏查了几层,验证了多少地方。原创 2023-03-12 09:59:41 · 1122 阅读 · 0 评论 -
游戏闲聊之游戏是怎么赚钱的
除了私服之外,同行也经常有恶性竞争,我就遇到过一起,同类型游戏,一个开发商自认为遭到了另一个开发商的攻击,先不说是不是真的,他也不报警,也不求证,就攻击对方,结果发行商报警了,开始还不知道谁攻击的,到最后查出来一看,挺可惜的,还都是名校明星创业者,为这事全背了案底,这事真不值得。典型外挂如一些按键精灵(合法的),自动挂机,自动打怪,以及一些诸如隐藏地图的展开等等,很多年前我第一份工作的时候,当时公司里流行局域网打四国军旗,然后有人就监听破解了数据流,就能显示所有人的棋子,于是所向披靡,这也是一种外挂。原创 2023-03-11 15:02:29 · 715 阅读 · 0 评论 -
【游戏爆料】揭开“搬砖党”背后的秘密
在网络游戏行业繁荣的背后,存在着庞大的黑产链条,它严重威胁着游戏厂商的业务安全,破坏游戏属性的平衡,给玩家带来不好的游戏体验。针对打金工作室这条黑色产业链,腾讯游戏安全一直在持续对抗打击,以腾讯某MMORPG游戏为例,在S9赛季,腾讯游戏安全团队针对打金工作室,对于检测系统进行了全面优化,并且对抗方案也是在持续优化更新,对使用自动脚本的行为进行检测与干预,对交易中的异常行为部署重点监控,对囤货、恶意干预物价的行为严厉处罚,经过这些努力,S9赛季整体运营稳定,游戏内核心物品价格总体平稳。原创 2023-03-11 14:58:37 · 1208 阅读 · 0 评论 -
你的游戏帐号是如何被盗的
开发和分销的工作完成后,黑产便将目标瞄准普通玩家,也就是所谓的“挂马出信”,除了“拖库撞库”等黑客直接和游戏公司交手的方式外(动静大影响恶劣,出现必定上新闻,因破坏性强,对游戏厂商口碑会造成严重负面影响,属于撕破脸皮针锋相对,必定会遭受厂商的法律反击,因此对攻击方有较高技术与自保门槛要求,此处暂且不表)。因为,除了官方不断完善帐号密保工作外,其实很多时候,游戏安全、帐号安全也需要玩家的积极配合,所以在安全宣传方面在某种程度上,和技术工作的重要程度是不相上下的;如此庞大的市场规模,黑色产业链是绕不开的话题。原创 2023-03-11 14:57:35 · 1322 阅读 · 0 评论 -
游戏逆向-取字符串函数分析
这里的第一个参数并不是上面的0x40,也就是说有跳转跳到这里的, 而由于调用的是虚函数,所以我们还需要得到esi的来源。由于这个函数内部被VM了,而本身又没有任何的参数,所以我们直接调用这个函数来获取返回值eax,并将其传入到下面的取名字函数中,这样我们就可以得到物品的名字所在的地址了。物品的名字对于所有的RPG游戏来说都是非常重要的,但是有些游戏的物品库是很难分析的,其中加入了一些复杂的算法,导致我们无法将完整的代码分析出来,这是我们就考虑到通过调用外层函数来取得物品的名字。原创 2023-03-09 20:47:35 · 118 阅读 · 0 评论 -
游戏逆向之游戏技能分析
角色的当前技能列表往往都是从系统的技能库中进行筛选而组成的,而这个筛选的过程大多非常的复杂,经过的代码和临时结构体的传递也非常的多,所以在分析技能对象来源的时候常常要将OD和CE配合来使用。首先通过CE对技能的名字进行扫描,可以得到较多的UNICODE型结果,通过二分法对技能的名字进行修改,发现其中的一个地址可以改变技能的本地显示(这里要注意的是,只有重新开启技能栏以后显示的技能名字才是我们需要分析的)(如图)返回后分析esi的来源,得到+80偏移,继续向上分析,可以在执行到返回后得到+10偏移(如图)原创 2023-03-09 20:44:59 · 555 阅读 · 0 评论 -
怪物坐标分析
由于《天涯明月刀》中的角色坐标在遍历中的访问很少,并没有从直接得到角色坐标基地址的访问代码那么多,所以我们想直接返回到遍历中是很难的。访问代码较多,所以可能断的位置会不同,但是得到的结果相差不大,这里我们得到+8偏移,继续向上分析得到来源于01097B95 处的 call 00CEFE80内部,到函数内部可以得到一个数组套链表的结构,以及基地址(如图)这样我们就得到了怪物坐标的遍历公式,不过由于分析的方法不同,可能每个人得到的公式会有一定的差异,不过只要结构中的对象数量一致就没有任何的问题。原创 2023-03-08 11:31:13 · 405 阅读 · 0 评论 -
某某游戏加密坐标分析
但是游戏 人物已经实现了"瞬移",当然这个瞬移是本地的,只要我们操作走路,就会被修正回真实的坐标,但是至少证明 ,这个坐标是真实有效的,起码可以让我们看到修改后坐标的画面。并且在我们"瞬移"过去点任何操作的时候,例如点击地面,真实的人物,已经从原来的位置寻路过来。最好去找修改之后有效果的地址,当然只是本地,这种游戏坐标,游戏不可能不用服务器去验证。当然我们后续还要通过明文坐标的来源以及这个坐标的去向找到坐标的加密解密CALL。我们可以看到 左上角的真实坐标修改前后是没有改变的。原创 2023-03-08 08:50:17 · 288 阅读 · 0 评论 -
传送点遍历分析
在地址-1C的位置我们发现了0x2711这个值,这很明显是当前地图的ID,我们在这里下访问断点,点击传送点游戏断下(如图)得到+4偏移,继续向上分析可以得到一个+30的结构体数组,和+C的数组起始地址偏移,再向上分析可以得到+28C偏移和基地址(如图)向外层分析,返回代码VM较多,无法正确的分析来源,所以我们在CE中扫描得到的地址,得到两个结果(如图)[[[[414A7A8]+28C]+C]+n*30+20] 传送点名字UTF-8。[[[414A7A8]+28C]+C]+n*30+0 传送点ID。原创 2023-03-07 15:31:11 · 250 阅读 · 0 评论 -
基础之数据分析中的二叉树
而在数据窗口中,如果[[xxxxxxxx+4]+4]是一个二叉树的根节点的话,那么[xxxxxxxx+4]既是二叉树即将开始的地址,也是二叉树遍历结束的地址,这时的标志位为01,我们可以利用这个特点来对一些无法通过访问得到汇编代码的二叉树基地址进行搜索(如图)上面的汇编代码中所显示的最常见的二叉树代码,当然有时候我们还会遇到一些变形的二叉树代码,虽然遍历结果是一样的,但是分析起来很麻烦,这是我们也可以通过对二叉树节点进行访问,来尝试查找是否有常见二叉树代码访问该节点。原创 2023-03-07 15:21:23 · 144 阅读 · 0 评论 -
【游戏逆向】游戏玩家技能冷却分析
技能冷却对于不同的游戏有不同的存放方式,而技能冷却的遍历也大多不会和技能的普通属性放在一起,在《在**明月刀》这款游戏中,技能的冷却判断格外重要,因为技能的连贯性对打怪的效率影响很大。这里应该不止包括技能的冷却,可能还会有一些药品之类的冷却,我们需要通过技能ID和技能属性进行关联。[[[40BEFA4]+2C]+n*4]+38 技能冷却标志位 1为冷却中 0为已经冷却。这样就可以得到技能冷却的公式,接下来需要数组的成员数量和技能冷却对象内的属性进行分析。就是当你释放的时候 出现一个选择释放点的技能。原创 2023-03-06 15:55:37 · 708 阅读 · 0 评论 -
游戏安全反外挂-驱动的认识
define IO_IS_OK_TEST CTL_CODE(FILE_DEVICE_UNKNOWN, 0x803, METHOD_BUFFERED,FILE_ANY_ACCESS) //测试。KdPrint((“yjx:驱动设备对象 %wZ 创建失败,准备删除Device -----------\n”, &uzDriverName));////重叠操作结构指针。KdPrint((“yjx:驱动设备对象 %wZ 创建成功,OK -----------\n”, &uzDriverName));原创 2023-03-06 15:50:56 · 735 阅读 · 0 评论 -
游戏安全反外挂-64驱动
/属性页->Driver Settings->Target Os Version : 设置版本 Windows 7 Windows 10任选。//属性页->Driver Settings->Target Os Version : 设置版本 Windows 7 Windows 10任选。//属性页->C / C+±>将警告视为错误 : 否 / WX -//属性页->C / C+±>将警告视为错误 : 否 / WX -//属性页->C / C+±>警告等级 : 等级3 / W3。原创 2023-03-05 14:14:42 · 524 阅读 · 0 评论 -
【游戏逆向】常用反调试技术集合
Input: //输入参数的说明,包括每个参数的作用、取值说明及参数间关系。*Input: //输入参数的说明,包括每个参数的作用、取值说明及参数间关系。*Input: //输入参数的说明,包括每个参数的作用、取值说明及参数间关系。原创 2023-03-05 13:51:52 · 689 阅读 · 0 评论 -
【游戏分析】《某某仙侠传》BUG之装备秒分解
此BUG对游戏的危害是很大的,玩家可以通过循环刷低级副本,或者通过小号进行低价收取垃圾装备,并进行快速分解来获取大量铸造石,导致铸造石价格大幅度下降,并扰乱货币市场。从普通玩家的角度去分解装备是需要读条的,并且需要将装备分别摆放在相应的格子中,而有一些外挂则无需读条,可以瞬间将背包里所有可以分解的装备全部分解。第一个参数为包头,第二个参数为包长,第三个参数为封包结构体,而结构体中+A的位置则是物品所在背包的位置,除此之外没有其他可以变化的参数。原创 2023-03-04 22:28:00 · 95 阅读 · 0 评论 -
【游戏逆向】FPS游戏玩家对象数据分析
我们可以去尝试改变数值,最终发现一个是我们的客户端健康值,一个是服务器健康值,我们分析关注的重点在客户端这边,这是单机模式下修改服务端的可以达到无敌的效果但并不是分析的重点。让我们记住这个地址,OD附加游戏然后转到该地址(很不幸游戏中途奔溃了,我们从头来了一遍,所以后面地址肯定不同了)查找玩家健康值,玩家健康值是100,但是我们并不知道数值类型,我们可以使用精确搜索方式搜索100-所有类型。打开CE数据结构分析,我们填入0x50F4F4,第一个就很像我们玩家对象了。偏移128步枪备用弹药。原创 2023-03-04 22:26:26 · 760 阅读 · 0 评论 -
【游戏逆向】寻路函数隐藏检测点分析
其实很简单,如果他是一个全局变量,那么他一定是可以扫描到的,但是如果他是一个指针地址,那么我们初始化以后他就变化了,这种方法就不行了,最开始我们猜测他是一个全局类型的标志位,但是目前确定并非全局变量。然后我们追ESI来源,发现ESI是小地图控件对象,而在这控件对象下面有一个标志位,如果打开地图寻路,那么这个标志位为1,否则是0,我们没有手动寻路过的话,就是这个标志位的问题导致崩溃,逻辑很简单,你没打开地图是怎么寻路的呢?如果未手动寻路过,该标志位未被赋值,直接调用该函数,产生逻辑错误,产生崩溃。原创 2023-03-03 22:01:03 · 773 阅读 · 0 评论 -
游戏逆向基础之OD找CALL实践
这些调用或许都能实现功能,但是越上面的,由于很内层,往往绕过了多层判断,可能会功能更强大,而越下面的,由于处在调用的较外层,所有功能会更完整,这就需要根据自己的需求去分析选择,以及逐一实验哪个函数是自己所需要的。ELEMENTC.0067D4E0 ELEMENTC.006C6E50//结构体CALL。0018EDE4 008DB977 可能 ELEMENTC.008EB9E0 ELEMENTC.008DB974。原创 2023-03-03 21:58:31 · 2448 阅读 · 0 评论 -
任务类风险漏洞挖掘思路
大部分游戏都离不开任务,游戏往往也会借助任务,来引导玩家上手,了解游戏背景,增加游戏玩法,提升游戏趣味性。在大多数任务交互过程中,协议1,协议2,协议3,协议4是必不可少的,其他协议需要根据游戏具体逻辑进行分析确认,在验证过程中,针对上述协议进行重发,屏蔽和修改,如果服务器校验不够严谨的话,则会触发相应漏洞。当你辛辛苦苦完成了一个任务等级要求时,你却发现领取任务的NPC离你十万八千里,你需要传送,跑路赶过来领取一个任务,这时漏洞出现了,你在任何地点只需要利用下漏洞,便可以远程领取任务。原创 2023-03-02 19:20:13 · 428 阅读 · 0 评论 -
使用收费特权漏洞分析
一般收费特权协议分为两类。如果特权协议复用了普通协议,只是将其中Privilege_ID修改为特权ID时,则可正常触发普通游戏协议,由协议工具拦截,修改对应ID为特权ID后进行重发。当你在正在玩游戏的时候,发现某玩家在不停的发送特权表情,你以为这是一个rmb玩家,在游戏中投入了大笔的金钱,殊不知,他只是简单的利用了一下漏洞而已。不同游戏设计者设计的消费点不同,带来的案例也不计其数,但从收费特权的使用效果上,却可将众多的特权消费点归纳成以下两类:。[00 00 00 00 00 00 00 00 ] 未知。原创 2023-03-02 19:16:27 · 269 阅读 · 0 评论 -
【游戏逆向】HOOK原理以及在游戏逆向中的应用
②在某条代码处加入我们想处理的内容,例如某些变态功能 ,例如DXF扣血CALL ,判断是怪物对象直接赋值0将血量扣为0实现秒怪,而判断是人物对象直接不扣血,实现无敌的效果。我们想知道EAX的值,我们可以不hook push eax ,可以去HOOK上一句,因为2句的EAX值是相同的,也可以HOOK mov eax,[edx+c]WriteProcessMemory(hProcess,(LPDWORD)(Hook地址 + 0x00),&Temp,1,&WriteSize);原创 2023-02-28 09:37:19 · 1890 阅读 · 0 评论 -
某游戏加密解密功能浅谈
加密有简单的加密和复杂的加密,简单的加密例如QQ仙侠传人物坐标*1000 天涯明月刀血量xor一个常量,这些简单的加密只是起到你不能用CE,八门神器,烧饼修改器一类的内存搜索工具直接扫描到目标地址的效果,作用微乎其微,阻挡入门级逆向人员。首先我们扫描人物的血量,虽然人物血量是加密的,但是明文血量一样可以扫描的到,因为他需要显示到游戏的界面上,当然有的游戏加密以后,扫描不到明文怎么办?如果是加密的 那么我们就应该追到解密算法, 过程是这样,人物对象下存放的加密血量,来到上图的位置 是这个函数的返回值。原创 2023-02-28 09:24:11 · 968 阅读 · 0 评论 -
某游戏辅助功能分析
该地址在未修改的情况下,默认的值为16777217 即十六进制的1000001,那么,将1000001改为某些值的时候,即可实现透视效果,在这里可以简单的猜测和了解一下该透视的实现原理,当然这不是本文主要探讨的内容。假设,jnz这局代码是执行换弹完毕的动作,那么咱们想要零秒换弹的功能,在服务器不做验证的情况下,咱们可以修改cmp 或者 jnz为 JMP,在换子弹的时候,强制执行换弹完毕的动作,那么如果改了这个地方,CRC会如何查?那么咱们要伪造几层,处理多少个地方,取决于游戏查了几层,验证了多少地方。原创 2023-02-13 20:40:09 · 618 阅读 · 0 评论 -
recv和明文收包分析
我们喊18个字节,例如“123456789123456789 ” 收包长度必然大于0x10,小于多少我们可以尝试,可以尝试0x30,0x50。我们只要对加密包下访问断,就可以找到解密的位置,当然可能不只一次解密或则拷贝,一追到底便是。然后下断,另外的号立刻喊话,看收到的封包长度,可以多次试验确认。那么证明recv是真正的收包函数,游戏没有重新实现该函数。由于收包比较频繁,基本下断就断,所以我们要下条件断。我们上2个号,让另外的一个号喊话,这个号进行收包。用这个解密函数就可以顺利解密了。原创 2023-02-13 20:17:27 · 773 阅读 · 0 评论 -
【游戏逆向】内存构造发包结构体实现协议发送简单代码
void Call_明文发包(DWORD flag1,DWORD flag2,DWORD flag3,char* 包地址,DWORD 包长)Call_明文发包(0x007D4B3C,0x00809400,0,(char*)&a,0x9);Call_输出调试信息(“QQ西游 明文发包CALL异常\r\n”);Call_输出调试信息(“QQ西游 %X\r\n”,B);A.包结束指针1=(DWORD)包地址+包长;A.包结束指针2=(DWORD)包地址+包长;A.包开始指针=(DWORD)包地址;原创 2023-02-11 10:21:53 · 770 阅读 · 0 评论 -
【游戏逆向】RPG游戏背包镶嵌系统分析
以这款游戏为例,我们来对装备上的镶嵌槽和镶嵌宝石进行分析。我们发现物品分为最大的镶嵌槽数量和以及开启的镶嵌槽数量,通过对镶嵌槽进行开启,并观察物品对象中的变化,得出+45为物品已经开启的镶嵌槽数量,下断访问后可以在代码段得到偏移(如图)这里得出的偏移是一个结构大小为2字节的数组,数组的最大成员数量是6,而对WORD型的ID分析,发现这是宝石的ID,在取名字的数组中可以得到名字(如图)在+130偏移处的数值为6,和最大镶嵌槽数量相等,对这个数值进行修改,发现装备显示的信息也随着改变(如图)原创 2023-02-11 10:11:33 · 721 阅读 · 0 评论 -
【游戏逆向】RPG游戏自动打怪之取得最近怪物
RPG游戏辅助想要自动打怪,首要的任务就是需要获得最近的怪物,否则打怪的顺序会非常混乱。得到的平面距离,和高度差以及空间距离,三条线段又构成了一个直角三角形。(人物.fY-fY)+(人物.fZ-fZ)*(人物.fZ-fZ));2个点的距离,也就是怪物和人物的距离应该等于图中的直角三角形的斜边。距离的平方= (X人物-X怪物)的平方 +(Y人物-Y怪物)的平方。第二步 对所有怪物的距离进行判断,筛选出距离最近的。(人物.fX-.fX)+(人物.fY-fY)空间距离的平方=平面距离的平方+Z差的平方。原创 2023-02-09 13:44:51 · 1221 阅读 · 0 评论