12345下一页
返回列表 发新帖

解决求助贴“一个flutter求助”

  [复制链接]

38

主题

1142

回帖

5070

积分

硕士生

Rank: 6Rank: 6

金币
2165
好评
30
信誉
101
发表于 2026-1-21 00:16:04 来自手机  | 显示全部楼层 | 阅读模式  来自 重庆
本帖最后由 绿里 于 2026-1-21 00:52 编辑

软件来自论坛求助贴

首先简单分享一下思路吧,Blutter跑出来需要的dart文件,通过抓包可以获取关键词:
  1. {"code":200,"msg":"操作成功","data":{"isVip":0,"isPermanent":0,"vipType":null,"startTime":null,"nextTime":null,"endTime":null}}
复制代码

正常的话去dart文件中搜索isVip/isPermanent/vipType都会比较多结果,肯定是几个关键词都在同一个类或者函数里准没错了,可以定位到user_cache_util.dart类下的一个闭包函数async_op,反汇编肯定晦涩难懂,直接丢给AI写成伪c,我精简一下能用上的:
  1. class UsercacheUtil {
  2.   Future<void> async_op() async {
  3.     // 1. 获取用户信息
  4.     var userInfo = await httpPersonalInfoGetUserInfo();
  5.     setUserName(userInfo.nickName);
  6.     setUserAvatar(userInfo.avatar);
  7.    
  8.     // 2. 获取VIP信息  
  9.     var vipInfo = await httpVipGetVipInfo();
  10.     setIsVip(vipInfo.data.isVip);           // 从服务器获取
  11.     setIsPermanent(vipInfo.data.isPermanent); // 从服务器获取
  12.     setVipType(vipInfo.data.vipType);       // 从服务器获取
  13.     setStartTime(vipInfo.data.startTime);   // 从服务器获取
  14.     setEndTime(vipInfo.data.endTime);       // 从服务器获取
  15.    
  16.     // 3. 获取续订列表
  17.     var renewalList = await httpAutomaticRenewalList();
  18.     setRenewalList(renewalList.data);
  19.   }
  20. }
复制代码

