返回列表 发新帖

【简单逆向】某追番软件逆向保姆级教程,仅供小白学习

  [复制链接]

18

主题

820

回帖

2834

积分

大学生

最强王者

Rank: 5Rank: 5

金币
1943
好评
9
信誉
113

考神MT论坛帅哥MT论坛新人MT论坛活跃会员

发表于 2024-9-10 14:22:04 | 显示全部楼层 | 阅读模式  来自 陕西
本教程适合基于flutter框架开发应用的修改  
需要用到的工具:MT管理器、Termux、DisElf2

1.下载安装Termux

  • 文件管理权限
   

2.Termux中安装python3

  • 更新包列表
    1. pkg update
    复制代码

      
  • 安装python3
    1. pkg install python3
    复制代码

      
  • 检查python3版本
    1. python3 -V
    复制代码

      
  • 检查pip3版本
    1. pip3 --versio
    复制代码

      

3.安装blutter
       这一步执行完之后可能会报这样的错误(如果没报错,直接执行下一步)
      
       python环境缺少SSL支持,执行一下代码即可
  1. pkg install openssl
复制代码
      检查python环境
  1. python
复制代码
  1. import ssl
  2. print(ssl.OPENSSL_VERSION)
复制代码
      出现这样说明环境加载成功
      

       然后再去执行上一步,成功截图
      

  • cd blutter-termux
  • find -type f -exec sed -i 's/std::format/fmt::format/g' {} +
  • cd ~
  • pwd
  • 此时路径应为"/data/data/com.termux/files/home"


4.使用blutter

  • 解压apk包中的lib文件夹下的arm64-v8a

      
  • Termux中运行blutter脚本 python3 blutter.py so文件路径 文件输出路径
  • 切换到blutter-termux目录下执行以下代码(cd blutter-termux)
    1. python3 blutter.py /storage/emulated/0/MT2/apks/arm64-v8a /storage/emulated/0/MT2/apks/flutter
    复制代码

       运行成功截图(时间可能会久一点)
      
       至此前期准备工作完成


5.接下来开始逆向破解
       打开输出好的flutter文件夹,可以看到
      
       主要会用到asm文件夹和pp.txt文件
        app的会员功能是通过观看广告得到的
  • 打开pp.txt文件 搜索 关键字“广告”
      

      
       会看到跟会员有关的关键字段有这么几个 "看广告视频,领取尊贵VIP"、"看激励视频可领vip会员" 对应的包是
       [package:guoguo/pages/my_vip/view.dart]
       [package:guoguo/pages/video_page/widget/video_info_widget.dart]
  • 退出搜索这两个包的 dart文件
         
         
  • 进入dart文件搜索会发现两个文件都调用了GlobalService 类中的 isVip 方法,并且包是 [package:guoguo/global_service/global_service.dart]

      

       isVip方法就是我们需要修改的,继续寻找 GlobalService 类中的 isVip 方法

  • 退出搜索 global_service.dart
         
  • 搜索isVip方法
      

