硕士生
 
- 金币
- 3830
- 好评
- 25
- 信誉
- 120
|
本帖最后由 tuandgame 于 2025-11-9 11:05 编辑
既然教程让ai都搞出来了,那发一下吧熟手速记:
`MySubscriptionActivity.initData()` → 协程里先调 `Account.isSuperPackageUser()` → 返回 true 就直接变永久会员。
于是只跟这一条调用链,别的全不看。
---
1 定位入口
jadx 全局搜 `MySubscriptionActivity` → `initData()` → 翻到
```
invoke-virtual {…}, Lcom/imoblife/brainwave/storge/Account;->isSuperPackageUser(…)
```
鼠标点进去就进 `Account.smali`。
---
2 追踪永久标记
`Account.isSuperPackageUser()` 只有一句
```
withContext(IO) { … }
```
继续跟实现类 `Account$isSuperPackageUser$2` → `invokeSuspend()`
里面会走到
```
invoke-interface … Lcom/imoblife/brainwave/db/OrderDao;->isSuperPackageUser(JILjava/lang/String;)Ljava/util/List;
```
返回值非空且 size>0 就认为永久会员。
---
3 定型
至此判定点锁定:
`OrderDao.isSuperPackageUser()` 返回的 `List` 只要非空即可。
后面就是熟手套路:
- smali 里 `move-result-object vx` 后直接 `new ArrayList` 顶掉;
- 或者 `Account.isSuperPackageUser()` 整体 return `Boolean.TRUE`。
---
一句话:
从 UI 事件→`initData`→`Account.isSuperPackageUser`→`OrderDao.isSuperPackageUser` 一路点下去,看见第一个返回 List 的就捅掉,完事。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|