吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 13872|回复: 51
收起左侧

[Android 原创] 小说家模拟器2之il2cpp.so修改教程

  [复制链接]
正己 发表于 2021-4-16 16:39
本帖最后由 正己 于 2021-4-16 18:45 编辑

前言:

这个游戏确实是蛮有意思的,勾起了我曾经想写小说的梦想。
由于不能直接发成品,所以我就放软件区了。
成品看这里:点我跳转


准备:

1.小说家模拟器1.1.8

2.IDA

3.IL2cppdumper

4.MT管理器


过程:

一、dump出cs文件

1.看lib文件夹内有il2cpp文件,于是祭出神器il2cppdumper,下载地址
2.下载成功后,双击Il2CppDumper.exe,先选择so,然后选择dat文件(在这之前记得把这两个文件从游戏安装包里提取出来)
QQ截图20210415145158.png

二、IDA分析

1.首先把我们的so拖进ida,然后左上角加载脚本,并选择好我们刚才dump的script.json(方便我们分析函数)。
QQ截图20210415211905.png QQ截图20210415211919.png QQ截图20210415211932.png
2.等待ida加载,这时打开我们dump好的dump.cs文件,搜索get_money,并复制RVA地址0x347B5C

        // RVA: 0x347B5C Offset: 0x347B5C VA: 0x347B5C
        public static long get_Money() { }
        // RVA: 0x347BE8 Offset: 0x347BE8 VA: 0x347BE8
        public static void set_Money(long value) { }

3.回到IDA,按G键跳转地址,如果这时IDA还没加载到这里,可以按下C键让它提前显示出来,然后我们直接采用暴力赋值法,Ctrl+Alt+k进行修改(同时需要提醒一下,因为我们改了大量金币,这个游戏不知道怎么判断的,房东阿姨那里会说我们破产了,没关系,点免租七天就可以一直玩下去了,只不过是要每天交房租)

MOV             R0, #0xFFFFFFF
BX              LR

QQ截图20210416133212.png QQ截图20210416133242.png
4.接着回到dump.cs文件中,搜索reward,定位到这个函数中,很明显这是和广告相关的函数,其中的HandleReward是关键函数,同样复制RVA地址(这一步操作完之后需要断网玩才能获得奖励)

public class ADController : MonoBehaviour // TypeDefIndex: 3847
{   //广告控制
        // Fields
        public static ADController Instance; // 0x0
        public string RewardType; // 0xC
        private bool IsRewardVideoAvailable; // 0x10
        public bool handleReward; // 0x11

        // Methods
        // RVA: 0x67BBB0 Offset: 0x67BBB0 VA: 0x67BBB0
        private void Start() { }
        // RVA: 0x67BC28 Offset: 0x67BC28 VA: 0x67BC28
        public void InitSDK() { }
        // RVA: 0x67BCA0 Offset: 0x67BCA0 VA: 0x67BCA0
        private void Update() { }
        // RVA: 0x67C518 Offset: 0x67C518 VA: 0x67C518
        public void ShowBannerAD() { }
        // RVA: 0x67C54C Offset: 0x67C54C VA: 0x67C54C
        public void HideBannerAD() { }
        // RVA: 0x67C580 Offset: 0x67C580 VA: 0x67C580
        public void DestroyBannerAD() { }
        // RVA: 0x67C5B4 Offset: 0x67C5B4 VA: 0x67C5B4
        public void UserOptToWatchAd(string RewardType) { }
        // RVA: 0x67BD2C Offset: 0x67BD2C VA: 0x67BD2C
        public void HandleReward(string paramHolder) { }  //这个是关键函数,意思是处理奖励
        // RVA: 0x67D5BC Offset: 0x67D5BC VA: 0x67D5BC
        private void increaseRewardCountByOne() { }
        // RVA: 0x67D64C Offset: 0x67D64C VA: 0x67D64C
        private void StopRewardVideoForAWhile() { }
        // RVA: 0x67D7A0 Offset: 0x67D7A0 VA: 0x67D7A0
        private bool CheckIfRewardAvailable() { }
        // RVA: 0x67C608 Offset: 0x67C608 VA: 0x67C608
        public bool UseItemToFreeAD() { }
        // RVA: 0x67D974 Offset: 0x67D974 VA: 0x67D974
        public void .ctor() { }
}

