All projects

Technical Report · Security & Networking

Mobile API Traffic Analysis Lab

Controlled mobile-API traffic analysis lab using my own authenticated account to study JSON endpoints, session/token behavior and HLS playlist/media request flows.

AUTHOR  Gaurav Verma CATEGORY  Security & Networking SOURCE  https://github.com/GAURAV-321/reverse_engineering_course_download DATE  Mar 2023 STATUS  published
View Source Python HLS JSON Mobile Security Security Research Session Analysis

Abstract

A controlled traffic-analysis lab in which I used my own authenticated mobile account to observe JSON API endpoints, session and token handling, and HLS media-delivery flows at the protocol level. No binary patching, no bypass — just structured observation of an authorized session and documentation of what the request/response patterns reveal about the application architecture.

1. What This Is

This is a security-research exercise, not a tool or a downloader. I captured and reviewed application traffic from an account I was authorized to access, mapped request/response relationships, and documented how the mobile client maintains state and fetches streaming media. The scope is deliberately limited to my own paid account and content; the repository explicitly states the work is not intended to bypass DRM, payment protection, copyright controls, or terms of service.

The key finding is that reverse engineering at this level is mostly protocol understanding rather than binary patching. Request sequencing, state propagation, and media-delivery structure reveal a large part of the application architecture without touching a single disassembled function.

2. How It Works

The workflow is sequential: set up an authorized session, group traffic by feature, trace state, inspect media flows, then document. Each stage feeds the next.

# Stage Input Tool Output
01 Session setup Authorized account credentials Mobile client, proxy capture Live authenticated traffic stream
02 Request grouping Captured HTTP/JSON traffic Manual inspection, Python notes Endpoints mapped by feature
03 State tracing Grouped request/response pairs Header/cookie/token diffing Session-state lifecycle notes
04 Media flow inspection HLS/m3u8 playlist and segment URLs Protocol-level request review Playlist-to-segment request pattern
05 Documentation All prior observations Markdown notes, Python snippets Reproducible findings write-up

3. Implementation Notes

3.1 Python for request and data analysis

Python scripts handle the repetitive parts: parsing captured JSON responses, extracting and comparing header fields across related requests, and flagging which tokens or cookies change between calls. The scripts are small and disposable — the value is in the observation, not the automation.

3.2 HLS / m3u8 protocol inspection

The media-delivery side is inspected at the playlist and segment level. I traced how the client requests an m3u8 master playlist, resolves variant playlists, and then fetches individual TS/fMP4 segments. The focus is on request sequencing and URL structure, not on decrypting or re-encoding the media.

3.3 Session and token state tracking

I tracked how authentication state — bearer tokens, session cookies, and custom headers — is issued, refreshed, and propagated across related API calls. The goal was to understand the client-server state machine, not to forge or replay credentials.

4. Constraints

  • Single-account scope

    All observations come from one authorized session. Multi-tenant behavior, rate-limiting under load, and concurrent-session edge cases are not covered.

  • Manual, not automated

    The analysis is largely by-eye with small Python helpers. There is no continuous capture pipeline, so findings are point-in-time snapshots rather than a live monitoring system.

  • Protocol-level only

    No binary disassembly, no Frida hooks, no certificate-pinning bypass. The analysis stops at HTTP/JSON/HLS traffic, which means internal client logic remains opaque.

  • No bypass or circumvention

    The project is explicitly scoped to observation. DRM, payment protection, and access-control mechanisms are documented as observed, not defeated. This limits what can be concluded about enforcement strength.

5. Next

  1. a. Automate request grouping with a Python script that tags captured endpoints by feature and emits a structured JSON summary.
  2. b. Build a minimal session-state diagram from the observed token and cookie lifecycle, showing issuance, refresh, and expiry points.
  3. c. Extend the HLS analysis to cover segment retry behavior and adaptive-bitrate ladder transitions under simulated bandwidth changes.

— end of report —