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 验证流程
- 网络验证:应用启动时进行网络连接状态检测
- 卡密验证:验证本地卡密文件有效性
3.2 卡密文件存储
- 文件路径:
/storage/emulated/0/kkk.txt - 验证逻辑:读取该文件内容进行授权验证
四、视频处理核心功能
4.1 剪切板内容提取
- 功能:自动提取各平台分享链接中的视频信息
- 解析方式:通过第三方API进行视频解析
- 解析服务:
https://api.spapi.cn - 文件保存:生成随机文件名,保存为.mp4格式
4.2 视频处理选项
处理完成后提供三个选项:
- 预览播放:本地预览下载的视频
- 保存:保存到本地相册
- 快速发布抖音:直接跳转到抖音发布流程
五、抖音发布功能深度分析
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 替换功能执行流程
- 用户选择"斗音草稿替换(新)"
- 调用
checkBox666.isChecked()进行状态验证 - 顺序执行两个核心函数:
dd():数据处理和加密chooseVideo():视频选择
六、数据加密与传输机制
6.1 JSON数据结构
{
"模式": "02",
"视频时长": "实际时长",
"视频路径": "/storage/emulated/0/DCIM/destiny.mp4",
"duration1": "0",
"动图": true,
"章节标识": false,
"用户名": ""
}
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 用户安全意识
- 避免使用来历不明的视频处理工具
- 定期检查应用权限使用情况
- 注意观察应用的异常行为
- 及时更新官方应用版本
本教学文档仅用于安全研究和学习目的,请勿用于非法用途。