王铲铲的致富之路-逆向分析

游戏介绍

版本:1.2.4
设备:xsmax ios 14.8
游戏开发环境:Unity

游戏玩法

看着他挖,但是你需要钱去升级设备、场子等等,总之有钱!这个游戏就是你的天下!!!
游戏不需要额外充钱,但是会一直有广告

逆向过程

砸壳

获得未加密的ios app

砸壳环境

  1. 实体机xsmax 系统版本14.8 已经越狱
  2. Mac os环境 需要装usbmuxd,Windows下没找到能解决该问题的方法
  3. 均安装frida 同一版本就行
  4. Frida-ios-dump

开始砸壳

  1. 确保frida能正常连通
    使用usb连接手机设备,使用命令frida-ps -U 该命令用于查看USB连接设备当前运行的进程。
    待补充图

  2. 使用iproxy命令转发22端口,iproxy 2222 22

  3. 修改Frida-ios-dump 脚本中的root密码

  4. 输入命令 python dump.py -l 列出当前设备中的应用程序

  5. 输入命令 python dump.py com.mojike.digearth ,开始砸壳

解包分析

复制dump中的ipa文件到Windows下,进行下一步分析。
首先重命名.ipa为.zip 并解压

简单说明一下重要的目录结构,该游戏是Unity开发。

Data 目录


data.unity3d文件是游戏的资源文件,可以通过AssetStudio.net6 或者 AssetRipper_win_x64 进行查看或者分析
RaW 文件夹里面放着一些分享时的图片资源
Managed 文件夹放着ll2cpp生成后的文件 非常重要!!!
mono 放着数据库相关文件

Frameworks目录


UnityFramework.framework 里面放着游戏编译后的object-c程序 很重要
KSAdSDK.framework 广告框架,没有详细 研究
TTNetworkManager.framework 网络相关,没有详细研究

ll2cpp反编译

利用 Il2CppDumper-net6-v6.7.25 进行反编译

可执行文件位置


符号表数据位置global-metadata.dat

反编译后的数据信息

其中stringliteral.json 是字符串表信息,包含着游戏字符串和对应偏移地址,il2cpp.h 是object-c的结构体信息
dump.cs是.net反编译后的源码信息,DummyDll中包含的是提取出来的所有游戏DLL信息与dump.cs内容一致。

逆向分析主程序

首先通过ida打开程序

接着利用脚本导入之前得到的il2cpp.h文件,和字符串文件信息

这几个都可以导入,等待20-30分钟(函数量非常大!!)

接着就能看到 字符串已经可以分析出来了,函数名称也已经恢复,接着通过字符串文件,搜索我们的需求 !!!!
通过关键字moneycoin 搜索到一个关键信息

ida中输入g,复制地址跳转

发现有几个函数引用了该字符串,get_GameCoin、set_GameCoin,因为目的是要改钱,所以set对我们更重要

根据value进行设置,看看哪里用了set

发现有CostCoin函数和AddCoin函数都用到了该函数,所以这里有两种改法,一个是修改AddCoin时设置钱的数量,一个是修改花费时不扣钱。

可以看到增加钱的逻辑,是查询现有的钱然后加上获得的钱,这里修改的话就会造成一个问题!!!初始化的时候钱为0.不太好改动,所以我打算改动了花费处

可以看到,我把花费时应该-coin的位置改成了+coin,这样的话每次花钱都会价钱,达到了一个修改金钱的目的

改法比较简单,把原本FSUB改成FADD就可以了

月球模式patch

除了钱还有个新出的模式 月球模式,这个也是一种钞票,我们用同样的方式进行逆向


又看到熟悉的ADD和Cost,同样减改成加

改法相同FSUB改成FADD

打包重签名

这个过程方法有太多太多,这里为了能尽快玩上游戏,我们就走最朴实无华的路线。
首先将patched后的游戏文件替换掉原本的文件

把该文件复制到对应位置,并且进入这个位置,右键压缩文件
压缩后,重命名Payload.zip为Payload.ipa
打开爱思助手!!!,使用里面的签名工具

签名完成后,就能安装使用了

最终结果

成功修改两个金钱,由于文章时隔3个月才发布,游戏早已经卸载,具体效果大家可以复现后查看。

待修改

广告也挺烦人,有一个函数用来控制广告相关的展示,以后空闲了再来回头看看这个怎么处理!

