吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 19191|回复: 63
收起左侧

[iOS 原创] 某青蛙 IOS版三叶草修改

  [复制链接]
云在天 发表于 2018-2-8 16:40
本帖最后由 云在天 于 2019-6-6 12:54 编辑

旅行青蛙 IOS版修改

Unity3D型游戏修改
2018-2-8 15:00


准备工作

  1. 已砸壳的IPA安装包 注意架构!!!
  2. Hopper
  3. Il2CppDumper

工作环境

MacOS
Windows

开始工作

修改三叶草数量

使用Hopper分析64位可执行程序发现,里面做了符号剔除,除了一个广告SDK外,并没有太多有价值的信息。被剔除符号表后,函数大部分是以sub_XXXX的形式的C函数。不要着急,查看二进制文件中的字符串信息,发现是以Unity3D引擎编写的程序,应该是使用 IL2CP 选项来编译的C代码。

PS:这里我们也可以从Android的角度想,想要知道是Unity3D的编译形式不难

因为直接分析可执行文件难度较大而以此方式编译的代码,游戏逻辑使用的字符串都保存在 Data/Managed/Metadata/global-metadata.dat中,所以我们进行如下操作:

  1. 将IPA包解压开,找到文件global-metadata.dattabikaeru注意后者是个二进制文件,在Window里描述是文件,解压出来备用
  2. 使用 Il2CppDumper,在Window平台下,运行 Il2CppDumper.
    2.1 先选择二进制可执行程序tabikaeru
    2.2 然后选择 global-metadata.dat
    2.3 平台选择 64bit, 模式选择Auto,运行结束,会生成dump.csscript.py两个文件和一个DummyDll文件夹

PS:这里要注意下,如果你是从PP助手下载的已砸壳的IPA就要选择32bit,其他操作如上

完成上面的步骤,Unity3D的解包工作就完成了,我们开始分析头文件

打开生成的 dump.cs,这是游戏所有C#头文件信息。

先大概浏览一下,我们的目标是修改三叶草的数量,我们先尝试在里面搜索关键词 Clover 即三叶草,着重查看Set/Get字样的函数,最终我们发现在类SuperGameMaster发现如下定义:

public static void getCloverPoint(int num); // 0x1000938BC
public static int CloverPointStock(); // 0x100093A2C 

如果是32bit就是:

        public static void getCloverPoint(int num); // 0x1000A2F30
        public static int CloverPointStock(); // 0x1000A30A0

从字面意思上看,getCloverPoint 就是得到三叶草数量或者叫更新比较好,它的参数又是一个整形,而所在的类名翻译过来是超级游戏管理员,这就更加确定了这个函数就是修改三叶草的关键

转到MacOS环境,在Hopper里转到地址0x1000938BC/A2F30-->这个就是getCloverPoint后面的注释地址,注意地址不固定

PS:其实这么分析也很复杂,我们还是可以从Android的软件下手,确定关键点/。

直接修改汇编代码,将该函数的返回值修改掉, int 类型的函数返回值存在 w0 里,这里直接修改w0的值然后让函数返回。

选择菜单 Modify - Assembel Instruction, 先输入 mov w0, #0xffff, 然后点击弹窗的 Assemble and Go Next, 再输入 ret

这样修改就完成了,保存:

选择菜单 File - Produce New Executable, 生成新的可执行文件,然后替换原IPA中的文件就好了

最后将修改后的IPA重签名或者发布到第三方的平台就可以测试了

效果图:

免费评分

参与人数 10威望 +1 吾爱币 +18 热心值 +10 收起 理由
东方不可爱 + 1 + 1 谢谢@Thanks!
bibi + 1 + 1 谢谢楼主
jinxiaoyun + 1 + 1 用心讨论,共获提升!
wubin6664877 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Hmily + 1 + 10 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
尘世DL + 1 不明觉厉
旋木过流年 + 1 + 1 用心讨论,共获提升!
煦涵 + 1 + 1 用心讨论,共获提升!
多麻少辣 + 1 + 1 我很赞同!
xiaofeiyang + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

sexzhangyu 发表于 2018-11-30 15:19
像这种 我要赋值  要怎么写 代码呢   
text:011D33C4                 PUSH            {R4,R5,R7,LR}
__text:011D33C6                 ADD             R7, SP, #8
__text:011D33C8                 MOV             R4, R0
__text:011D33CA                 LDR             R5, [R4,#0x2C]
请赐教
 楼主| 云在天 发表于 2018-2-8 19:41
gunxsword 发表于 2018-2-8 19:34
没越狱的话,要怎么安装修改过的IPA呢?听说好像要什么企业签名什么的吧,希望可以说一下!

Cydia Impactor用这个,输入自己的AppleID就好了
keephappy 发表于 2018-2-8 16:47
酸奶甜喵呜 发表于 2018-2-8 16:48
虽然看不懂,还是要说句谢谢
keephappy 发表于 2018-2-8 16:47
这个没什么意思啊  不是特好玩啊
keephappy 发表于 2018-2-8 16:49
这个游戏好玩吗
q13774972508 发表于 2018-2-8 16:50
不明觉厉
zhaotianrun 发表于 2018-2-8 16:54
这个改ipa是一个方法,不过我认为还是用theos编写tweak好点,ipa还要签名
头像被屏蔽
cndgyg 发表于 2018-2-8 16:55 来自手机
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 云在天 发表于 2018-2-8 16:55
zhaotianrun 发表于 2018-2-8 16:54
这个改ipa是一个方法,不过我认为还是用theos编写tweak好点,ipa还要签名

你如果没有越狱,无论修改还是注入都要签名
 楼主| 云在天 发表于 2018-2-8 16:56
cndgyg 发表于 2018-2-8 16:55
感觉破解版有点没意思了,什么资源都是无限的

破这个无非学习修改方法,并不真玩游戏
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 22:12

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表