APK逆向:视频盗用+原创替换的实战分析
字数 2077 2025-11-24 12:10:47

APK逆向分析:视频盗用与原创替换功能实战教学文档

一、应用概述

本APK主要功能为视频内容处理工具,核心功能包括:

  • 视频去水印下载
  • 多平台视频链接解析
  • 抖音草稿视频替换功能
  • 原创内容替换机制

二、应用结构分析

2.1 壳保护识别

  • 使用查壳工具检测到双重保护:
    • 360加固保护
    • 腾讯加固保护
  • 脱壳方法:使用frida dexdump进行attach操作
  • 脱壳后得到的主要文件:
    • class.dex
    • class02.dex(包含主要业务逻辑)

2.2 应用入口点

  • 主入口:com.example.yuan_wanandroid
  • 主要功能模块:
    • 文章展示系统
    • Banner轮播功能
    • 视频去水印下载核心业务

三、安全验证机制分析

3.1 验证流程

  1. 网络验证:应用启动时进行网络连接状态检测
  2. 卡密验证:验证本地卡密文件有效性

3.2 卡密文件存储

  • 文件路径:/storage/emulated/0/kkk.txt
  • 验证逻辑:读取该文件内容进行授权验证

四、视频处理核心功能

4.1 剪切板内容提取

  • 功能:自动提取各平台分享链接中的视频信息
  • 解析方式:通过第三方API进行视频解析
  • 解析服务:https://api.spapi.cn
  • 文件保存:生成随机文件名,保存为.mp4格式

4.2 视频处理选项

处理完成后提供三个选项:

  1. 预览播放:本地预览下载的视频
  2. 保存:保存到本地相册
  3. 快速发布抖音:直接跳转到抖音发布流程

五、抖音发布功能深度分析

5.1 发布意图构造

// 创建分享Intent
Intent shareIntent = new Intent("android.intent.action.SEND");
shareIntent.setType("video/*");

// 读取视频文件路径
String videoPath = "/storage/emulated/0/qu.txt";
Uri videoUri = Uri.fromFile(new File(videoPath));

// 设置分享参数
shareIntent.putExtra(Intent.EXTRA_STREAM, videoUri);
shareIntent.setPackage("com.ss.android.ugc.aweme"); // 抖音包名

// 启动抖音应用
startActivity(shareIntent);

5.2 原创替换功能实现

5.2.1 功能触发条件

  • 布局文件:dialog_layout.xml
  • 控件ID:android:id="@+id/checkBox"
  • 代码位置:package com.example.yuan_wanandroid.view.system.SystemFragment
  • 触发函数:showDialog()

5.2.2 替换功能执行流程

  1. 用户选择"斗音草稿替换(新)"
  2. 调用checkBox666.isChecked()进行状态验证
  3. 顺序执行两个核心函数:
    • dd():数据处理和加密
    • chooseVideo():视频选择

六、数据加密与传输机制

6.1 JSON数据结构

{
  "模式": "02",
  "视频时长": "实际时长",
  "视频路径": "/storage/emulated/0/DCIM/destiny.mp4",
  "duration1": "0",
  "动图": true,
  "章节标识": false,
  "用户名": ""
}

6.2 加密流程

  1. RSA加密

    • 填充格式:RSA/ECB/PKCS1Padding
    • 密钥类型:私钥
    • 密钥格式:PKCS#8
    • 加密函数:SystemFragment.this.m863(jsonString)
  2. Base64编码

    • 对RSA加密结果进行Base64编码
  3. 文件存储

    • 存储路径:/storage/emulated/0/DCIM/ANDROID.png
    • 文件格式:伪装为PNG图片的实际数据文件

6.3 密钥管理

  • 密钥存储:BASE64编码格式存储
  • 密钥示例:MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSj...

七、视频选择机制

7.1 chooseVideo()函数分析

  • 首次运行:弹出存储权限请求对话框
  • 后续运行:直接进入系统视频选择器
  • 选择器调用:pickVideo()函数

7.2 权限管理

  • 所需权限:android.permission.READ_EXTERNAL_STORAGE
  • 权限处理:系统级权限请求流程

八、替换逻辑完整流程

8.1 用户操作流程

  1. 应用启动 → 网络验证 → 卡密验证
  2. 验证通过 → 进入主界面
  3. 自动读取剪切板内容
  4. 用户点击"一键全网视频去除水印"
  5. 视频处理完成 → 选择"快速发布抖音"
  6. 弹出平台选择对话框
  7. 选择"斗音草稿替换(新)"
  8. 系统相册选择替换视频
  9. 自动生成加密数据文件
  10. 启动修改版抖音应用

8.2 文件操作流程

  1. 原始视频路径:用户选择的视频文件
  2. 目标视频路径:/storage/emulated/0/DCIM/destiny.mp4
  3. 配置数据文件:/storage/emulated/0/DCIM/ANDROID.png
  4. 抖音应用读取配置并执行替换

九、技术要点总结

9.1 关键技术

  1. 多平台视频解析:通过第三方API实现
  2. Intent跨应用通信:与抖音应用的数据传递
  3. RSA加密保护:关键数据的加密传输
  4. 文件伪装技术:PNG文件实际存储加密数据
  5. 权限管理机制:Android运行时权限处理

