你一定遇到过抓到的包看不懂,像乱码一样的,有的还是像/getuserinfo这种重要路径下的数据包,不懂解密的你却只能眼睁睁地看着……
引言
为什么thor抓包后的数据有的可以直接显示,有的却是乱码?其实除了一些二进制流文件外,你看到的乱码大概率是加密了!既然加密了,那自然需要解密才能查看真实内容!
加密数据示意图
本文大纲
本文主要分享AES加密类型解密方法及实际解密过程遇到的坑和解决办法。
全文共1652字,阅读时长约3分钟。
- AES加密类型的判断
- 如何获取密钥、偏移
- 实际解密过程中遇到的坑以及解决办法
AES加密类型的判断
AES类型的加密结果很像Base64,但用Base64解密还解不开,我们通过一张对比图来判断一下两者的不同之处。
两种加密方式对比
通过对比我们不难发现它们的规律:
base64加密数据:由数字、大小写字母组成,末尾以”==”结束。
AES加密数据:除了数字、大小写字母、末尾以”==”结束外,还有”/”、”+”混杂其中。
如何获取密钥、偏移
密钥、偏移是个啥?(你可以把它们理解为2套不同的密码),早先想要获取密钥和偏移那得有相当深厚的编程功底,具有一定的反汇编能力。现如今21世纪,已经有大神开发出一键”傻瓜式”操作的软件,直接能够获取软件的密钥、偏移等加密的算法。这里推荐大家使用“算法助手”。本篇文章就利用这款软件来获取目标软件的密钥和偏移。
算法助手截图
准备工作:
- 你需要有1部安卓手机并获取root权限。
- 没有安卓的可以在电脑上使用安卓模拟器。
- 安卓手机无法root的,可以下载太极Xposed免root框架(我就用的这个)
既没手机也没电脑的,要么找朋友帮忙获取密钥,要么放弃。
实际操作:
因为本文主打原创,所以”算法助手”使用教程就不搬运了,大家可以百度搜索”算法助手”来学习使用方法。
- 手机上运行”算法助手”并激活模块。(注意一定要获取root权限,否则无效。)
- 启动算法助手,选择需要解密的目标软件,应用开关打开,勾选加密算法。
- 安卓上运行目标软件,回到算法助手日志里查询对应软件的密钥和偏移。
算法助手日志查看结果示意图
实际解密过程中遇到的坑及解决办法
这里分享一下我在解密过程中遇到的2个坑和解决办法。
前提是我已经获得了目标软件的偏移和密钥。
先来看第一个坑
在解密过程中我发现使用得到的密钥和偏移解不开这个加密数据,换了好几款解密软件,有的也只是能解开开头的一点点内容。我是百思不得其解,浪费我研究它好几天,头发都掉好几根,开始总以为密钥不对。
加密数据里有\n换行符
后来在我制作快捷指令用base64编码的时候,无意中发现编码后的文本有换行操作,然后我仔细查看了快捷指令里编码的选项,其中有一个选项是超过76个字符换行,这时候我瞬间想到了那个没解开的加密数据里好像也有”\n”这个换行符。然后我赶紧找到那个加密数据,仔仔细细的数了数,果然是76个字符就有一个”\n”,我判断它就是一个换行符,我用正则表达式删除加密数据里的”\n”然后解密,果然就解开了。
解密后的明文
再来看第二个坑
另一坑是在另一次解密过程中又碰到了解不开的,这次我仔细得看了一下加密数据,没有”\n”,但是多了个”[/]”这玩意,这次又让我掉了好多头发,有了第一次掉坑的经验,这次我尝试删掉这个”[/]”去解密,结果还是解不开,这可给我整不会了。那”[/]”这玩意到底是个什么东西呢?
加密数据里带[/]
想一想本文开篇说的如何判断加密类型是AES?除了数字、大小写字母,末尾”==”外,还有”\”、”+”这两个符号。
那我仔细得看了看这里面有”\”,但没有”+”,于是我就尝试着去把它”[/]”替换成”+”,然后去解密,果然见证奇迹的时刻出现了。
替换掉[/]变成+后成功解密
总结
在抓包过程中,难免会碰到一些乱码数据,有的是二进制流的(这种可以直接放弃了)有的是Base64的,这种网上都可以解开,唯独AES类型的解密稍稍复杂一些,毕竟IOS系统没有安卓那么方便。解密过程中遇到解不开的先不要着急否定密钥错误,先按照笔者分享的那两条宝贵经验去参考一下,获取就能帮到你。
AES加密有的软件是整体加密,有的软件是把键值加密,如果是键值加密的还好一些,可以单个替换。如果是整体加密的话,那只能是把整个响应体全部更换,所以整体加密的这种并不适合常规的修改vip。
评论前必须登录!
立即登录 注册