某x动漫app逆向分析
某动漫app 返回数据加密分析
目录
- 某动漫app 返回数据加密分析
- 前言
- 一、问题
- 1.1抓包返回加密数据
- 1.2查壳
- 二、分析
- 1.1 jadx-gui
- 1.2 全局搜索加密函数
- 1.3 疑似方法分析
- 三、Frida
- 1.1 反编译代码分析
- 1.2 hook看下结果:
- 1.3算法还原
- 1.3 Python还原
- 总结
前言
目标app: 6IW+6K6v5Yqo5ryr
版本: v8.1.6
工具:jadx、frida、pixel3 安卓10
提示:以下是本篇文章正文内容,案例可供参考
一、问题
1.1抓包返回加密数据
抓包域名打码,防止被x
1.2查壳
未发现加壳 直接打开jadx分析
二、分析
1.1 jadx-gui
打开jadx-gui把apk文件拖进去等待片刻, 首先先找到包名package=“com.qq.ac.android” 为hook做准备。
1.2 全局搜索加密函数
在分析加密方法的时候凭借经验找出最可能是的地方,根据这个案例大概能看出来是AES加密的数据,搜索关键词encrypt 。
结果如上, 看搜索出来的包名类com.qq.ac.android.library.util.CryptUtils比较像,点进去看下。
1.3 疑似方法分析
decodeHttpRequest()
encodeHttpRespone()
先不管了上frida hook看看
三、Frida
1.1 反编译代码分析
代码如下:
public String decodeHttpRequest(byte[] bArr, int i) {return ees3DecodeECB2Str(encryptKey(), bArr);}public String encodeHttpRespone(byte[] bArr, int i) {return ees3EncodeECB2Str(encryptKey(), bArr);}
ees3DecodeECB2Str()方法传入了两个参数, 参数1:encryptKey(),bArr.
1.2 hook看下结果:
encryptKey() ⇒ 就是秘钥啦 bytes就是对应加密的响应数据。
1.3算法还原
public static byte[] des3EncodeECB(byte[] bArr, byte[] bArr2) {SecretKey generateSecret = SecretKeyFactory.getInstance("desede").generateSecret(new DESedeKeySpec(bArr));Cipher instance = Cipher.getInstance("desede/ECB/PKCS5Padding");instance.init(1, generateSecret);return instance.doFinal(bArr2);}public static String ees3EncodeECB2Str(byte[] bArr, byte[] bArr2) {byte[] bArr3 = new byte[0];try {return Base64.encodeToString(des3EncodeECB(bArr, bArr2), 2);} catch (Exception unused) {return "";}}public static byte[] ees3DecodeECB(byte[] bArr, byte[] bArr2) {SecretKey generateSecret = SecretKeyFactory.getInstance("desede").generateSecret(new DESedeKeySpec(bArr));Cipher instance = Cipher.getInstance("desede/ECB/PKCS5Padding");instance.init(2, generateSecret);return instance.doFinal(bArr2);}
3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。
能看出来是3DES对称加密 没有魔改的地方。
1.3 Python还原
总结
内容敏感关键部分就不发了,小伙伴跟着做一遍问题不大。欢迎评论、私信交流~
某x动漫app逆向分析相关推荐
- 【该文章已被封禁】区块链钱包APP逆向分析及实现
[区块链钱包APP逆向分析及实现]该文章已被封禁,需要看的兄弟姐妹们,请打开下面个人的博客进行查看: 0.原文链接:点击我进行打开: https://qqizai.gitee.io/qqizai/vi ...
- 知物由学 | 干货!一文了解安卓APP逆向分析与保护机制
"知物由学"是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道."知物 ...
- APP逆向分析之XX音乐客户端下载歌曲权限绕过
很长一段时间没有做逆向分析相关的研究了,最近看了一部电影,电影有首插曲名字叫不见不散,那是相当的好听啊,打开XX音乐,准备下载,额-.弹出付费才能下载-.为了一首歌,开一个包月服务,显然不是我这个搞过 ...
- 某App逆向分析,破解提交参数
最近在学app逆向,记录一下破解过程. 环境: 模拟器,eclipse,httpcanary,jeb 一.先配置好模拟器环境,打开抓包软件分析参数 软件有模拟器检测,我们先用jeb分析一下 搜索&qu ...
- 逆向工程--苹果移动端app逆向分析技术(一)
0x01 基础准备 关于iphone移动端app逆向程序相关初级基础大家可以自己提前学习.本 文主要给大家分享关于脱壳加密app程序的技术.学习之前大家先搭建系 统环境,准备相应的工具,参考链接教程自 ...
- 某教务管理系统APP逆向分析之协议漏洞 2018·2
0x01前言 马上开学了,整理一下假期自己研究的成果,希望在安卓逆向分析这条路上能走得更远. 声明:文章仅供技术研究,切勿非法利用! 0x02功能协议分析 app登录后进入appCenter的界面,内 ...
- 安卓逆向入门练习之电影天堂APP逆向分析
准备 抓包环境及工具准备,参考:使用Fiddler对安卓App抓包 APP:电影天堂APP,版本:3.5.0 抓包 使用fiddler在模拟器里对App进行抓包,拦截到四种类型的数据: http:// ...
- APP逆向分析之钉钉抢红包插件的实现-iOS篇
花费了很多天的原创文章,转载请注明出处https://yohunl.com/ding-ding-qiang-hong-bao-cha-jian-iospian/ ,谢谢! 网络上关于微信红包的分析文章 ...
- 苏宁某APP逆向分析
版本 c3VuaW5nXzkuNS4xMTJfNTAw 分析下提交订单 1.首先抓包 使用使用postern+charles抓包能够轻松抓取到包,这块限制不多 2.分析包 首先是/app/addcar ...
最新文章
- htcd816+android密码,HTC Desire 816刷机解锁教程
- 夏日php登录系统源码,夏日PHP企业管理系统 v0.1
- pku 3087 Shuffle'm Up 说的是bfs,其实就是个模拟
- java类名变量_java类名操作变量方法
- Opencv2.4.9源码分析——HoughLinesP
- 神经网络中的病态曲率-Pathological Curve-举例
- 确定活动的热点垃圾收集器
- ArcGIS API for Silverlight 调用GP服务准备---GP模型建立、发布、测试
- 丁香园 武汉 神童_扒一扒武汉同济、协和规培待遇
- 卢伟冰:“四摄小金刚”的诞生是为了让更多用户享受全场景拍摄的乐趣
- 机器学习之 特征工程
- 关于Java的反射机制,你需要理解这些..
- 学习笔记-Rabin-Karp哈希
- FancyCoverFlow(GalleryView)
- PDF如何复制页面,PDF复制页面这种方法就够了
- Visual Studio 2017各版本安装包离线下载、安装全解析
- 考研政治---马克思主义基本原理概论---认识论
- win10更改hosts文件
- 试用LibreOffice对VBA的支持
- manager objects is not callable(管理器对象不可调用)
热门文章
- 在windows环境下可以直接运行的word2vec.c 并带有详细注释
- 官方微信支付跟特约商户的区别
- 2021SC@SDUSC HBase(十三)项目代码分析——WAL写入
- 邮件服务器DNS设置-----MX、SPF、DKIM记录详解
- oracle读取数据方式,关于oracle数据库读取数据的三种方式
- 使用GetPixel要注意
- Bug的级别,按照什么划分
- android 工具 Draw 9-patch 详解
- 教你如何安装小熊猫DEV-C++6.7.5版
- matlab一元二次回归,MATLAB一元线性回归方程的计算及检验.doc