首先 把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群 ,讨论你的问题