9.2 安全绕过技术

  1. 加固绕过:使用frida进行动态脱壳
  2. 代码混淆:关键函数名和逻辑混淆
  3. 资源加密:布局文件和字符串资源加密
  4. 动态加载:部分逻辑可能采用动态加载技术

十、防御建议

10.1 针对此类应用的防护

  1. 应用签名验证:验证抖音官方签名
  2. 文件完整性检查:检测关键文件是否被修改
  3. 行为监控:监控异常的文件操作行为
  4. 加密通信:加强敏感数据的传输加密

10.2 用户安全意识

  1. 避免使用来历不明的视频处理工具
  2. 定期检查应用权限使用情况
  3. 注意观察应用的异常行为
  4. 及时更新官方应用版本

本教学文档仅用于安全研究和学习目的,请勿用于非法用途。

APK逆向分析:视频盗用与原创替换功能实战教学文档 一、应用概述 本APK主要功能为视频内容处理工具,核心功能包括: 视频去水印下载 多平台视频链接解析 抖音草稿视频替换功能 原创内容替换机制 二、应用结构分析 2.1 壳保护识别 使用查壳工具检测到双重保护: 360加固保护 腾讯加固保护 脱壳方法:使用frida dexdump进行attach操作 脱壳后得到的主要文件: class.dex class02.dex(包含主要业务逻辑) 2.2 应用入口点 主入口: com.example.yuan_wanandroid 主要功能模块: 文章展示系统 Banner轮播功能 视频去水印下载核心业务 三、安全验证机制分析 3.1 验证流程 网络验证 :应用启动时进行网络连接状态检测 卡密验证 :验证本地卡密文件有效性 3.2 卡密文件存储 文件路径: /storage/emulated/0/kkk.txt 验证逻辑:读取该文件内容进行授权验证 四、视频处理核心功能 4.1 剪切板内容提取 功能:自动提取各平台分享链接中的视频信息 解析方式:通过第三方API进行视频解析 解析服务: https://api.spapi.cn 文件保存:生成随机文件名,保存为.mp4格式 4.2 视频处理选项 处理完成后提供三个选项: 预览播放 :本地预览下载的视频 保存 :保存到本地相册 快速发布抖音 :直接跳转到抖音发布流程 五、抖音发布功能深度分析 5.1 发布意图构造 5.2 原创替换功能实现 5.2.1 功能触发条件 布局文件: dialog_layout.xml 控件ID: android:id="@+id/checkBox" 代码位置: package com.example.yuan_wanandroid.view.system.SystemFragment 触发函数: showDialog() 5.2.2 替换功能执行流程 用户选择"斗音草稿替换(新)" 调用 checkBox666.isChecked() 进行状态验证 顺序执行两个核心函数: dd() :数据处理和加密 chooseVideo() :视频选择 六、数据加密与传输机制 6.1 JSON数据结构 6.2 加密流程 RSA加密 : 填充格式: RSA/ECB/PKCS1Padding 密钥类型:私钥 密钥格式:PKCS#8 加密函数: SystemFragment.this.m863(jsonString) Base64编码 : 对RSA加密结果进行Base64编码 文件存储 : 存储路径: /storage/emulated/0/DCIM/ANDROID.png 文件格式:伪装为PNG图片的实际数据文件 6.3 密钥管理 密钥存储:BASE64编码格式存储 密钥示例: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSj... 七、视频选择机制 7.1 chooseVideo()函数分析 首次运行:弹出存储权限请求对话框 后续运行:直接进入系统视频选择器 选择器调用: pickVideo() 函数 7.2 权限管理 所需权限: android.permission.READ_EXTERNAL_STORAGE 权限处理:系统级权限请求流程 八、替换逻辑完整流程 8.1 用户操作流程 应用启动 → 网络验证 → 卡密验证 验证通过 → 进入主界面 自动读取剪切板内容 用户点击"一键全网视频去除水印" 视频处理完成 → 选择"快速发布抖音" 弹出平台选择对话框 选择"斗音草稿替换(新)" 系统相册选择替换视频 自动生成加密数据文件 启动修改版抖音应用 8.2 文件操作流程 原始视频路径:用户选择的视频文件 目标视频路径: /storage/emulated/0/DCIM/destiny.mp4 配置数据文件: /storage/emulated/0/DCIM/ANDROID.png 抖音应用读取配置并执行替换 九、技术要点总结 9.1 关键技术 多平台视频解析 :通过第三方API实现 Intent跨应用通信 :与抖音应用的数据传递 RSA加密保护 :关键数据的加密传输 文件伪装技术 :PNG文件实际存储加密数据 权限管理机制 :Android运行时权限处理 9.2 安全绕过技术 加固绕过 :使用frida进行动态脱壳 代码混淆 :关键函数名和逻辑混淆 资源加密 :布局文件和字符串资源加密 动态加载 :部分逻辑可能采用动态加载技术 十、防御建议 10.1 针对此类应用的防护 应用签名验证 :验证抖音官方签名 文件完整性检查 :检测关键文件是否被修改 行为监控 :监控异常的文件操作行为 加密通信 :加强敏感数据的传输加密 10.2 用户安全意识 避免使用来历不明的视频处理工具 定期检查应用权限使用情况 注意观察应用的异常行为 及时更新官方应用版本 本教学文档仅用于安全研究和学习目的,请勿用于非法用途。