Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >brida和frida练习hook逆向技术【中】

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

原创
作者头像
San3an
修改于 2024-09-20 02:02:32
修改于 2024-09-20 02:02:32
1140
举报

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

前置信息:

1、自动化加解密使用的burp插件是autoDecoder

2、上篇已完成测试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过程会在之后实现。

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
加密与安全_探索对称加密算法
对称加密算法是一种加密技术,使用相同的密钥来进行加密和解密数据。在这种算法中,发送方使用密钥将明文(未加密的数据)转换为密文(加密的数据),而接收方使用相同的密钥将密文还原为明文。
小小工匠
2024/05/26
2140
加密与安全_探索对称加密算法
Go AES加解密
https://blog.csdn.net/K346K346/article/details/89387460
恋喵大鲤鱼
2019/05/05
12.5K0
brida和frida练习hook逆向技术【上】
这是zangcc大佬用于brida和frida练习hook逆向技术的安卓apk项目,针对encrypted_password字段值练习apk解密技术。
San3an
2024/09/10
1170
JDK安全模块JCE核心Cipher使用详解
javax.crypto.Cipher,翻译为密码,其实叫做密码器更加合适。Cipher是JCA(Java Cryptographic Extension,Java加密扩展)的核心,提供基于多种加解密算法的加解密功能。在不了解Cipher之前,我们在完成一些需要加解密的模块的时候总是需要到处拷贝代码,甚至有些错误的用法也被无数次拷贝,踩坑之后又要拷贝补坑的代码。为什么不尝试理解Cipher然后合理地使用呢?
Throwable
2020/06/23
3.2K0
对称加密算法和分组密码的模式
由于加密出来的数据很可能有很多不可见字符,因此这里会将加密后的结果进行一次Base64Encode。
linjinhe
2018/06/06
2.6K0
H5页面漏洞挖掘之路(加密篇)
前言 H5移动应用作为个人生活、办公和业务支撑的重要部分,也面临着来自移动平台的安全风险,不仅仅来自于病毒,更多的是恶意的攻击行为、篡改行为和钓鱼攻击。关于H5页面的安全测试,业务逻辑功能测试基本和WEB渗透测试是通用的。 从业务安全角度考虑,一般客户端与服务端通信会进行加密,防止被刷单、薅羊毛等攻击,需要对数据加密加密处理。所以我们必须了解各种加密方式。开发者常会用到AES(Advanced Encryption Standard)加密算法,在此对H5页面的漏洞挖掘案例分享给大家。 前置知识 AES加密模
FB客服
2023/04/26
1.9K0
H5页面漏洞挖掘之路(加密篇)
python笔记43-加解密AES/CBC/pkcs7padding
有些公司对接口的安全要求比较高,传参数的时候,不会明文的传输,先对接口加密,返回的数据也加密返回。
上海-悠悠
2019/10/24
3.6K0
带你手撕 AES算法在Python中的使用
记录一下AES加解密在python中的使用 研究AES之前先了解下常用的md5加密,既。然谈到md5,就必须要知道python3中digest()和hexdigest()区别。
Python攻城狮
2020/12/28
2.2K0
SM4加密解密_iunlocker解锁网站
内容主要参考自:https://blog.csdn.net/weixin_34411563/article/details/86000381
全栈程序员站长
2022/11/08
1.2K0
SM4加密解密_iunlocker解锁网站
404星链计划 | BurpCrypto : 万能网站密码爆破测试工具
404星链计划迎来改版更新啦,我们在项目展示、奖励计划等方面有所优化调整,同时新收录了几个优秀的开源安全工具。
Seebug漏洞平台
2021/11/29
2.2K0
404星链计划 | BurpCrypto : 万能网站密码爆破测试工具
循序渐进学加密
还记得上初二的那年夏天,班里来了一个新同学,他就住在我家对面的楼里,于是我们一起上学放学,很快便成了最要好的朋友。我们决定发明一套神秘的沟通方式,任何人看到都不可能猜到它的真实含义。我们第一个想到的就是汉语拼音,但很显然光把一个句子变成汉语拼音是不够的,于是我们把26个英文字母用简谱的方式从低音到高音排起来,就得到了一个简单的密码本:
知识与交流
2021/04/02
8920
【小工匠聊密码学】--对称加密--概述
  对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文“原始数据”和“加密密钥“一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。
Java小工匠
2018/08/10
8760
【小工匠聊密码学】--对称加密--概述
Android中的AES加密-下
本章主要是针对AES加密的原理过程进行梳理。不在于细节,了解各个参数和类的功能来帮助我们再加密是更好的选择如何使用加密。
g小志
2020/06/19
1.8K0
Android中的AES加密-下
Java 中的 AES 加密详解
AES(Advanced Encryption Standard)是目前广泛使用的一种对称加密算法。它的加密速度快、强度高,被广泛应用于文件加密、传输加密等领域。本文将带你一步一步了解 Java 中的 AES 加密,包括 分组模式(Block Mode) 和 填充方式(Padding) 的概念,并结合代码示例说明其使用。
井九
2024/11/19
1900
Java 中的 AES 加密详解
Golang AES 加解密
利用 Go 提供的 AES 加解密与 Base64 编解码包,我们可以轻松实现 AES 加解密。实现之前,首先了解一下 AES 的基本知识。
恋喵大鲤鱼
2022/05/09
1.7K0
用BurpSuit的Burpy插件搞定WEB端中的JS加密算法
上次写过一篇文章,那篇文章主要是是针对移动应用进行加解密处理的,今天我们要说的是WEB端的加解密处理方式。
FB客服
2020/07/22
3.8K0
用BurpSuit的Burpy插件搞定WEB端中的JS加密算法
Java安全之安全加密算法
本篇文来谈谈关于常见的一些加密算法,其实在此之前,对算法的了解并不是太多。了解的层次只是基于加密算法的一些应用上。也来浅谈一下加密算法在安全领域中的作用。写本篇文也是基于算法的应用和实现,也是我的基本原则,能用就行。
全栈程序员站长
2021/04/07
1.4K0
Java安全之安全加密算法
漫画:什么是AES算法?
假设有一个发送方在向接收方发送消息。如果没有任何加密算法,接收方发送的是一个明文消息:“我是小灰”
小灰
2022/07/05
3730
漫画:什么是AES算法?
盘点几个安卓逆向之常用加密算法
大家好,我是码农星期八。本教程只用于学习探讨,不允许任何人使用技术进行违法操作,阅读教程即表示同意!
Python进阶者
2022/06/05
1K0
盘点几个安卓逆向之常用加密算法
常用的加密算法DES3、AES & RSA
DES3,通常指的是三重数据加密算法(Triple Data Encryption Algorithm,3DES)或称为Triple DES,是一种对称加密算法。它是基于原有的DES(Data Encryption Standard)算法扩展而来,通过三次DES加密来增强安全性。
BUG弄潮儿
2024/05/11
4840
常用的加密算法DES3、AES & RSA
相关推荐
加密与安全_探索对称加密算法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档