abedegno
- 7 skills
- 0 followers
- 8 hours ago last updated
- ▌ Android Mitm Setup · abedegno bundleIntercept a mobile Android app's HTTPS traffic on Android 7+ where TLS pinning is in force. Walks through rootable emulator selection, mitmproxy CA installation into the system trust store, proxy routing, and Frida-based pinning bypass. Use when you need to see what an Android app is sending over the wire — for security research, API documentation, or interoperability work.
- ▌ Mobile Auth Replay · abedegno bundleReproduce a mobile app's OAuth2/PKCE auth flow from a desktop tool (Flask helper, Python script). Includes the WAF / TLS-fingerprint gotcha where Python's default urllib gets blocked by Akamai Bot Manager and you have to use curl_cffi to impersonate Chrome's TLS handshake. Use after you've observed the auth flow in mitm and want to drive the backend without an Android device in the loop.
- ▌ Closed Loop Live Demo · abedegnoA single command that runs an offline prediction end-to-end against a live service and reports whether the prediction matched reality. The proof-of-claim pattern — offline benchmarks always look good, live closed-loop tests catch the gap between sim and reality. Use when you have a deterministic port (validated via bit-exact-sim-validation) and need to prove it predicts the production system's behaviour.
- ▌ Bit Exact Sim Validation · abedegno bundleValidate a port of a deterministic external system by building a per-step diff harness against captured authoritative state. The "trust anchor test" pattern — one regression test that asserts your port reproduces the original system's output exactly, plus a per-step diff harness for when that test fails. Use when porting a PRNG, game engine, financial model, protocol decoder, or any deterministic state-evolving system.
- ▌ Negative Result Branches · abedegnoDiscipline for preserving failed optimisation experiments. Branch per hypothesis, commit message captures the empirical number, reference branches in docs so future-you doesn't reinvent the failed approach. Use whenever you have an optimisation hypothesis that might pay off but isn't certain — default to "build it on a branch, measure honestly, document the result, leave the branch around even if it didn't win."
- ▌ Find Production Sourcemap · abedegnoCheck whether a production web app ships its JavaScript sourcemaps before doing the hard work of reverse-engineering minified bundles. Surprisingly often the `.js.map` sibling URL is right there. Use when reverse-engineering a web app, a webview-based mobile app, or any system where the client is shipped as compiled JS.
- ▌ Time Window Seed Bruteforce · abedegno bundleRecover a low-entropy PRNG seed from observed state plus a known time window. Common when a system uses Date.now() or time(NULL) as its default seed — that's ~41 bits of entropy, brute-forceable in seconds when you know within ~10s when the seed was minted. Use when porting a deterministic system that won't tell you its seed, or to validate a leaked-seed claim.