这段代码是ARM架构下的汇编语言代码,用于实现一个名为 isVip 的函数。该函数的功能是判断一个用户是否是VIP。为了更清楚地分析这段代码,我们可以逐步解读每一部分的作用。
可跳过
1. 函数入口和堆栈管理
  • stp fp, lr, [SP, #-0x10]!: 将当前的帧指针 (fp) 和返回地址 (lr) 存入堆栈,保存当前上下文。
  • mov fp, SP: 更新帧指针。
  • sub SP, SP, #0x10: 为局部变量分配16字节的堆栈空间。
  • ldr x16, [THR, #0x38]: 加载当前线程的堆栈限制。
  • cmp SP, x16: 比较当前堆栈指针与堆栈限制。
  • b.ls #0x9e81a4: 如果堆栈指针低于或等于限制,跳转到堆栈溢出处理。
2. 读取用户数据和检查是否为VIP
  • ldr x0, [fp, #0x10]: 加载函数参数到 x0 寄存器。
  • ldur w1, [x0, #0x1f]: 从 x0 指向的对象中加载字段。
  • add x1, x1, HEAP, lsl #32: 解压指针并计算实际地址。
  • str x1, [SP, #-8]!: 将计算得到的地址存储到堆栈中。
  • bl #0xe9a874: 调用 value() 方法,检查对象值是否为 NULL。
  • cmp w0, NULL: 比较返回值。
  • b.ne #0x9e811c: 如果不为 NULL,跳转到处理逻辑。
3. 进一步检查VIP状态
  • 继续调用 value() 方法并检查。
  • 如果值不为 NULL,则加载 vipExpiredAt() 方法的返回值。
  • 分配新的 DateTime 对象,并将当前时间与 VIP 过期时间进行比较。
  • 通过 compareTo 方法判断 VIP 是否过期,设置返回值为 true 或 false。
4. 函数退出
  • LeaveFrame: 恢复堆栈指针和帧指针。
  • ret: 返回到调用者。
  • 处理堆栈溢出和空指针异常的部分
  • 根据代码上下文,x20表示true,x30表示false。代码开头的isVip方法地址和大小 addr: 0x9e80dc, size: 0xd4
       使用DisElf2 修改 isVip方法 接下来跟着图片内容完成即可
                  
  • 修改完成 退出保存,接下来在MT中操作

            

  • 退出,重新签名安装即可


以上思路来自 blutter逆向flutter实战教学 (出处: MT论坛) 感兴趣可以去看


至此,修改结束。

本次修改svip只实现了视频免广告,开屏广告和首页广告并没有去除,svip下载功能也未实现。

本教程仅供小白学习,ps:我也是小白。教程是我一边实操一边编写的,如果发现教程中那块有错误,请在评论区留言

本帖子中包含更多资源

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

x
已有4人评分好评 金币 理由
xyg10300 + 1
thichsotvedem + 1 + 1 赞一个!
幸运儿8 + 1 + 1 很给力!
苇草 + 1 + 1

查看全部评分 总评分:好评 +4  金币 +3 

回复

使用道具 举报

171

主题

3614

回帖

1万

积分

博士生

Steve2280

Rank: 7Rank: 7Rank: 7

金币
92
好评
133
信誉
167

MT论坛最佳新人2018国庆节MT论坛帅哥MT论坛新人MT论坛灌水老大考神MT论坛侠客MT论坛活跃会员

发表于 2024-9-10 14:24:26 来自手机  | 显示全部楼层  来自 四川
沙发,另外这是没写完?
回复

使用道具 举报

39

主题

749

回帖

4733

积分

大学生

牛马联盟天敌

Rank: 5Rank: 5

金币
1438
好评
114
信誉
88

MT论坛新人MT论坛最佳新人考神MT论坛活跃会员

发表于 2024-9-10 14:28:32 来自手机  | 显示全部楼层  来自 广东
直接剧透addr: 0x9e80dc, size: 0xd4
回复

使用道具 举报

0

主题

1万

回帖

2万

积分

博士后

Rank: 8Rank: 8

金币
6870
好评
1
信誉
100
发表于 2024-9-10 14:39:27 来自手机  | 显示全部楼层  来自 河北
这是序章
回复

使用道具 举报

46

主题

2829

回帖

1万

积分

博士生

灵衫Pro

Rank: 7Rank: 7Rank: 7

金币
7608
好评
61
信誉
111

MT论坛新人MT论坛帅哥MT论坛活跃会员考神

QQ
发表于 2024-9-10 14:41:10 来自手机  | 显示全部楼层  来自 贵州
首先,你要过掉签名校验
回复

使用道具 举报

1

主题

1361

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
4101
好评
7
信誉
100
发表于 2024-9-10 15:54:44 来自手机  | 显示全部楼层  来自 广东
大佬,能出个逆向算法的教程吗,我想要黑白弹幕的响应解密rsa的key
回复

使用道具 举报

1

主题

6559

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
8715
好评
3
信誉
100
发表于 2024-9-10 15:56:43 | 显示全部楼层  来自 湖北
大佬,你还没写完啊?看了一半。
回复

使用道具 举报

9

主题

1984

回帖

7092

积分

硕士生

Rank: 6Rank: 6

金币
3063
好评
4
信誉
101

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

发表于 2024-9-10 17:55:54 来自手机  | 显示全部楼层  来自 广东
by:Mask 发表于 2024-9-10 14:28
直接剧透addr: 0x9e80dc, size: 0xd4

下一步把X30改成X20,作者觉得烦的话记得把我这条信息删了
回复

使用道具 举报

21

主题

3378

回帖

1万

积分

博士生

憨憨

Rank: 7Rank: 7Rank: 7

金币
192
好评
12
信誉
105

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

发表于 2024-9-10 19:07:39 来自手机  | 显示全部楼层  来自 河北
坐等更新完
回复

使用道具 举报

30

主题

2579

回帖

5552

积分

硕士生

Rank: 6Rank: 6

金币
123
好评
3
信誉
109

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

发表于 2024-9-10 19:10:04 来自手机  | 显示全部楼层  来自 广西
看看大佬
回复

使用道具 举报

8

主题

1万

回帖

2万

积分

博士后

Rank: 8Rank: 8

金币
5141
好评
1
信誉
100
发表于 2024-9-10 20:20:30 来自手机  | 显示全部楼层  来自 山东
坐等大佬更新
回复

使用道具 举报

24

主题

5217

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
4171
好评
3
信誉
94
发表于 2024-9-10 22:26:35 来自手机  | 显示全部楼层  来自 广东
很好很强大
回复

使用道具 举报

1

主题

3144

回帖

8800

积分

硕士生

Rank: 6Rank: 6

金币
3378
好评
0
信誉
100

MT论坛新人MT论坛帅哥

发表于 2024-9-10 23:17:00 来自手机  | 显示全部楼层  来自 广西
感谢分享
回复

使用道具 举报

1

主题

3871

回帖

7574

积分

硕士生

Rank: 6Rank: 6

金币
1367
好评
0
信誉
100
发表于 2024-9-10 23:25:45 来自手机  | 显示全部楼层  来自 江苏
路过看看
回复

使用道具 举报

61

主题

3486

回帖

1万

积分

博士生

轻音永不毕业

Rank: 7Rank: 7Rank: 7

金币
3499
好评
2
信誉
100

MT论坛新人考神

发表于 2024-9-10 23:57:07 来自手机  | 显示全部楼层  来自 广西
学习一下
回复

使用道具 举报

发表回复

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

本版积分规则

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