返回列表 发新帖

【逆向实战】React Native逆向②

  [复制链接]

19

主题

588

回帖

2887

积分

大学生

Rank: 5Rank: 5

金币
797
好评
16
信誉
98
QQ
发表于 2025-9-3 21:19:55 来自手机  | 显示全部楼层 | 阅读模式  来自 广东
本帖最后由 小杰v 于 2025-9-4 01:27 编辑

然后我们打开mt管理器创建一个文件夹,作为中枢,再打开termux,我们更新或者安装一下pip以防万一
输入
pkg install python-pip

pkg update && pkg upgrade -y
pkg install python python-pip -y

等更新或者安装完
如果在途中遇见

这样的提示

输入y(yes的意思)就行了

安装完成,输入cd /storage/emulated/0/逆向/

(这里我根目录之后创建的是名为逆向的文件夹,要以你自己命名的文件夹为基准)

如果提示没有权限
手动获取

然后输入
pip install /storage/emulated/0/逆向/hbctool-0.1.5-96-py3-none-any.whl

进行安装hbctool-0.1.5-96-py3-none-any.whl注意,这里的whl一定要是我们修改后的版本,官方版本待会破解会报错

到了这步,我们就成功安装了逆向插件了

接下来我们可以输入 hbctool --help了解一下hbctool插件

我们得知
disasm是反汇编
asm是编译反汇编

那么,我们开始上实战,讲apk/assets/内的index.android.bundle复制到我们中枢目录,然后
在Termux内输入
hbctool disasm index.android.bundle 反汇编

这里 意思是,反汇编index.android.bundle然后将反汇编后内容定向到反汇编文件夹内

等待加载完成后,我们再会到mt管理器
可以看见新增了一个名为反汇编目录
点进去string.json是字符表,这里有很多资源id可以在内查看
instruction.hasm就是源码,也是我们要修改的

我们首先打开string.json

平时我们,搜索id,资源一般都是找vip,所以我们搜索,vip,发现有很多带有vip的字符,
我们把常见的字符列举一下

isvip    issvip   getvip    isLogin   svip      vip    checkvip   checkisvip  getisvip等等
本来搜索isvip,但是第一个出现的是checkisvip这个字符,让我们回到播放,可以看见,是一个激励检测,那么,我们改来试试?

打开instruction.hasm忘记,搜索checkisvip
文件很大,mt管理器分为了3部分
第一部分,我们可以看见有四个内容
前两个是放置字符,那么后面两个
就比较可疑了,尤其是最后一个,我调到第二部分一看,果然,逻辑基本差不多,那么,就在这相同的改,首先我们分析一下第一个

Function<?anon_0_>7080(1 params, 12 registers, 0 symbols):
        StartGenerator             
        ResumeGenerator             Reg8:0, Reg8:1
        JmpTrue                     Addr8:68, Reg8:1
        GetEnvironment              Reg8:1, UInt8:4
        LoadFromEnvironment         Reg8:3, Reg8:1, UInt8:0
        LoadFromEnvironment         Reg8:2, Reg8:1, UInt8:1
        LoadConstUInt8              Reg8:1, UInt8:14
        GetByVal                    Reg8:1, Reg8:2, Reg8:1
        LoadConstUndefined          Reg8:2
        Call2                       Reg8:1, Reg8:3, Reg8:2, Reg8:1
        GetById                     Reg8:1, Reg8:1, UInt8:1, UInt16:17392
        ; Oper[3]: String(17392) 'checkIsVip'

        Call1                       Reg8:1, Reg8:1, Reg8:2
        SaveGenerator               Addr8:4
        Ret                         Reg8:1
        ResumeGenerator             Reg8:1, Reg8:3
        JmpTrue                     Addr8:20, Reg8:3
        JmpFalse                    Addr8:14, Reg8:1
        GetEnvironment              Reg8:3, UInt8:3
        LoadFromEnvironment         Reg8:3, Reg8:3, UInt8:10
        Call1                       Reg8:3, Reg8:3, Reg8:2
        CompleteGenerator          
        Ret                         Reg8:2
        CompleteGenerator          
        Ret                         Reg8:1
        CompleteGenerator          
        Ret                         Reg8:0
EndFunction

