|
|
本帖最后由 帅比宝宝 于 2026-5-1 16:03 编辑
原帖地址
被喷不完美也是理所当然嘛,毕竟本人是菜鸡
但是只要登录上了,现在加上这个帖子是完全完美了
现在咱们去掉开屏公告
# libapp.so 开屏公告修改报告
## 修改目标
Patch 公告显示逻辑,让开屏公告不再弹出。
## 修改原理
通过分析发现,开屏公告的显示涉及多个函数,这些函数引用了公告相关的字符串(如"知道了"、"checkNoticeRewardCancel"等)。将处理公告显示的关键函数修改为直接返回(`ret`),跳过后续对话框显示逻辑。
## 定位过程
### 1. 使用 Blutter 分析获取字符串信息
通过 Blutter 分析得到对象池(pp.txt)中的关键字符串偏移:
- `知道了`:pp+0x5c3c0
- `checkNoticeRewardCancel`:pp+0x5c3b8
- `checkNoticeReward`:pp+0x260d8
- `appNoticeItems`:pp+0x612b0
### 2. 使用 r2 定位引用函数
使用 r2 的 `axt` 命令找到引用上述字符串的所有函数:
```bash
r2 -e bin.relocs.apply=true -q -c 'aaa; axt 0x5c3c0; axt 0x5c3b8; axt 0x260d8; axt 0x612b0' /0/MT2/apks/lib/arm64-v8a/libapp.so
```
得到 6 个关键函数地址:
| 函数地址 | 函数名 | 引用的字符串 |
|---------|--------|-------------|
| 0xf34c2c | fcn.00f34c2c | "知道了" (pp+0x5c3c0) |
| 0xfd5df4 | fcn.00fd5df4 | "知道了"、"checkNoticeRewardCancel" |
| 0xf338d4 | fcn.00f338d4 | 公告相关字符串 |
| 0xf351f4 | fcn.00f351f4 | 公告相关字符串 |
| 0xfb5e60 | fcn.00fb5e60 | 公告相关字符串 |
| 0xfd59c0 | fcn.00fd59c0 | 公告相关字符串 |
| 0xc03868 | fcn.00c03868 | "appNoticeItems" (pp+0x612b0) |
## 实际修改步骤
### 准备:备份原始文件
```bash
cp /0/MT2/apks/lib/arm64-v8a/libapp.so /0/MT2/apks/lib/arm64-v8a/libapp.so.bak
```
### 修改函数:fcn.00f34c2c (地址 0xf34c2c)
**功能**:引用"知道了"按钮,处理公告对话框显示逻辑
**修改前指令**:
```
0x00f34c2c fd 79 bf a9 stp x29, x30, [x15, #-0x10]!
0x00f34c30 fd 03 0f aa mov x29, x15
0x00f34c34 ef 81 01 d1 sub x15, x15, #0x60
```
**执行修改**:
```bash
r2 -w -q -c 's 0xf34c2c; wa ret; pd 1' /0/MT2/apks/lib/arm64-v8a/libapp.so
```
**修改后指令**:
```
0x00f34c2c c0 03 5f d6 ret
```
## 修改验证
验证函数是否成功 patch:
```bash
r2 -q -c 's 0xf34c2c; pd 1' /0/MT2/apks/lib/arm64-v8a/libapp.so
```
预期输出:
```
0x00f34c2c c0 03 5f d6 ret
```
## 修改效果
- 函数 `0xf34c2c` 被 Patch 为直接返回,不再执行公告对话框的显示逻辑
- 重新打包 APK 后,开屏公告不再弹出
- "知道了"按钮点击无响应(因为处理函数直接返回)
## 验证方法
1. 将修改后的 `libapp.so` 替换原 APK 中的对应文件
2. 重新签名并安装 APK:
感谢大佬专门为我制作的
so修改工具
这是
修改好的成品so文件
都说了作者在论坛,不能发,一发他就更新
截止写帖子的时候作者已经出了新版本,自己改个版本号就行了
还有几个骂不能用的,拜托,你先登录上去行吗?
|
|