5.打开IDA,跳转地址,从这个函数内容我们不能看出什么,于是点击左上角的函数名,按下X键,查看调用,紧接着它就跳到上面一点点的位置。这这里我们可以发现上方有一个判断,很明显就是判断我们是否有没有观看完广告,因此我们直接把它NOP掉,这样它就会直接执行奖励广告的逻辑
QQ截图20210415212742.png QQ截图20210415212304.png QQ截图20210416133504.png QQ截图20210416164454.png
6.再回到dump.cs文件,搜索get_light,复制RVA地址

// RVA: 0x3757C0 Offset: 0x3757C0 VA: 0x3757C0
        public static int get_Light() { }
        // RVA: 0x37B8B0 Offset: 0x37B8B0 VA: 0x37B8B0
        public static void set_Light(int value) { }

老样子IDA跳转,同样暴力赋值完事
QQ截图20210416162939.png QQ截图20210416163257.png
7.至于体力的修改暂时还没找到关键函数,大佬们可以试一试

三、 简单修改方法:

打开MT管理器,找到这个路径:/storage/emulated/0/Android/data/cs.xsjmn2.com/files/NewArchives/
,这个是你的存档文件,其中的JsonPerson.json有你的个人信息,可以直接修改money数量,以及灵感,修改完记得把备份文件删掉。
QQ图片20210416163802.jpg QQ图片20210416163805.jpg QQ图片20210416163807.jpg


最后:

最后我们看一下效果:
QQ图片20210416163814.jpg

免费评分

参与人数 16吾爱币 +15 热心值 +16 收起 理由
mingan2001 + 1 + 1 我很赞同!
qq42773175 + 1 谢谢@Thanks!
西枫游戏 + 1 + 1 我很赞同!
skeeeer + 1 + 1 谢谢@Thanks!
笙若 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
imeteor + 1 + 1 谢谢@Thanks!
shiina0831 + 1 + 1 谢谢@Thanks!
山魈笑 + 1 + 1 谢谢@Thanks!
nmy124 + 1 + 1 谢谢@Thanks!
年晚修 + 1 谢谢@Thanks!
芽衣 + 2 + 1 小说家养成
Christmas丶幻 + 1 + 1 谢谢@Thanks!
unitTK + 1 + 1 谢谢@Thanks!
FireYe. + 1 + 1 我很赞同!
吾爱泼姐 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
zhangxu888 + 1 + 1 用心讨论,共获提升!

查看全部评分

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

justFWD 发表于 2021-5-11 16:47
正己 发表于 2021-5-11 15:06
https://github.com/Perfare/Riru-Il2CppDumper

大神啊
除了加密,这个游戏还有签名校验,如果用自己的签名去重签新版本的游戏,就会闪退。这个有办法解决吗?
 楼主| 正己 发表于 2021-5-11 17:30
justFWD 发表于 2021-5-11 16:47
大神啊
除了加密,这个游戏还有签名校验,如果用自己的签名去重签新版本的游戏,就会闪退。这个有办法解 ...

简单方法就是核心破解,难点就是看日志去干so
 楼主| 正己 发表于 2021-4-16 16:43
zhangxu888 发表于 2021-4-16 16:45
感谢分享!!!看看学习学习!

免费评分

参与人数 1热心值 +1 收起 理由
芽衣 + 1 热心回复!

查看全部评分

wxbb979 发表于 2021-4-16 16:45
前来学习
FireYe. 发表于 2021-4-16 16:52
厉害厉害,期待成品,授人以鱼又授人以渔,可以。
吾爱泼姐 发表于 2021-4-16 16:54
大佬啥时候发些私家视频教程呗,我这理解能力太弱
 楼主| 正己 发表于 2021-4-16 16:58
吾爱泼姐 发表于 2021-4-16 16:54
大佬啥时候发些私家视频教程呗,我这理解能力太弱

视频可比写帖子麻烦多了,以后有机会在试试
芽衣 发表于 2021-4-16 17:19
子IDA跳转,同样暴力赋值完事
 楼主| 正己 发表于 2021-4-16 17:29
芽衣 发表于 2021-4-16 17:19
子IDA跳转,同样暴力赋值完事

都是芽衣大佬教的好
丨夜愿丨 发表于 2021-4-16 18:09
nb呀 学到了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-12-23 11:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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