tahag.dev

Uses

The tools that survive on this machine, and what each one is actually for. Nothing here is sponsored.

decompiling

jadx

First stop. Java that is wrong in predictable places, which is enough to find the call I care about

apktool

Manifests and resources, plus a rebuild when patching is faster than hooking

dex2jar + JD-GUI

Fallback for the constructs jadx refuses. A second pair of eyes on the same dex

Ghidra

The native libraries in lib/*.so. Slower than jadx, and often the only place the check exists

running the app

Frida

Spawn, hook, and read the return value before the app has finished waking up. One script per target

objection

The standard checks in one command, for when the Frida script would be the same as last time

mitmproxy

A device I control, my CA installed, every request in view. Pinning turns this into a Frida problem

MobSF

A static scan in minutes. Useful for triage, not for a conclusion

running this site

server

Cloudflare Pages Functions and Hono. HTML is cached at the edge for 60 seconds and purged on publish

storage

D1 for posts, comments, and analytics. Markdown is rendered once at save time, not per request

highlighting

Shiki with the JavaScript regex engine, light and dark. Loaded only when a page has code

search

Fuse.js over an index built from D1. The index is small, so the browser does the searching

outside the terminal

laptop

ThinkPad running CachyOS with Hyprland. Arch btw, since someone always asks

notebook

Paper. A call graph survives a reboot and never asks for an update

Type to search. Enter opens the top result.

/ openesc closeenter go