本机环境
1 |
1.mumu模拟器 |
分析过程
1. 使用mumu模拟器连接adb
安装时使用4.3.2版本 5.0版本报错
1 |
The client is using an unsupported version of the Socket.IO or Engine.IO protocols |
1 |
pip install flask-socketio==4.3.2 |
2. 对注册功能抓包
可以看到securityCode以及post内容均为加密内容
3. 运行httpdecrypt
找到目标app 将app包名com.xxx.xxx填入框中并点击Confirm
4. 然后点击Hooks功能
在Match中输入刚才的包名 点击Confirm
5. 重新进行注册功能操作
根据数据包中的参数,找到对应的方法
1 |
com.xxx.xxx.ybblibrary.comm.commTools.tool.EncryptionTool$AES.encrypt(argType0 : object argType1 : string) |
1 |
com.xxx.xxx.ybblibrary.comm.commTools.tool.EncryptionTool.EncoderByMd5(argType0 : string) |
1 |
com.xxx.xxx.ybblibrary.comm.commTools.tool.EncryptionTool$AES.decrypt(argType0 : object argType1 : string) |
6. 查看加密函数
1 |
com.xxx.xxx.ybblibrary.comm.commTools.tool.EncryptionTool$AES.encrypt(argType0 : object argType1 : string) |
有两个参数 一个是对象 一个是字符串 我们还需要知道对象的具体的参数类型
在Finds中搜索函数的类名
1 |
com.xxx.xxx.ybblibrary.comm.commTools.tool |
- 点击Confirm
- 找到方法名EncryptionTool$AES encrypt
- 可以看到其具体的参数类型
加密函数中参数对象的具体的类型为static
代码生成
1 |
1.转到toBurp模块 |
1. 在custom中会生成代码
arg0是传过来的加密字符串 arg1是Android的Context的对象
1 |
var context = Java.use('android.app.ActivityThread').currentApplication().getApplicationContext(); |
最终代码
1 |
'use strict'; |
2.loadScript
点击左上角loadScript
3.在burpsutie中进行设置
下载burp插件HTTPDecrpyt并进行安装
https://github.com/lyxhh/lxhToolHTTPDecrypt/releases
选择到encrypt 然后右键发送到toBurp模块
选择加密后的数据 然后根据配置的方法进行解密
参考链接
http://www.ironheart.top/index.php/archives/22/
https://www.t00ls.net/articles-51070.html
FROM :ol4three.com | Author:ol4three
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论