My computer, my data, my code - liberating your data from user-hostile apps.
This 2 hour workshop will guide you through analysing a real application, and re-implementing it just enough in code to get your own data out.
Date: Saturday, 24th February 2024
Venue: smallcase, 51, Convent Road, Richmond Town, Bangalore
Time: 11 am.
RSVP are closed but reach out if you're interested: https://fossunited.org/meetup/rsvp/2024/02
Learning Outcomes:
- A basic idea of what goes into re-implementing real-world applications as FOSS. What tools are required, what do actual flows look like.
- Experience with ZAP/mitmproxy, the open-source proxy for such usecase.
- A better understanding of HTTP, sessions, authentication.
- Writing some basic web request code, generating CSV files.
Pre-requisites
- Basic understanding of at least one programming language. Ideally one of Python/Ruby/Bash/Javascript, but others will also do.
- A mobile device - either iOS or Android will do. Recommended, but not necessary.
- A laptop with a working *nix setup and WiFi. WSL/MacOS/Linux should be fine.
- A working setup of your favorite programming language.
Workshop Flow
- Agenda, Fundamentals Workshop Walkthrough - Tooling introduction, and explanation of fundamentals (HTTP Requests, Proxies, Reverse Engineering, FOSS)
- Traffic Capture & Analysis - Walk everyone through signing up and using the application while attached to a proxy. Basics of ZAP (First 15 minutes), then letting users play around for the next 30 as we guide them towards web flows.
- Code Generation - Simple code generation using tools such as https://curlconverter.com/. Understand what the code does.
- Data Export - Final code changes to generate your data export, suggestions for improvements etc.
Non-Goals
Due to this being a short 2 hour workshop, we cannot go in depth, and this is meant as a beginner-friendly workshop to dip your toes in the field. A few call-outs for what will not be covered:
- Learning Reverse Engineering - We cannot deep-dive into learning Android/iOS RE skills, and will limit ourselves to just traffic analysis.
- Teaching Basics of Programming - We assume you know how to code in atleast one programming language, and are sufficiently profecient to know how to make web requests in your language of choice.
Workshop Trainers
Nemo is creator of endoflife.date. Previously, he was a founding engineer at Razorpay, where he reversed applications for fun and fintech.
Vivek is an ex-engineer at Razorpay, he hacks things for fun and profit.
Both of us have conducted workshops together in the past.