Android逆向实战:Java层加密参数处理
今天来实战逆向一个 Java 层的加密参数逻辑。
APP5
APP5 地址:https://app5.scrape.center/
APP5 说明:
接口增加了加密参数,适合做抓包实时处理或可视化爬取或逆向分析。
说明中提到了接口增加了加密参数,我们先不抓包了,直接反编译 apk 看看加密逻辑。
请求逻辑和之前的 APP 基本上一致,我们直接定位到请求函数看看。
实际的请求函数中,新增了一个
token
参数,具体的参数加密逻辑就在 Encrypt 类的
encrypt` 方法中,方法的参数是当前请求的路径,我们点进去看看。
加密逻辑转成 Python
使用 Java 实现的加密逻辑,Java 开发的小伙伴应该比较熟悉了,我们把它转成 Python 代码请求一下试试:
1 | import time |
可以正常请求到数据。
rpc 调用
如果自己不知道如何翻译成 Python 代码,也可以使用 rpc
的方式来获取加密参数,类似于 JS 的扣代码,将 Java 代码找个 Spring 项目启动起来,暴露出来接口给 Python 调用即可。
直接将当前的 Java 代码封装成一个加密函数,给 Spring 项目使用即可,这里我就不贴代码了。
总结
这道题目还是比较简单的,只是简单的哈希值加密,直接反编译 apk
就可以看到代码,可以根据自己的需求和 Java 代码的复杂度来使用翻译成 Python 代码或者 rpc 的方式来解决。
本文章首发于个人博客 LLLibra146’s blog
本文作者:LLLibra146
更多文章请关注公众号 (LLLibra146):
版权声明:本博客所有文章除特别声明外,均采用 © BY-NC-ND 许可协议。非商用转载请注明出处!严禁商业转载!