react的app快速逆向关键文件index.android.bundle混淆解密

3 篇文章 0 订阅
1 篇文章 0 订阅
本文详细介绍了如何在React打包的app中查找并解析AES加密的代码逻辑。通过更改apk为zip,解压并定位到index.android.bundle,找出关键的加密函数。在混淆的代码中,发现了使用MD5处理key来生成满足16位IV的加密过程。通过搜索和分析,揭示了加密过程中key、IV、data和加密模式的获取方法。
摘要由CSDN通过智能技术生成

首先 把react开发的app包解压出来

更改后缀名 xxx.apk为xxx.zip

然后解压

打开解压后目录 assets文件夹

找到index.android.bundle文件

react打包后代码的的关键逻辑都在这里面

我需要找到 加密 aes或者des加密

copy出代码 到ide里面格式化出来

搜索 aes或者des定位到 关键代码

 分析一下

n是aes加密的库 ,u还不确定

t是data要加密的数据

f是key秘钥

因为是cbc加密,所以需要iv填充,iv是key经过处理以后并截取(8,24)后的值,满足16位iv

找到如何处理key变成iv的

u是f的处理函数,发现是d[2],也就是说传参的第3个值,可以看到 是921

这里强调一下,因为react打包了可能有混淆,所以里面的函数 直接有数字替代了,

那我们找到921这个对应的函数,怎么找呢。

我们当前的函数是886

直接搜索 找到 921函数位置

 这样就找到了这个函数体的下半部分

下面是上半部分

 具体看看这个函数干啥的,

很清楚的我们发现是个 md5加密

那就明白了 传参 f进去也就是key,MD5然后对返回的md5进行截取(8,24)位置

就拿到了我们的iv

到此 key  , iv ,data ,加密模式,填充模式都有了

欢迎进入 qq群 ,讨论你的问题

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值