Vvvvvoid 发表于 2018-4-23 14:11

某App 接口数据 AES算法 实现

偶然发现一快很犀利的app,
想自己去用Java调用实现
抓包一看 发现响应数据全被加密了
responseBody 全是英文数字一大堆


jadx 打开apk, 搜索接口名getVersion
找到这个class


搜索引用这个变量的地方


看起来 就是这个 接着 跟进去 , 进入 这个方法

果然 ,AES加密 ,Constant 是个常量类,点进去 就可以看到 AES加密 所需要的 密文 跟 偏移了



因为android 跟 java 的互通性
把apk中 AesEncryptionUtil 这个类 直接复制倒java里 稍微改改 就可以用了


解密过程 也简单 ,AES 之后 将byte集合 转换为16进制 然后 toString(), 所以 结果看起来 全是 英文字母

接下来就是 java的实现了


解密 成功 , 之后就可以 接口 一个一个的抓包 并 实现了


mancong122 发表于 2018-5-7 20:13

大佬,能指点一下小弟吗?小弟最近再分析一款软件的网络请求的加密算法,好长时间才分析出来部分,另一部分却遇到了阻碍。特此向大佬求助。恳请大佬指点一些。

qqewwee 发表于 2018-4-24 11:38

APP端加密混淆不到位
至少要把key和iv的字符串拆分存储+自实现算法拼接+代码混淆

然后服务端每个版本都换key
(虽然只能增加一点点破解的时间成本

tasty007 发表于 2018-4-23 14:31

这么low的加密

kanxue2018 发表于 2018-4-23 20:49

学习知识,学习

A00 发表于 2018-4-23 21:24

非常不错,学习了

十御 发表于 2018-4-23 21:42

所以说还是要rsa加密

kernel 发表于 2018-4-23 22:20

啥啥啥,,没看懂。。。没编程基础就是麻烦。

LeoTang 发表于 2018-4-23 22:30

很不错的思路 谢谢分享

lpy6759 发表于 2018-4-24 00:31

猫咪是什么啊,大神说说看

sis666 发表于 2018-4-24 00:37

最近也在研究AES演算方式,学习了谢谢.

geniusjoy 发表于 2018-4-24 00:39

好东西,必须顶~~~~~!!!!!
页: [1] 2 3 4
查看完整版本: 某App 接口数据 AES算法 实现