75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析

这篇具有很好参考价值的文章主要介绍了75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

内容参考于:易道云信息技术研究院VIP课

上一个内容:物品名称与物品编号的映射关系分析-CSDN博客

通过上一个内容已经可以通过物品的id得到一个名字,知道了它的算法,它的算法自己封装好了,我们直接用就好,接下来要用到物品的指针了,所以接下来分析物品的指针怎样得到,某一个物品的指针怎样得到,然后上一个内容中分析出,它是通过调用物品类里的成员看出得到的,这个物品对象地址是通过ebx,所以接下来,看看ebx从哪来的。

首先打开x96dbg,来到下图位置(0x739915)

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

然后往上滑看到:ebx的值是从esi+390位置得到的,也就是说是通过传参进来的

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

看断点:

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

调用物品类成员函数位置,可以看出它与 esi+390位置得到的 内容一样,然后esi是通过ecx来到,所以它是通过上一层得到的,所以接下来去上一层,

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

ctrl+f9再按f8,来到上一层

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

上一层里的ecx,是0x22A33490

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

与获取名字的函数里的esi一样,然后在反上一层看看(从0x754348位置反不是下图中的位置)

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

然后就来到了,下图位置

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

然后在断点:还是0x22A33490,然后反上一层看看,现在追了这么多层还没找到,不是一件好事,这说明这个体系比较复杂

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

然后ctrl+f9,再按f8,来到下图位置

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

然后它的ecx还是没变,然后继续往上追

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

然后ctrl+f9,再按f8,来到下图位置

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

它的ecx也还是没变,然后继续往上追

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

然后ctrl+f9,再按f8,来到下图位置,然后游戏中鼠标一动它就会断点住,它应该是跟界面有关系,也就是说最终得到的是0x72FC98位置的函数,所以只能在 0x72FC98位置的函数里获取,然后不分析它了,但凡涉及到ui的就是很底层的代码了,这么底层的代码去找的话很累,所以不用它,不找这个麻烦,然后继续往下看

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

接下来找一个跟ui没关系的地方,上方式通过,鼠标放到物品上然后弹框显示内容的代码找的,所以追到ui的逻辑里面没有什么问题,然后物品只有人物独有怪物没有,所以理论上讲背包它一定是有基址的,或者有一个很方便的基址管理方法的东西,接下来通过数量的写入来找,也就是通过物品数量的写入来追,第一物品是独立的,符合追基址的假设,第二物品既然是独立的那么写入也会是相对独立的,访问会涉及到ui,但是写入就不涉及ui的事了,所以通过写入可以把ui给毙掉,然后写入它肯定会根据背包的基址计算出物品的位置,然后再改,这样我们可以获得计算物品位置的代码,也顺便知道了背包是一个链表结构还是一个数组结构了

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

然后关闭x96dbg,重启游戏,打开 Cheat Engine 找写入地址,地址是0x5BAF36

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

然后打开x96dbg,来到 0x5BAF36

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

然后使用物品发现它会执行两次,两次ebx的值分别是通过 Cheat Engine找到的那俩值

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

然后反到上一层找ebx的值在哪来的

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

然后下图红框位置是一个典型的数组结构,这里就有背包的意思了

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

然后现在确定我们要找的ecx来自于,一个数组,如上图红框位置,然后ebx是物品指针,然后ebx来自于ecx+edi*4位置那么ecx就是背包基址,看下图使用背包第一个物品时,edi是0,ecx是一个指针,ebx是物品指针,然后继续往下看

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

使用第二个物品是,edi是1了,也就是edi是物品在背包里的序号,然后接下来就找ecx的值从哪来的

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

然后ecx的值是从下图红框位置来的,然后首先esi+3A0位置是背包里第一个物品,然后下方有一个test ecx,ecx,然后紧接着一个je指令,也就是如果ecx是0它就跳转,跳转到的函数是一个报异常的函数,然后je指令的下一行是mov eax, dword ptr ds:[esi+3A4],然后sub eax,ecx,这一句的意思就是,现在假设eax的值是12(32位的内存地址是4字节,12就表示有3个地址,4+4+4=12),然后ecx的值是0,也就是12-0结果是12,然后有sar eax,2,sar是右移运算符,也就是eax/4的意思(c++代码是eax>>2),通过上方假设的值就是12/4结果是3,然后也就是数组长度是3,这样意思是计算数组长,指针是4字节所以除以4得到数组长度,然后cmp edi,eax,edi是使用的物品序号然后物品序号跟eax作比较,然后后面跟着一个jb指令,jb指令是小于就跳转,也就是说判断使用的物品下标是否超出了背包大小,如果超出了就报异常,然后edi的值我们不需要知道,然后现在计算背包大小的方式是背包结构偏移3A4与3A0位置的值相减,然后除以4的结果

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

背包有32个

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

eax的值也是32

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

然后通过下图可以看出背包是一个指针数组,也就是数组里面放的是指针,这个指针是指向的物品结构体

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析,网游逆向分析与插件开发-背包的获取,网游逆向,游戏

然后现在知道了怎样计算背包的大小,背包的结构是指针数组,接下来就剩分析背包的基址了

 文章来源地址https://www.toymoban.com/news/detail-810116.html

 

