某动漫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逆向分析相关推荐

  1. 【该文章已被封禁】区块链钱包APP逆向分析及实现

    [区块链钱包APP逆向分析及实现]该文章已被封禁,需要看的兄弟姐妹们,请打开下面个人的博客进行查看: 0.原文链接:点击我进行打开: https://qqizai.gitee.io/qqizai/vi ...

  2. 知物由学 | 干货!一文了解安卓APP逆向分析与保护机制

    "知物由学"是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道."知物 ...

  3. APP逆向分析之XX音乐客户端下载歌曲权限绕过

    很长一段时间没有做逆向分析相关的研究了,最近看了一部电影,电影有首插曲名字叫不见不散,那是相当的好听啊,打开XX音乐,准备下载,额-.弹出付费才能下载-.为了一首歌,开一个包月服务,显然不是我这个搞过 ...

  4. 某App逆向分析,破解提交参数

    最近在学app逆向,记录一下破解过程. 环境: 模拟器,eclipse,httpcanary,jeb 一.先配置好模拟器环境,打开抓包软件分析参数 软件有模拟器检测,我们先用jeb分析一下 搜索&qu ...

  5. 逆向工程--苹果移动端app逆向分析技术(一)

    0x01 基础准备 关于iphone移动端app逆向程序相关初级基础大家可以自己提前学习.本 文主要给大家分享关于脱壳加密app程序的技术.学习之前大家先搭建系 统环境,准备相应的工具,参考链接教程自 ...

  6. 某教务管理系统APP逆向分析之协议漏洞 2018·2

    0x01前言 马上开学了,整理一下假期自己研究的成果,希望在安卓逆向分析这条路上能走得更远. 声明:文章仅供技术研究,切勿非法利用! 0x02功能协议分析 app登录后进入appCenter的界面,内 ...

  7. 安卓逆向入门练习之电影天堂APP逆向分析

    准备 抓包环境及工具准备,参考:使用Fiddler对安卓App抓包 APP:电影天堂APP,版本:3.5.0 抓包 使用fiddler在模拟器里对App进行抓包,拦截到四种类型的数据: http:// ...

  8. APP逆向分析之钉钉抢红包插件的实现-iOS篇

    花费了很多天的原创文章,转载请注明出处https://yohunl.com/ding-ding-qiang-hong-bao-cha-jian-iospian/ ,谢谢! 网络上关于微信红包的分析文章 ...

  9. 苏宁某APP逆向分析

    版本 c3VuaW5nXzkuNS4xMTJfNTAw 分析下提交订单 1.首先抓包 使用使用postern+charles抓包能够轻松抓取到包,这块限制不多 2.分析包 首先是/app/addcar ...

最新文章

  1. htcd816+android密码,HTC Desire 816刷机解锁教程
  2. 夏日php登录系统源码,夏日PHP企业管理系统 v0.1
  3. pku 3087 Shuffle'm Up 说的是bfs,其实就是个模拟
  4. java类名变量_java类名操作变量方法
  5. Opencv2.4.9源码分析——HoughLinesP
  6. 神经网络中的病态曲率-Pathological Curve-举例
  7. 确定活动的热点垃圾收集器
  8. ArcGIS API for Silverlight 调用GP服务准备---GP模型建立、发布、测试
  9. 丁香园 武汉 神童_扒一扒武汉同济、协和规培待遇
  10. 卢伟冰:“四摄小金刚”的诞生是为了让更多用户享受全场景拍摄的乐趣
  11. 机器学习之 特征工程
  12. 关于Java的反射机制,你需要理解这些..
  13. 学习笔记-Rabin-Karp哈希
  14. FancyCoverFlow(GalleryView)
  15. PDF如何复制页面,PDF复制页面这种方法就够了
  16. Visual Studio 2017各版本安装包离线下载、安装全解析
  17. 考研政治---马克思主义基本原理概论---认识论
  18. win10更改hosts文件
  19. 试用LibreOffice对VBA的支持
  20. manager objects is not callable(管理器对象不可调用)

热门文章

  1. 在windows环境下可以直接运行的word2vec.c 并带有详细注释
  2. 官方微信支付跟特约商户的区别
  3. 2021SC@SDUSC HBase(十三)项目代码分析——WAL写入
  4. 邮件服务器DNS设置-----MX、SPF、DKIM记录详解
  5. oracle读取数据方式,关于oracle数据库读取数据的三种方式
  6. 使用GetPixel要注意
  7. Bug的级别,按照什么划分
  8. android 工具 Draw 9-patch 详解
  9. 教你如何安装小熊猫DEV-C++6.7.5版
  10. matlab一元二次回归,MATLAB一元线性回归方程的计算及检验.doc