我们解刨为流程图
    A[Start] --> B[StartGenerator]
    B --> C[ResumeGenerator]
    C --> D{状态为真?}
    D -->|是| E[跳转到恢复点2]
    D -->|否| F[GetEnvironment]
    F --> G[加载环境变量0,1]
    G --> H[LoadConst 14]
    H --> I[GetByVal - 获取array[14]]
    I --> J[Call2调用]
    J --> K[GetById - 获取checkIsVip方法]
    K --> L[Call1调用checkIsVip]
    L --> M[SaveGenerator]
    M --> N[Ret - 第一次返回]
   
    E --> O[ResumeGenerator]
    O --> P{状态为真?}
    P -->|是| Q[JumpTrue]
    P -->|否| R[JumpFalse]
    Q --> S[GetEnvironment]
    S --> T[加载环境变量10]
    T --> U[Call1调用]
    U --> V[CompleteGenerator]
    V --> W[Ret - 第二次返回]
   
    R --> X[CompleteGenerator]
    X --> Y[Ret - 第三次返回]
   
    N --> Z[End]
    W --> Z
    Y --> Z
可以很直观的看见
第一次调用: 执行主要逻辑,调用某个对象的checkIsVip方法,然后暂停
第二次调用: 从上次暂停点恢复,执行一些清理,然后暂停
那么,在前面的准备做完,Reg8:1 保存的是 Call2 的返回值
GetById              Reg8:1, Reg8:1, UInt8:1, UInt16:17392
;  把对象的属性 'checkIsVip' 取出来,放回 Reg8:1
Call1                Reg8:1, Reg8:1, Reg8:2
; → 调用 checkIsVip(undefined) → 结果仍在 Reg8:1
SaveGenerator        Addr8:4
Ret                  Reg8:1
所以,我们只需要给返回对象覆盖,把true直接写入Reg8:1里面储存,这样就大功告成了,所以Reg8:1 仍是 Call2 的返回对象
我们将GetById              Reg8:1, Reg8:1, UInt8:1, UInt16:17392
删除替换为
LoadConstTrue      Reg8:1
这样就直接把布尔常量 true 写入 Reg8:1
以此类推,我们打开第二页,第三页也这样修改即可,然后修改保存,我们再编译回去

打开Termux

cd /storage/emulated/0/逆向/

(如果后台还在就忽略cd这一步)
再次输入

hbctool asm 反汇编 index.android.bundle改

如果没有报错,那么/storage/emulated/0/逆向/反汇编/路径会多一个index.android.bundle改的文件,将其重命名为index.android.bundle覆盖原来安装包的即可
然后签名安装

没错,我们就去除会员了,剩下布局广告跑马灯等等请你们研究或者参考论坛教程,因为此类教学已经很多了

最后就是本篇保姆间教学可能不怎么严谨,随手写的,然后就是论坛
@redblack25的思路
以下是他提供的其他布局修改思路

     {
        "id": 11745,
        "isUTF16": true,
        "value": "96997598" 首页
    },
   
      {
        "id": 11554,
        "isUTF16": true,
        "value": "92634c889c69" 排行榜
    },
   
        {
        "id": 11326,
        "isUTF16": true,
        "value": "8f792952"  福利
    },

   {
        "id": 5852,
        "isUTF16": false,
        "value": "VIP"
    },


        {
        "id": 11126,
        "isUTF16": true,
        "value": "11628476" 我的
    },
   
   
       {
        "id": 27061,
        "isUTF16": false,
        "value": "bannerAd"
    },
   

   
        {
        "id": 3719,
        "isUTF16": false,
        "value": "AnnouncementBanner"
    },

   

        {
        "id": 7676,
        "isUTF16": false,
        "value": "vod_feedback"  【ex.png】
    },

        {
        "id": 10300,
        "isUTF16": false,
        "value": "home_get_coupon_notice" 【2b.png】
    },

        {
        "id": 10302,
        "isUTF16": false,
        "value": "home_get_vip_notice" 【 Di.png】
    },




// 轮播图
    Function<CarouselScreen>22308(1 params, 23 registers, 1 symbols)


// 会员  【true】
    checkisvip

//抓包检测 【false】
    isAppProxyEnabled
    isProxyEnabled
   
//首页通知 【fasle】
   关键词 notices,show

//走马灯
UInt16:11560  
   

// 底部导航布局
Function<TabNavigator>5009(1 params, 20 registers, 0 symbols)

// 首页横幅布局
Function<HomeOperationSpace>22639(1 params, 27 registers, 2 symbols)

好了,今天教学就到这里,看完不点赞jj小5cm

本帖子中包含更多资源

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