王铲铲的致富之路-逆向分析ios相关推荐

  1. [系统安全] 二十四.逆向分析之OllyDbg调试INT3断点、反调试、硬件断点与内存断点

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  2. [系统安全] 二十三.逆向分析之OllyDbg动态调试复习及TraceMe案例分析

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  3. [系统安全] 六.逆向分析之条件语句和循环语句源码还原及流程控制

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  4. [安全攻防进阶篇] 六.逆向分析之OllyDbg逆向CrackMe01-02及加壳判断

    前文作者讲解了OllyDbg和在线沙箱的逆向分析过程,分享了恶意软件如何通过宏脚本发送勒索信息或密码至用户邮箱.这篇文件将带领大家逆向分析两个CrackMe程序,包括逆向分析和源码还原,基础性文章,希 ...

  5. [安全攻防进阶篇] 四.逆向分析之条件语句和循环语句源码还原及流程控制逆向

    从2019年7月开始,我来到了一个陌生的专业--网络空间安全.初入安全领域,是非常痛苦和难受的,要学的东西太多.涉及面太广,但好在自己通过分享100篇"网络安全自学"系列文章,艰难 ...

  6. [安全攻防进阶篇] 一.什么是逆向分析、逆向分析应用及经典扫雷游戏逆向

    从2019年7月开始,我来到了一个陌生的专业--网络空间安全.初入安全领域,是非常痛苦和难受的,要学的东西太多.涉及面太广,但好在自己通过分享100篇"网络安全自学"系列文章,艰难 ...

  7. Android逆向分析案例——某点评APP登陆请求数据解密

    今天,七夕,单身23载的程序汪,默默地写着博客~ 上一次的逆向分析案例中讲了如何去分析某酒店的APP登陆请求,为了进一步学习如何逆向分析以及学习其他公司的网络传输加解密,本次案例将继续就登陆请求的数据 ...

  8. [安全攻防进阶篇] 二.如何学好逆向分析、逆向路线推荐及吕布传游戏逆向案例

    从2019年7月开始,我来到了一个陌生的专业--网络空间安全.初入安全领域,是非常痛苦和难受的,要学的东西太多.涉及面太广,但好在自己通过分享100篇"网络安全自学"系列文章,艰难 ...

  9. [系统安全] 二.如何学好逆向分析及吕布传游戏逆向案例

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

最新文章

  1. 推荐8个能极大提高办公效率的软件,让你告别加班
  2. Linux Kernel TCP/IP Stack — Socket Layer
  3. java获取服务器信息吗_java获取服务器一些信息的方法
  4. 简单字符串比较——JAVA
  5. WeChat的catchtap与bindtap的区别:b(ubble)开头的方法会进行冒泡 形象理解:bind会有涟漪 以圈扩散 catch不会只会影响自己
  6. 在 Linux 中安装 jdk 和 Tomcat 中遇到的命令
  7. unity可以直接转h5吗_瞎折腾:用Unity撸纯HTML5移动游戏/应用
  8. DJANGO中操作数据库
  9. 【信息系统项目管理师】第8章-项目质量管理 知识点详细整理
  10. 集合之HashSet
  11. 【图像检索】基于matlab GUI综合颜色和形状特征图像检索【含Matlab源码 395期】
  12. velocity 语法
  13. c++三子棋游戏程序
  14. 微信小程序开发---微信获取微信绑定手机号并登录流程
  15. 基于Qt的网络五子棋游戏对战
  16. 智能合约Smart Contract技术详解
  17. 【科研】浅学Cross-attention?
  18. 24点卡牌游戏C++实现
  19. 计算机考研落榜了怎么办,一位考研落榜者的自述:考研失败的原因
  20. 杨辉三角 (java语言)

热门文章

  1. 打开页面自动强制QQ对话
  2. nodejs下image-size统计图片的尺寸
  3. 基于 Django 的藏头诗生成
  4. 使用VC6.0实现窗口的任意分割
  5. 重庆市计算机专科学校排名榜公办,2020重庆相对好考专科学校是哪几所?附重庆公办专科学校排名...
  6. 职场人必备:工作述职报告PPT模板
  7. Tkinter 组件详解(五):Frame
  8. 投资组合--蒙特卡洛模拟(Python)
  9. 计算机考试可以带手环吗,注意这四点,分分钟学会选购智能手环!
  10. 品牌软文营销的通用步骤,软文营销案例分享