好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 ysysj2009 于 2025-8-19 15:53 编辑
我在修改一个Unity单机游戏,游戏是按关卡来玩的,由于其服务器已关停,关卡也无法下载,我弄到了完整资源,所以我计划将完整关卡资源放到/Android/data下对应位置并修改其存档文件来进入关卡。
然后我发现它apk里面AndroidManifest.xml不允许存档,由于手机没root,存档也提取不出,随后我认为把AllowBackup改为true,然后签名apk再覆盖安装,再用adb进行备份来提取存档文件,但是这要求apk使用的签名不变,所以覆盖安装再提取完整存档文件的方案几乎不可能。后来我用签名过的新安装包安装后提取存档文件,找到存档文件名为jp.bitqueen.mj.v2.playerprefs.xml,在/sp目录下,但这不是完整存档文件,而且有加密。我在吾爱一搜解密存档文件的方法,几乎只有一个帖子有提到,而且较复杂,我的时间和精力不允许。
随后就出现了方案二:修改其libil2cpp.so来绕过下载界面并直接进入关卡,可我并不熟悉动态hook,只能在dump.cs中埋头寻找下载关卡界面的关键类和方法。
找到了LevelResources类,dump.cs中代码如下:
// RVA: 0x853258 Offset: 0x853258 VA: 0x853258
public List<string> GetLevelResourcesPath() { }
// RVA: 0x85337C Offset: 0x85337C VA: 0x85337C
public Object GetLevelResource(string key) { }
// RVA: 0x853644 Offset: 0x853644 VA: 0x853644
public TextAsset GetLevelResourceTable() { }
在IDA中几次修改后均导致游戏停在加载界面无法进入,实在没招了,有没有大佬帮忙找一下这个下载关卡的类和方法
APK、dump.cs、IDA扫描好的libil2cpp.so.i64以及完整资源下载在此,提取码52pj |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|
|