最近,在应用程序中固定帐户视频的情况已经很常见。 本文将以M3U8格式的视频链接为例,分享如何在应用程序中方便地固定视频。
01
案例介绍
某派出所接到热心人士线索称:某视频APP内存在大量不雅视频,且该软件通过交友平台推广、APP返现等方式吸引了大量网友下载推广该APP用户上传视频。 办案民警担心用户删除视频,立即委托红联司法鉴定所修复APP内指定用户的视频。
02
大意
我办公室接到委托后评估了目前面临的几个主要问题:
①. 案件涉案账号、视频较多,证据需要短时间内固定;
②. 通过抓包发现APP与服务器交互的数据加密情况,包括视频地址;
③. APP得到了加固,逆向分析变得更加困难。
经过分析讨论,我们决定使用迅雷APP智能分析软件对APP的网络通信进行抓包解密,获取视频链接地址。 使用软件后,界面上显示自动解密的视频地址,修复工作初步完成。 接下来,通过迅雷云取证软件,成功批量修复了涉案账户的所有视频,并生成了表格。
雷电APP智能分析
一款结合APK文件静态分析和动态分析的取证软件。 通过静态分析,可以快速分析APK文件的基本信息和详细信息以及APK申请的所有权限。 通过动态监控,可以监控APK获取用户信息、手机操作、网络信息等全过程。 支持APK的网络数据包抓包分析,提供加固检测、一键解包、一键反编译等常见的 APK文件逆向取证操作。 它还提供Frida脚本功能,可以更轻松地分析APK文件。 此外,还支持XAPK文件、iOS IPA文件、iOS隐私报告和微信小程序的分析。
迅雷云取证软件
迅雷云取证软件支持国内外主流手机厂商的云备份数据固定,支持移动支付、即时通讯、社交、旅行、网盘、电商、邮件和综合视频等不同类型的应用云取证,并具有多种登录方式。 ,是一款专业取证软件,支持云数据采集、数据固定、手机、应用程序数据免费固定、数据提取、数据分析。
03
相关信息
M3U8 文件 (.m3u8)
M3U8文件是基于使用UTF-8编码的M3U格式扩展的文本文件。 该文件包含视频流媒体的URL链接。 每个链接都按照 M3U8 文件中指定的顺序指向一个视频片段文件(.ts 文件)。 加载并播放这些分段文件可以实现流畅的视频播放。
M3U8视频地址格式示例:
服务器域名()/video/xx.m3u8
抓包
抓包是通过对网络接口的监控来捕获通过该接口传输的所有数据包的过程。 常见的抓包方式有两种:应用层抓包和传输层抓包。 通常使用 、 等工具来捕获应用层HTTP、HTTPS协议的数据包,捕获传输层TCP、UDP协议的数据包。
04
使用工具
◉测试机(已安装红联抓包证书)/雷电模拟器9(将证书安装到“//etc//”目录下)
◉ 检查电脑
◉ 迅雷APP智能分析
◉ 雷云取证
◉ 视频链接脚本的拼接和提取
05
运营流程
1. 计算应用程序的哈希值,以验证应用程序的完整性。 (7.zip)
2、将已安装证书的安卓测试机连接至迅雷APP智能分析软件,将应用APK导入软件中,简单分析应用的基本信息。 这个界面简单直观,基本信息一目了然。 加壳的应用程序也可以一键解压和反编译,常用的APK反向功能也可以在软件中实现。
3、遇到这种情况,首先使用软件中“网络数据包”下的抓包功能,捕获应用程序中指定用户的某个视频链接的HTTP网络数据包。 原因大致有两个: 1、根据用户的ID来检查这个用户是否是我们的目标用户; ②. 获取M3U8视频的完整URL地址,为后续拼接做准备。
这里需要注意的是,根据应用的不同,需要保留HTTP GET请求头中不同的内容。 在这种情况下,将保留字段 URL、用户代理、aut、s 和 t。
URL:请求的URL
用户代理:浏览器识别自己(它是哪个浏览器)
aut:本例中必要的参数
s:本例中必要的参数
t:Unix 时间戳
4. 保存上述视频的完整URL地址。 接下来需要爬取应用中指定用户主页的所有视频链接地址。 这里使用软件内置的Frida脚本中的“AES/DES/RSA等加密解密”。 ”功能,滚动解密首页视频链接地址,与手动爬取相比,大大节省了时间和精力成本。
5、导出上述成功捕获的视频链接日志记录,并使用拼接和提取视频链接脚本对日志进行处理。 这里,第二步用于捕获完整URL地址的前半部分。
import re
import csv
import os
import pandas as pd
# 提取日志文件中的数据并导出为CSV文件
with open('XXX.log', 'r', encoding='utf-8') as file:
text_data = file.read()
text_data = re.sub(r'\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\]', '', text_data)
text_data = re.sub(r'[\[\]\n\t\r]', '', text_data)
pattern_user = r'"userId":(\d+),"nickName":"(.*?)"'
matches_user = re.findall(pattern_user, text_data)
if matches_user:
for match_user in matches_user:
user_id, nick_name = match_user
pattern_video = r'"title":"(.*?)","videoUrl":"(.*?)"'
matches_video = re.findall(pattern_video, text_data)
if matches_video:
csv_file_path = f'{user_id}.csv'
with open(csv_file_path, 'w', newline='', encoding='utf-8') as csvfile:
fieldnames = ['title', 'videoUrl']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for match_video in matches_video:
writer.writerow({fieldnames[i]: match_video[i] for i in range(len(fieldnames))})
else:
print(f"导出错误!")
# 拼接视频链接
file_path = 'XXX'
df = pd.read_csv(file_path)
df = df.rename(columns={'title': '名称'})
df = df.rename(columns={'videoUrl': '链接'})
df['链接'] = 'https://域名信息/api/m3u8/decode?path=' + df['链接']
output_path = 'XXX.csv'
df.to_csv(output_path, index=False)
print(f"Processed data saved to: {output_path}")存档
6、拼接M3U8视频的完整URL地址。 使用迅雷云取证软件批量下载M3U8视频。
7、用迅雷云取证软件通过视频链接下载视频的步骤非常简单。 新建一个案例,选择“m3u8视频固定”选项,将处理好的链接文档(.csv)导入到软件中,并设置相关参数。 由于本次捕获的视频链接也有一定的时间要求,因此在设置参数时将User-agent、aut、s、t写入请求头中。
8. 参数设置完成后,开始视频固定。 在全局设置中开启断点续传功能,可以让因网络问题而中断的任务继续得到修复。 另外,如果想要修复失败的数据,可以点击“重新修复失败的数据”选项,非常方便,不需要手动识别修复失败的数据。 直到完全成功修复或达到目标数量为止,整个任务就完成了。 成功修复的数据可以实时查看并一键导出。
总结
在案例中,我们经常会遇到各种APP应用。 随着技术的迭代更新,这些应用将从技术层面得到加强,使得逆向分析变得更加困难。 有时候案件时间敏感,留给我们慢慢分析的时间已经不多了。 这时候我们就需要一个方便的工具来帮助我们快速有效的获取信息。
以本文为例,利用迅雷APP智能分析软件的网络抓包解密功能,可以直接获取我们最关心的视频地址信息,大大降低了分析APK的难度; 迅雷云取证软件可以批量同时下载多个用户的视频。 链接使我们摆脱重复的下载任务。 两者配合使用,可以在最短的时间内为证据保全提供帮助,达到事半功倍的效果。 如果您有实用的想法,可以联系当地销售获取软件试用版并进行实际练习。
账户申请
电话咨询:联系您的区域销售经理或致电进行产品咨询。
在线咨询:发送私信至红联网络官方公众号,留言提出您的问题。 我们看到留言后会尽快回复您。
贡献者:青木
编辑及排版:
评论:厚朴