修改一行汇编代码 调出unity 手游 内置辅助

说明视频:德荡乎名的个人空间-德荡乎名个人主页-哔哩哔哩视频

qq交流群:1037044062

 

游戏下载地址:

这还能是黑神话悟空?真像素级复刻!这下手机能玩辣!#7_黑神话悟空

工具下载地址:

AndnixSH/Il2CppDumper-GUI: Simple GUI version of Il2CppDumper

Windows/MacOS/Linux版本IDA Pro 9.1安装教程 | 曙光’s Blog

用zip 解压工具 打开 app

拖出

黑神话像素版v0.7-安卓版.apklibarm64-v8alibil2cpp.so

D:studyV0.7黑神话像素版v0.7-安卓版.apkassetsbinDataManagedMetadataglobal-metadata.dat

打开 Il2CppDumper GUI 选择 so 和 dat

修改一行汇编代码 调出unity 手游 内置辅助

修改一行汇编代码 调出unity 手游 内置辅助

start 启动

ida 打开 libil2cpp.so

file > script file 选择 ida_with_struct_py3.py 后 选择 script.json 后选择 il2cpp.h 然后等待 ida修复符号

打开 dump.cs 搜索 歪瓜 找到如下内容

// Namespace:
public class UI_InGame_歪瓜 : MonoBehaviour // TypeDefIndex: 3650
{
// Fields
private CanvasGroup _CG; // 0x18
private bool _; // 0x20
public Toggle _Toggle_10倍攻击; // 0x28
public Toggle _Toggle_3豆状态; // 0x30
public Toggle _Toggle_免疫伤害; // 0x38
public Toggle _Toggle_10倍移速; // 0x40
public Button _Button_喝假酒; // 0x48
public Button _Button_经验加66; // 0x50
public Button _Button_初始状态; // 0x58
public Button _Btn_神秘按钮; // 0x60
public Button _Btn_原地上香; // 0x68
public GameObject _龙卷风_Prefab; // 0x70
public Button _Btn_转送; // 0x78
public Transform _Tsf_传送子按钮; // 0x80
public Button _Button_重置技能; // 0x88
public Button _Button_解锁四技; // 0x90
public Button _Button_解锁精魄; // 0x98

。。。。。。

// Methods

// RVA: 0x94C700 Offset: 0x94C700 VA: 0x94C700
private void Start() { }

// RVA: 0x94DD88 Offset: 0x94DD88 VA: 0x94DD88
private void OnEnable() { }

// RVA: 0x94D6D4 Offset: 0x94D6D4 VA: 0x94D6D4
public void F_传送按钮部分() { }

// RVA: 0x94DEA8 Offset: 0x94DEA8 VA: 0x94DEA8
public void F_点击章节按钮(int index) { }

// RVA: 0x94E010 Offset: 0x94E010 VA: 0x94E010
public void .ctor() { }
}

这就是内置辅助的 UI了

我们打开 ida 输入G 输入 0x94C700  跳转到 0x94C700  往下看直到

 

il2cpp:000000000094C928 CBZ W8, loc_94D668
il2cpp:000000000094C92C LDR X0, [X19,#0x18]
il2cpp:000000000094C930 MOV W8, #1
il2cpp:000000000094C934 STRB W8, [X19,#0x20]
il2cpp:000000000094C938 CBZ X0, loc_94D6C8
il2cpp:000000000094C93C FMOV S8, #1.0
il2cpp:000000000094C940 MOV V0.16B, V8.16B
il2cpp:000000000094C944 MOV X1, XZR
il2cpp:000000000094C948 BL UnityEngine.CanvasGroup$$set_alph

UnityEngine.CanvasGroup$$set_alpha 为设置透明度 的方法

猜测 CBZ W8, loc_94D668 为有隐藏此 UI 跳转到 loc_94D668 的逻辑

  • CBZ:比较寄存器W8(32 位寄存器,X8 的低 32 位)的值,若为 0 则跳转到loc_94D668标签处执行。

猜测nop 掉此行 即可

用ida keypatch插件 NOP此行

Edit -> Patch program -> apply patches to input file

然后用mt管理器 替换重打包 就ok了

修改后的app下载地址:

https://wwod.lanzout.com/iu9IF33jil6b密码:e063

此条目发表在未分类分类目录。将固定链接加入收藏夹。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注