x
已有7人评分好评 金币 理由
Walker + 1
dark under ligh + 1
蛀牙の小蓝 + 1 赞一个!
氵衮 + 1 + 1
文圭 + 1 很给力!
苇草 + 1 + 1
若幻 + 1

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

回复

使用道具 举报

19

主题

588

回帖

2887

积分

大学生

Rank: 5Rank: 5

金币
797
好评
16
信誉
98
QQ
发表于 2025-9-4 15:33:02 来自手机  | 显示全部楼层  来自 广东
如果安装了没有修改版,改完要重新安装,不能覆盖原版,如果第一次修改没有效果,第二次复查修改完重新安装,需要删掉安装的重新再安装,不能覆盖原安装包
已有1人评分好评 金币 理由
dark under ligh + 1 + 1 好了好了,原来如此

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

回复

使用道具 举报

9

主题

1984

回帖

7092

积分

硕士生

Rank: 6Rank: 6

金币
3063
好评
4
信誉
101

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

发表于 2025-9-3 21:22:51 来自手机  | 显示全部楼层  来自 浙江
来了,跟着教程来操作
回复

使用道具 举报

0

主题

935

回帖

2583

积分

大学生

Rank: 5Rank: 5

金币
2247
好评
0
信誉
101
发表于 2025-9-3 21:23:31 来自手机  | 显示全部楼层  来自 北京
来看看怎么用
回复

使用道具 举报

9

主题

292

回帖

2007

积分

大学生

Rank: 5Rank: 5

金币
800
好评
1
信誉
100
发表于 2025-9-3 21:23:39 来自手机  | 显示全部楼层  来自 四川
接着学习
回复

使用道具 举报

1

主题

2389

回帖

6201

积分

硕士生

Rank: 6Rank: 6

金币
829
好评
1
信誉
104

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

发表于 2025-9-3 21:27:10 来自手机  | 显示全部楼层  来自 浙江
看看隐藏
回复

使用道具 举报

2

主题

4507

回帖

1万

积分

禁止访问

iKUN

金币
1214
好评
16
信誉
111
发表于 2025-9-3 21:27:44 来自手机  | 显示全部楼层  来自 广西
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

0

主题

7272

回帖

2万

积分

博士后

Rank: 8Rank: 8

金币
2243
好评
8
信誉
124

考神

发表于 2025-9-3 21:28:09 来自手机  | 显示全部楼层  来自 广东
学习
回复

使用道具 举报

22

主题

5153

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
9177
好评
4
信誉
100
发表于 2025-9-3 21:29:43 来自手机  | 显示全部楼层  来自 山东
学习学习
回复

使用道具 举报

0

主题

226

回帖

593

积分

初中生

Rank: 3Rank: 3

金币
407
好评
0
信誉
100
发表于 2025-9-3 21:29:48 来自手机  | 显示全部楼层  来自 四川
感谢分享
回复

使用道具 举报

5

主题

2098

回帖

7238

积分

硕士生

Rank: 6Rank: 6

金币
2688
好评
16
信誉
100

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

发表于 2025-9-3 21:31:26 来自手机  | 显示全部楼层  来自 河南
看看
回复

使用道具 举报

152

主题

7921

回帖

2万

积分

博士后

Rank: 8Rank: 8

金币
11462
好评
10
信誉
104

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

发表于 2025-9-3 21:32:30 来自手机  | 显示全部楼层  来自 浙江
看看隐藏
回复

使用道具 举报

4

主题

2213

回帖

7435

积分

硕士生

Rank: 6Rank: 6

金币
164
好评
2
信誉
99
发表于 2025-9-3 21:32:57 来自手机  | 显示全部楼层  来自 河南
看看
回复

使用道具 举报

1

主题

1361

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
4101
好评
7
信誉
100
发表于 2025-9-3 21:33:57 来自手机  | 显示全部楼层  来自 广东
看看隐藏
回复

使用道具 举报

48

主题

4230

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
230
好评
19
信誉
100
发表于 2025-9-3 21:34:29 来自手机  | 显示全部楼层  来自 天津
学习一下
回复

使用道具 举报

41

主题

1万

回帖

2万

积分

博士后

Rank: 8Rank: 8

金币
6142
好评
3
信誉
98
发表于 2025-9-3 21:35:41 来自手机  | 显示全部楼层  来自 山东
看看隐藏
回复

使用道具 举报

发表回复

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

本版积分规则

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