到了这里,关于75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 70.网游逆向分析与插件开发-角色数据的获取-自动化助手UI显示角色数据

    70.网游逆向分析与插件开发-角色数据的获取-自动化助手UI显示角色数据

    内容参考于: 易道云信息技术研究院VIP课 上一个内容:利用技能点属性分析角色数据基址-CSDN博客 码云地址(ui显示角色数据 分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号:367aa71f60b9c10ff47ca913a96d2a2ede76b389 代码下载地址,在 SRO_EX 目录下,文件名为:SRO_Ex-自动化助

    2024年01月18日
    浏览(20)
  • 61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析

    61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析

    内容来源于: 易道云信息技术研究院VIP课 上一节内容:游戏公告功能的逆向分析与测试-CSDN博客 码云地址(master分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号:63e04cc40f649d10ba2f4fa313ca65cc78f46516 代码下载地址,在 SRO_EX 目录下,文件名为:SRO_Ex-游戏红字公告功能的逆

    2024年01月23日
    浏览(12)
  • 64.网游逆向分析与插件开发-游戏增加自动化助手接口-优化自动助手与游戏焦点的切换

    64.网游逆向分析与插件开发-游戏增加自动化助手接口-优化自动助手与游戏焦点的切换

    内容来源于: 易道云信息技术研究院VIP课 上一个内容:自动化助手UI与游戏菜单的对接-CSDN博客 码云地址(master分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号:617ac3477ef18273fb9cc281be3c04052304b965 代码下载地址,在 SRO_EX 目录下,文件名为:SRO_Ex-优化自动助手与游戏焦

    2024年01月15日
    浏览(13)
  • 63.网游逆向分析与插件开发-游戏增加自动化助手接口-自动化助手UI与游戏菜单的对接

    63.网游逆向分析与插件开发-游戏增加自动化助手接口-自动化助手UI与游戏菜单的对接

    内容来源于: 易道云信息技术研究院VIP课 上一个内容:游戏公告类的C++还原-CSDN博客 码云地址(master分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号:19a2828def451a280ee211c62dcd1074ed422054 代码下载地址,在 SRO_EX 目录下,文件名为:SRO_Ex-自动化助手UI与游戏菜单的对接.

    2024年02月02日
    浏览(12)
  • 使用Python突破某网游游戏JS加密限制,进行逆向解密,实现自动登录

    使用Python突破某网游游戏JS加密限制,进行逆向解密,实现自动登录

    兄弟们天天看基础看腻了吧 今天来分享一下如何使用Python突破某网游游戏JS加密限制,进行逆向解密,实现自动登录。 目标:某 7 网游登录 主页:aHR0cHM6Ly93d3cuMzcuY29tLw== 接口:aHR0cHM6Ly9teS4zNy5jb20vYXBpL2xvZ2luLnBocA== 逆向参数:Query String Parameters: password: SlVEOThrcjgzNDNjaUYxOTQzNDM0eVM

    2023年04月13日
    浏览(12)
  • 逆向分析某office插件

    逆向分析某office插件

    注:本文仅用于技术研究与探讨,不提供任何成品和补丁程序 今天要逆向的是XX格子这款部分功能付费的Office插件。先安装好后打开看看,看它都有啥可以调教的功能,发现了一个VIP窗口,那这就有意思了,狠狠的开破。 随后我们点击加入会员,点击离线登录,弹出如下窗口

    2024年02月17日
    浏览(24)
  • 【验证码逆向专栏】数美验证码全家桶逆向分析以及 AST 获取动态参数

    本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲

    2024年02月03日
    浏览(9)
  • 【iOS逆向与安全】iOS插件开发入门

    【iOS逆向与安全】iOS插件开发入门

    前言 经过之前的学习,相信你已经能熟练的使用Frida-trace、IDA Pro等逆向工具。不过,仅仅到这肯定是不够的。接下来,学会把你逆向的结果打包成插件并运行,那iOS逆向,你也就真正的入门了。 一、目标 把逆向的结果制作成插件并运行 二、工具 mac系统 Xcode:插件开发工具

    2024年02月09日
    浏览(7)
  • 【数据结构】简单的01背包 | 主要思想分析

    简单背包问题是一个经典的组合优化问题,在计算机科学和算法领域被广泛研究和应用。 问题描述如下:给定一组物品,每个物品有对应的重量和价值,以及一个固定的背包容量。目标是选择一些物品放入背包中,使得放入背包中的物品总重量不超过背包容量,同时使得物品

    2024年02月13日
    浏览(10)
  • 【iOS逆向与安全】iOS插件开发光速入门

    【iOS逆向与安全】iOS插件开发光速入门

    经过之前的学习,相信你已经能熟练的使用Frida-trace、IDA Pro等逆向工具。不过,仅仅到这肯定是不够的。接下来,学会把你逆向的结果打包成插件并运行,那iOS逆向,你也就真正的入门了。 把逆向的结果制作成插件并运行 mac系统 Xcode:插件开发工具 已越狱iOS设备:运行deb插

    2024年02月06日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包