可以看到好几个set函数对字段进行赋值操作,那么理想的破解肯定是赋值为1,抓包尝试也会成功,那么就需要找到这几个set函数对应的反汇编了,通过观察分析可以发现>位置1:isVip 字段 (0x97adc0-0x97adc8),位置2:isPermanent 字段 (0x97ae74-0x97ae7c),位置3:vipType 字段 (0x97af94-0x97af9c)都有相同模式代码:
  1. 0x97adbc: ldur x0, [x29, #-0x58]        ; 从栈加载isVip对象
  2. 0x97adc0: sbfx x1, x0, #1, #0x1f        ; Smi值提取:x1 = x0 >> 1,这里往右移一位是用了Smi概念存储小整数这里结果为1。
  3. 0x97adc4: tbz w0, #0, #0x97adcc         ; 检查类型:是Smi吗?
  4. 0x97adc8: ldur x1, [x0, #7]             ; 从对象加载值

  5. # 步骤2:调用set函数
  6. 0x97add0: stp x1, x16, [x15, #-0x10]!   ; 压栈参数
  7. 0x97add4: bl #0x47cc70                  ; 47cc70应该就是set函数了
复制代码

那么问题来了,怎么改?其实可以看到如0x97adc8是把值给到x1再给到stp参数准备的,那么我们直接赋值x1=1,修改反汇编的时候记住三大准则1. 最小化修改:只改必要的指令
2. 保持兼容:不破坏原有代码结构
3. 跳过复杂逻辑:避免处理Dart运行时细节

那么就应该考虑到修改sbfx x1, x0, #1, #0x1f为mov x1, #1往后会tbz w0, #0, #0x97adcc类型检查,ldur x1, [x0, #7]对象提取,那么我是这样处理的:
  1. 0x97adc0: sbfx x1, x0, #1, #0x1f      ;
  2. 0x97adc4: tbz w0, #0, #0x97adcc       ;
  3. 0x97adc8: ldur x1, [x0, #7]           ;
  4. 改为:
  5. 0x97adc0: mov x1, #1      ;
  6. 0x97adc4: nop       ;
  7. 0x97adc8: nop           ;
复制代码


分析到这里请参照修改isPermanent和vipType,看过@hiicome 求助贴的会好奇没修改endTime能行吗?我这里也是看到了isPermanent推测已经是永久会员了,你们自己可以本地patch一个字符串是有些复杂但可行的,找一个空区域,要么用现成的。

不够深度的逆向分析成果,肯定有不完善或错误的地方,请见谅!
最后提供一下修改好的libapp.so
密码回复可见!
密码:9euo

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
已有2人评分金币 理由
言阳 + 1 赞一个!
青春向上 + 1 感谢分享。

查看全部评分 总评分:金币 +2 

回复

使用道具 举报

38

主题

1142

回帖

5070

积分

硕士生

Rank: 6Rank: 6

金币
2165
好评
30
信誉
101
发表于 2026-1-21 00:18:04 来自手机  | 显示全部楼层  来自 重庆
首次进入登录后退出重新进,不知道是软件自身逻辑毛病还是因为我没改好。
回复

使用道具 举报

118

主题

2438

回帖

6636

积分

硕士生

Rank: 6Rank: 6

金币
312
好评
53
信誉
25

MT论坛最佳新人MT论坛新人考神MT论坛帅哥

发表于 2026-1-21 00:20:03 来自手机  | 显示全部楼层  来自 河南
什么软件也不说,要不要这么意识流啊
回复

使用道具 举报

5

主题

2100

回帖

7247

积分

硕士生

Rank: 6Rank: 6

金币
2691
好评
16
信誉
100

考神MT论坛最佳新人MT论坛帅哥MT论坛新人

发表于 2026-1-21 00:25:44 来自手机  | 显示全部楼层  来自 河南
帅比宝宝 发表于 2026-1-21 00:20
什么软件也不说,要不要这么意识流啊

倒班排班表
回复

使用道具 举报

0

主题

547

回帖

1773

积分

高中生

Rank: 4

金币
707
好评
0
信誉
101
发表于 2026-1-21 00:34:06 来自手机  | 显示全部楼层  来自 福建
看看隐藏
回复

使用道具 举报

0

主题

113

回帖

304

积分

初中生

Rank: 3Rank: 3

金币
175
好评
0
信誉
100
发表于 2026-1-21 01:11:39 来自手机  | 显示全部楼层  来自 安徽
帅比宝宝 发表于 2026-1-21 00:20
什么软件也不说,要不要这么意识流啊

倒班排表
回复

使用道具 举报

82

主题

2316

回帖

6791

积分

硕士生

Rank: 6Rank: 6

金币
129
好评
5
信誉
108

MT论坛新人考神MT论坛最佳新人

发表于 2026-1-21 01:15:49 来自手机  | 显示全部楼层  来自 山西
本帖最后由 @shikoud 于 2026-1-21 01:32 编辑

谢谢分享
回复

使用道具 举报

218

主题

5609

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
8152
好评
25
信誉
134

MT论坛最佳新人MT论坛活跃会员MT论坛帅哥MT论坛新人MT论坛灌水老大考神

发表于 2026-1-21 01:35:58 来自手机  | 显示全部楼层  来自 广东
看看有没有用
回复

使用道具 举报

1

主题

1627

回帖

4178

积分

大学生

Rank: 5Rank: 5

金币
615
好评
0
信誉
100
发表于 2026-1-21 01:44:10 来自手机  | 显示全部楼层  来自 广西
看看
回复

使用道具 举报

4

主题

1363

回帖

7621

积分

硕士生

幼儿园大班

Rank: 6Rank: 6

金币
1818
好评
1
信誉
100

MT论坛帅哥考神

发表于 2026-1-21 01:57:01 来自手机  | 显示全部楼层  来自 广东
看看隐藏
回复

使用道具 举报

26

主题

3671

回帖

7388

积分

硕士生

Rank: 6Rank: 6

金币
268
好评
2
信誉
94

考神MT论坛新人MT论坛帅哥MT论坛最佳新人

发表于 2026-1-21 02:29:05 来自手机  | 显示全部楼层  来自 江西
看看隐藏
回复

使用道具 举报

20

主题

2499

回帖

8220

积分

硕士生

Rank: 6Rank: 6

金币
1289
好评
2
信誉
100

MT论坛最佳新人MT论坛新人

发表于 2026-1-21 05:53:12 来自手机  | 显示全部楼层  来自 山东
看看隐藏
回复

使用道具 举报

10

主题

4871

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
3491
好评
5
信誉
98

MT论坛最佳新人

QQ
发表于 2026-1-21 05:59:21 来自手机  | 显示全部楼层  来自 江苏
没修改endTime还真的能行,我只是简单改了一下响应,貌似是正常的,没深度测试。
回复

使用道具 举报

18

主题

4877

回帖

1万

积分

博士生

MW

Rank: 7Rank: 7Rank: 7

金币
2517
好评
2
信誉
100

考神MT论坛新人MT论坛帅哥MT论坛最佳新人

发表于 2026-1-21 06:13:58 来自手机  | 显示全部楼层  来自 新疆
感谢分享,看看隐藏
回复

使用道具 举报

6

主题

6282

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
1201
好评
5
信誉
102
发表于 2026-1-21 06:15:00 来自手机  | 显示全部楼层  来自 江苏
看看隐藏
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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