本帖最后由 xww2652008969 于 2024-3-21 17:04 编辑
声明
本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!
目标
了解此软件加密解密流程
前言
逛某不知名蓝色图标软件,发现某款视频app,想抓包玩玩
流程
抓包
抓包教程吾爱论坛一大堆,不最赘述了。
软件打开视频界面,获取抓包类容,响应体是加密的二进制,只能解密了
![1.png](https://img2.imgtp.com/2024/03/21/7dV58eAl.png)
分析apk
发现包没有加壳美滋滋
![2](https://img2.imgtp.com/2024/03/21/yttktbVk.png)
直接搜索AES 大多数是使用AES加密,发现有很多,全部加载完
![3](https://img2.imgtp.com/2024/03/21/rx2xz2PE.png)
x3.f.m类应该是软件开发者写的,点进去看
![](https://img2.imgtp.com/2024/03/21/xmm1oJ2R.png)
发现可能是解密方法
![](https://img2.imgtp.com/2024/03/21/kw7MXviu.png)
上frida
Java.perform(function(){
Java.perform(function(){
var x3.f = Java.use('x3.f'); //获得x3.f类
Main.m.implementation=function(p1){ //hook m方法
var ru=this.m(p1)
console.log(ru)
return ru
}
});
});
返回结果是json字符串
![](https://img2.imgtp.com/2024/03/21/nQFT7nCQ.png)
反向找加密代码
![](https://img2.imgtp.com/2024/03/21/yFPW8gQ2.png)
使用frida 验证的确调用了
因为我是喜欢使用go写代码,所以在使用go验证一遍
_, abyte := utils.Readfile("1") //自己写的代码用于读取文件文件类容
d, _ := openssl.AesECBDecrypt(abyte, []byte("c31b32364ce19c13"), openssl.PKCS5_PADDING)
fmt.Println(string(d))
|