安卓逆向腾讯动漫app返回数据加密分析案例分享

目录
  • 前言
  • 一、问题
    • 1.1抓包返回加密数据
    • 1.2查壳
  • 二、分析
    • 1.1 jadx-gui
    • 1.2 全局搜索加密函数
    • 1.3 疑似方法分析
  • 三、Frida
    • 1.1 反编译代码分析
    • 1.2 hook看下结果:
    • 1.3算法还原
    • 1.4 Python还原
  • 总结

前言

腾讯动漫app v8.1.6 工具:jadx、frida、pixel3 安卓10

提示:以下是本篇文章正文内容,案例可供参考

一、问题

1.1抓包返回加密数据

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.4 Python还原

总结

内容敏感关键部分就不发了,小伙伴跟着做一遍问题不大。

以上就是腾讯动漫app返回数据加密分析的详细内容,更多关于返回数据加密分析腾讯动漫的资料请关注我们其它相关文章!

(0)

相关推荐

  • 浅谈Android应用安全防护和逆向分析之apk反编译

    概述 这里是Mac环境,如果是window环境的同学,在环境搭建和工具上可以选择Window环境的.先看看需要到的工具: 1.apktool:https://ibotpeaches.github.io/Apktool/install/ 2.dex2jar:https://github.com/pxb1988/dex2jar 3.jd-gui:http://jd.benow.ca 注意:工具一定要是当前最新版本的,否则很容易出现一些莫名其妙的错误. 先看一下项目的包结构 然后在简单看MainAct

  • 使用android-apktool来逆向(反编译)APK包方法介绍

    谷歌官方提供了apktool可以逆向已经发布出去的APK应用,即反编译已经打包成功的APK文件,使用它可以将其反编译成非常接近打包前的原始格式,对于APK来说,可以具体的逆向AndroidManifest.xml.资源文件resources.arsc以及将dex文件反编译成可以调试的smali文件. Warnning 但apktool并不等于是可以用来侵犯前作者的作品的工具,所以使用apktool工具的用户千万不用用其来进行不正当.非法的使用. It is NOT intended for pi

  • 非常详细的android so库逆向调试教程

    目录 前言 应用环境准备 创建默认的native application 修改stringFromJNI方法,便于调试 修改androidManifest文件 修改CMakeLists.txt 编译运行,获取so hook环境准备 使用ida pro进行hook adb与手机的准备 ida pro的工作准备 使用ida pro进行调试 进行调试 结束 前言 好久没有写博客了,最近的精力全放在逆向上面.目前也只是略懂皮毛. android java层的逆向比较简单,主要就是脱壳 .反编译源码,通过

  • Android逆向之dex2oat的实现解析

    目录 简介 dex2oat介绍 为什么要使用dex2oat进行转换 dex2oat代码 1.dex2oat类定义 2.OpenDexFiles函数定义 3.dex2oat入口函数定义 总结 简介 在Android系统5.0及以上系统开始逐渐丢弃Dalvik虚拟机,由于ART虚拟机对内存分配和回收都做了算法优化,降低了内存碎片化程度,回收时间也得以缩短,所有android系统5.0及以上都在主推ART虚拟机.在ART虚拟机中ART则会将Dex通过dex2oat工具编译得到一个ELF文件,它是一个可

  • 安卓逆向腾讯动漫app返回数据加密分析案例分享

    目录 前言 一.问题 1.1抓包返回加密数据 1.2查壳 二.分析 1.1 jadx-gui 1.2 全局搜索加密函数 1.3 疑似方法分析 三.Frida 1.1 反编译代码分析 1.2 hook看下结果: 1.3算法还原 1.4 Python还原 总结 前言 腾讯动漫app v8.1.6 工具:jadx.frida.pixel3 安卓10 提示:以下是本篇文章正文内容,案例可供参考 一.问题 1.1抓包返回加密数据 1.2查壳 未发现加壳 直接打开jadx分析 二.分析 1.1 jadx-g

  • 安卓逆向半次元app逆向分析源码

    目录 前言 一.案例 二.分析 1. jadx反编译 2.ida分析so层 3. Frida 3.1 hook结果 4. 算法还原 总结 仅供学习交流,禁止商业用途.如侵害利益,联系必删! 前言 最近一位小伙伴钟爱二次元文化,于是找到半次元这个app,但是很快他就遇到了问题. 一.案例 样本: 半次元 v5.0.6 工具: jadx-gui.ida.frida 问题描述: POST请求body中的data加密,那要想动态模拟请求数据,就需要逆向分析data如何加密的了. 二.分析 1. jadx

  • 安卓逆向分析之酷狗signature案例分享

    目录 前言 一.抓包待分析参数 1.1 charles抓包-音乐评论接口 1.2 模拟请求 1.3 查壳 二.分析 2.1 packageName 2.2 搜索关键词 2.3 a2追踪hook 2.4 b2追踪hook 2.5 hook 加密函数 仅做学习交流,如有侵犯联系必删. 前言 一篇酷狗app安卓逆向的文章,难度适中. 样本: 酷狗app v10.8.8 工具: jadx.Pixel3 安卓10.frida.charles 小伙伴可以跟着一起做做 提示:以下是本篇文章正文内容,下面案例可

  • 安卓逆向案例分析之蝉妈妈sign破解

    目录 前言 1.抓包 2. 定位分析 2.1 package 2.2 jadx-gui 3. hook 总结 前言 蝉妈妈app v2.6.1 安卓逆向分析之sign破解 提示:以下是本篇文章正文内容,下面案例可供参考 1.抓包 接口: https://api-service.chanmama.com/v1/douyin/live/rank/realtime 由图可见Headers中关键参数sign 2. 定位分析 2.1 package package=‘com.chandashi.chanm

  • JavaScript实现返回顶部按钮案例

    本文实例为大家分享了JavaScript实现返回顶部按钮的具体代码,供大家参考,具体内容如下 思路: 首先先设计出其静态样式,这里主要利用固定定位,将其固定在页面底部的某一位置处 .backtotop { position: fixed; bottom: 80px; right: 80px; width: 80px; height: 80px; background-color: #ccc; font-size: 20px; text-align: center; padding-top: 12

  • Android学习笔记(二)App工程文件分析

    App工程文件分析 关于如何创建一个最简单的Android App请参照链接: < Android学习笔记(一)环境安装及第一个hello world > http://www.jb51.net/article/52593.htm 创建完的工程文件如下图所示,本文对一些主要的文件进行分析. src文件分析 App源文件如图: 打开源文件 MainActivity.java 可看到如下代码: 源码主要功能如下: App源文件目录 package com.example.firstapp; 导入A

  • 爬虫逆向抖音新版signature分析案例

    目录 断点调试 流程分析 流程总结 因为老策略一直能用,一直没有看新版signature.本文做一下分析记录. 断点调试 堆栈进来之后,url中signature已经有了 shift+f11 往前找,找到了还没signature的位置,然后断点 重新触发请求 这里目前是没有signature的 F9 F11都行,单步往下走 过了一会儿能看到g.send(d) 这里是XMLHttpRequest 的 send 请求. send下一步到_0x2856c7方法 这里进行处理之后再返回到 XMLHttp

  • php之app消息推送案例教程

    如何用php实现APP消息推送 现在有很多的消息推送厂商,比如阿里云的消息推送,极光推送,融云的消息推送.他们的原理都是把sdk内置在app里面,达到消息推送的目的,通过一张图来了解一下,看不懂不要紧,理解大概的过程就行 实现 进入极光官网,注册一个app应用 集成厂商推送服务(!!!非常重要,不然推送不了--) 中途还要验证企业用户,集成完把sdk发给app开发人员. 极光官网推送,测试是否成功 到这一步已经实现基本的推送了,可以发现非常简单. 重点来了,用php实现推送 回到第一张图,只要我

  • 腾讯开源消息中间件TubeMQ总体介绍分析

    目录 TubeMQ总体介绍 TUBEMQ的性能: 与当前MQ横向对比分析: TUBEMQ集群架构: 相比KAFKA,TUBEMQ的系统特点: 纯Java实现语言: 引入Master协调节点: 服务器侧消费负载均衡: 系统行级锁操作: Offset管理调整: 消息读取机制的改进: 消费者行为管控: 服务分级管控: 系统安全管控: 资源利用率提升改进: 客户端改进: BROKER文件存储方案改进: 1.文件结构组织形式调整: 2.内存块缓存: 3.SSD辅助存储: TUBEMQ客户端的演进: 1.数

  • JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)

    首先给这些'返回页首'的链接加上个Class: <a href="#" class="backtotop" target="_self">返回页首↑</a> <!--把所有返回页首的链接加上class,例如:backtotop-->然后加入下面jQuery代码,你可以把这行代码放在</body>前,或者其它位置.当然你还要在<head>里包含jQuery库文件.( 复制代码 代码如下:

随机推荐