brida和frida练习hook逆向技术【中】

简介: 本文介绍了如何在未加壳、未混淆的 APK 中定位并破解加密算法,并使用 Burp 插件 autoDecoder 进行自动化加解密及口令爆破。文中详细描述了从反编译到配置插件的全过程,并提供了关键要素如 AES 算法、SECRET_KEY 和 Base64 编码的具体应用。此外,还展示了如何调整并发数以提高爆破成功率。

非常抱歉brida插件的安装使用一直报错,这里没有用brida和frda去hook加密算法,是直接反编译源码定位加密算法,接着使用另一个burp插件完成后续自动化加解密及口令爆破步骤。这种方式适合apk没有加壳、混淆的情况,对于无法反编译或反编译后加密算法代码缺失的情况还是更建议使用brida和frida去hook,所以加了一个中篇,等hook环境调试完成补下篇哈~


前置信息:

1、自动化加解密使用的burp插件是autoDecoder,项目地址:https://github.com/f0ng/autoDecoder

2、autoDecoder用法及案例项目地址:https://github.com/f0ng/autoDecoder-usages

3、上篇已完成测试APP客户端与服务端通信,能使用burp捕获通信数据包

解密前encryptedPassword字段值是加密的,无法直接进行口令爆破

定位算法

将测试APK拖入jadx进行反编译

使用关键字“encrypt”检索加密算法,检索位置在菜单-导航-文本搜索,我的习惯是如果搜索结果有主函数优先到主函数找是否与加密算法相关,调用关系大概率是主函数调用其他函数,然后顺着去分析完整的加密逻辑。

在MainActivity中可以看到,用户输入的密码password和SECRET_KEY(固定值:1234567890123456)一起被送入AESCipher的encrypt方法进行加密,以json的数据格式输出用户名和加密后的password。

双击AESCipher查看详细的实现逻辑,使用AES算法、ECB (Electronic Codebook,电子密码本模式)、PKCS5Padding填充方案加密字符串转换为字节数组的SECRET_KEY和password,再将AES加密后的结果进行base64编码。


总结几个关键要素

1、AES算法:AES算法、ECB (Electronic Codebook,电子密码本模式)、PKCS5Padding填充方案

2、SECRET_KEY:1234567890123456

3、原始的Base64编码


插件配置

配置autoDecoder插件,使用自带算法加解密模块
添加为请求包加/解密方式

添加为响应包解密方式

添加正则表达式提取请求包中需要加解密的部分

点击保存配置才能让这个插件生效

最后在选项中选择加解密选项,加解密设置,点击保存配置

口令爆破

将登录请求包发送到autoDecoder的Decode-Autodecoder模块

password已被解密

选中encryptedPassword的字段值进行明文字典爆破即可,插件会自动加密

实际上发送的请求包中encryptedPassword字段值已经被插件根据我们的配置自动加密了,加密内容可以在日志中查看

有一个要注意的地方:设置小一点的并发数,不然爆破会失败

10并发数出现错误

1并发数没有出现错误

至此自动化加解密及口令爆破已实现,hook过程会在之后实现。


声明

所有内容的初衷只是分享本人的学习收获,对于因读者不当使用或修改本文内容的任何损失,作者不承担任何直接或间接的连带责任。

文章内容如有不妥,烦请大家联系修改,谢谢大佬们批评指正。

目录
相关文章
|
存储 缓存 Linux
free命令详解
`free`命令在Linux中显示内存使用详情,包括总内存(`total`)、已用(`used`,含缓存`buffers/cache`)、空闲(`free`)、共享(`shared`)和可用(`available`)内存。交换空间显示其总量、使用量和剩余量。`-h`选项以易读格式显示,`-m`以MB显示,`-t`显示总和,`-s`定时刷新。例如,`free -ht 5`每5秒更新内存和交换空间的总览。
1008 3
|
安全 应用服务中间件 API
我发现了宝塔的未授权访问漏洞
宝塔的未授权访问漏洞
1444 1
|
Ubuntu Python
Ubuntu安装pip并切换国内源
Ubuntu安装pip并切换国内源
4757 0
Ubuntu安装pip并切换国内源
|
Android开发
【错误记录】Android 可执行权限报错 ( Cannot run program “/data/user/0/cn.e/ffmpeg“: error=13,Permission denied )
【错误记录】Android 可执行权限报错 ( Cannot run program “/data/user/0/cn.e/ffmpeg“: error=13,Permission denied )
2484 0
【错误记录】Android 可执行权限报错 ( Cannot run program “/data/user/0/cn.e/ffmpeg“: error=13,Permission denied )
|
9月前
|
敏捷开发 人工智能 数据可视化
让AI替你写用例!Dify+RAG工作流,一键生成覆盖率达90%的测试方案
本文介绍如何利用Dify.ai与RAG技术构建智能测试用例生成工作流,通过接入需求文档、API接口等知识库,实现高覆盖率(超90%)的自动化用例生成,显著提升测试效率与质量,解放测试人力,助力敏捷开发。
|
3月前
|
人工智能 测试技术 开发工具
终端里的 DeepSeek 编程助手火了:AI 写代码,正在从聊天框走进命令行
DeepSeek-TUI 是一款运行在终端的AI编程Agent,不同于网页聊天式工具,它可读取项目文件、执行命令、调试代码、修改文件并支持Git回滚,真正融入开发者工作流。适用于测试开发、后端与AI工程等场景,标志着AI编程从“问答生成”迈向“终端内工程执行”。
|
4月前
|
算法 网络安全 数据安全/隐私保护
如何逆向获取转转App的接口参数?
逆向获取转转 App 的接口参数(核心是 zzreqsign、zz-token、deviceId、timestamp 等加密 / 动态字段),是调用其私有 API 的关键。下面按 抓包 → 定位 → 算法还原 → 代码实现 四步,给你一套可落地的完整流程(2026 最新,Android 为主)。
|
机器学习/深度学习 人工智能 算法
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
本文介绍了如何使用 Python 和 YOLO v8 开发专属的 AI 视觉目标检测模型。首先讲解了 YOLO 的基本概念及其高效精准的特点,接着详细说明了环境搭建步骤,包括安装 Python、PyCharm 和 Ultralytics 库。随后引导读者加载预训练模型进行图片验证,并准备数据集以训练自定义模型。最后,展示了如何验证训练好的模型并提供示例代码。通过本文,你将学会从零开始打造自己的目标检测系统,满足实际场景需求。
16262 1
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
|
Shell Android开发
安卓逆向 -- 防抓包破解(JustTrustMe)
安卓逆向 -- 防抓包破解(JustTrustMe)
2234 1
|
人工智能 自然语言处理
阿里云logo设计智能生成(一键生成海量LOGO)
阿里云智能logo设计在线生成海量logo,logo可商用也可以申请商标,阿里云logo设计入口在哪里?阿里云开启了二级域名logo.aliyun.com,关于阿里云智能logo设计有多个入口链接,阿里云百科分享阿里云logo设计入口、价格及使用方法:
11885 108
阿里云logo设计智能生成(一键生成海量LOGO)

热门文章

最新文章