Colin Xiao
AndroidiOSPCTagsAbout

Android

Android app and native-binary reverse engineering: unpacking, hooking frameworks, signature algorithms, device fingerprinting, and kernel internals.

89 articles

  • Reversing ARM64 VMP: Virtual Instructions, Virtual Registers, and De-virtualization

    Reversing an ARM64 VMP: virtual instructions, virtual registers, and de-virtualization, mapping the custom ISA back to real ARM64, with every step broken down clearly.

    • reverse-engineering
    • vmp
    • code-protection
    • de-obfuscation
    • arm64
    • virtualization
  • Android App Hardening: From Whole-APK Packing to Code-Extraction Packing — Principles and Implementation

    Android app hardening from whole-APK to code-extraction packing, tracing the evolution of protectors and how each generation is defeated, with every step broken down clearly.

    • android
    • app-hardening
    • dex-packing
    • unpacking
    • classloader
    • java-reflection
    • code-extraction
    • dex2oat
    • art
    • in-memory-dex-classloader
    • dexclassloader
    • apktool
    • native-hook
    • dobby
    • bytehook
    • zygote
    • application-startup
  • A Deep Dive into Frida Stalker's Source Code

    A source deep dive into Frida Stalker, explaining how its dynamic code instrumentation and recompilation actually work under the hood, with the commands and code included.

    • frida
    • stalker
    • gum
    • dynamic-binary-instrumentation
    • dbi
    • code-tracing
    • basic-block
    • jit
    • arm64
    • source-code
    • reverse-engineering
    • gumexeccontext
    • relocator
  • Detecting Zygisk Injection via the dlclose soinfo Gap

    Detecting Zygisk injection via dlclose, a clever trick that catches Magisk's Zygisk hooks by watching for a suspicious library unload, with a full walkthrough of the technique.

    • zygisk
    • zygisknext
    • magisk
    • dlclose
    • soinfo
    • injection-detection
    • anti-injection
    • linker
    • zygote
    • native
    • arm64
    • root-detection
    • reverse-engineering
  • Common Ways to Bypass libmsaoaidsec.so's Anti-Frida Protection

    Bypassing libmsaoaidsec anti-Frida, another walkthrough of defeating the SDK's Frida detection routines to keep instrumentation running, and the mechanism explained clearly.

    • android
    • libmsaoaidsec
    • anti-frida
    • frida
    • pthread_create
    • clone
    • strstr
    • strcmp
    • hook
    • bypass
    • anti-debugging
    • security-sdk
    • reverse-engineering
    • rusda
  • Bypassing a Mobile Game's mmap-Modular Anti-Hook Protection

    A mobile game's mmap-modular anti-hook protection, analyzing how it splits code into mmap'd modules to detect and resist hooking, and the bypass logic broken down.

    • android
    • anti-hook
    • anti-frida
    • frida
    • mmap
    • mprotect
    • syscall
    • integrity-check
    • hash
    • game-protection
    • reverse-engineering
    • native
    • arm64
    • self-protection
  • The Native Activity Launch Flow: From Launcher Tap to onCreate

    The native activity launch flow on Android, tracing how an NDK-based app boots from Zygote through the runtime all the way to its native entry point, with the setup and commands all covered.

    • android
    • aosp
    • framework
    • activity-launch
    • launcher
    • ams
    • zygote
    • binder
    • activitythread
    • application
    • instrumentation
    • process
    • source-code
  • Recovering a Car App's `sd` Signature: White-Box AES and DFA Key Recovery

    Recovering a car app's sd signature, reversing the signing algorithm behind the vehicle-control API to craft valid signed requests, and the code traced down to the core.

    • white-box-aes
    • dfa
    • unidbg
    • aes
    • pkcs7
    • cbc
    • key-recovery
    • phoenixaes
    • md5
    • signature
    • sd-parameter
    • android
    • reverse-engineering
    • frida
    • hook
  • A Frida-Powered Xposed: Injecting Frida into Zygote for Serverless Hooking

    A Frida-powered Xposed, building an Xposed-like hooking framework on top of Frida to hook Java methods without the Xposed runtime, and the gotchas flagged along the way.

    • frida
    • xposed
    • zygote
    • apatch
    • lief
    • static-injection
    • gumjs
    • zmq
    • hooking
    • app_process
    • setthreadname
    • android
    • instrumentation
  • Hardware Breakpoints and Watchpoints with Frida

    Hardware breakpoints with Frida, using debug registers to set precise breakpoints that survive code that clears software breakpoints, for anyone reversing similar targets.

    • frida
    • hardware-breakpoint
    • watchpoint
    • memory-access
    • instrumentation
    • android
    • arm
    • x86
    • dynamic-analysis
    • debugger
  • Decrypting Statically-Linked BoringSSL Traffic: Locating ssl_log_secret Automatically

    Locating ssl_log_secret in a statically-linked BoringSSL, finding the TLS key-logging function to decrypt traffic from a hardened app, with the analysis method shown end to end.

    • frida
    • frida-analykit
    • wireshark
    • tls
    • boringssl
    • ssl-keylog
    • flutter
    • webview
    • okhttp
    • adrp
    • adrl
    • memory-scan
    • arm64
    • static-linked
    • traffic-decryption
  • How Android App Virtualization Works — The VirtualApp Architecture

    How Android app virtualization works, explaining the sandboxed dual-app cloning technology and the hooking and IPC layers underneath it, so you can reproduce it yourself.

    • virtualapp
    • app-virtualization
    • dual-app
    • multi-instance
    • hook
    • ams
    • pms
    • binder
    • io-redirect
    • native-hook
    • zygote
    • framework
    • android
  • Real-Time HTTPS Decryption With Frida + Wireshark (Part 1) — Hooking libssl

    Real-time HTTPS decryption with Frida and Wireshark, hooking the app to export TLS session keys and decrypt traffic live in the capture, with the tools and offsets documented.

    • frida
    • wireshark
    • tls
    • ssl
    • https
    • decryption
    • libssl
    • boringssl
    • sslkey
    • keylog
    • ssl-pinning
    • conscrypt
    • packet-capture
    • traffic-analysis
  • Detecting Frida by Diffing In-Memory and On-Disk Function Bytes

    Detecting Frida by byte comparison, a lightweight defense that checks instruction bytes to spot inline hooks the framework left behind, with the setup and commands all covered.

    • frida
    • anti-frida
    • hook-detection
    • inline-hook
    • libc
    • gum
    • interceptor
    • sigaction
    • exit
    • abort
    • native
    • arm64
  • Reversing OLLVM's Control-Flow Flattening With IDA Python

    Reversing OLLVM control-flow flattening, reconstructing the original control flow from the dispatcher loop, state variable, and jump tables, and the code traced down to the core.

    • ollvm
    • obfuscation
    • control-flow-flattening
    • fla
    • deobfuscation
    • idapython
    • ida
    • native
    • arm64
    • naga
    • libgeiri
    • reverse-engineering
  • Debugging Android Without Attaching: eDBG and the eBPF Trick

    An eBPF-based Android CLI debugger, using kernel BPF programs to set breakpoints and trace execution without ptrace or a userspace agent, with the result and caveats spelled out.

    • ebpf
    • uprobes
    • debugger
    • anti-debugging
    • android
    • native
    • cli
    • gdb
    • kernelsu
    • arm64
    • edbg
    • reverse-engineering
  • Bypassing a Korean Game's Anti-Debugging, Layer by Layer

    Bypassing a Korean game's anti-debugging, walking through its ptrace and timing checks and patching them to keep the debugger attached, and the gotchas flagged along the way.

    • anti-debugging
    • root-detection
    • magisk
    • debuggable
    • frida
    • ue5
    • night-crows
    • libdxbase
    • lstat
    • time-diff
    • jni
    • hook
  • Analyzing the VMP Behind a Hardened App's onCreate

    Analyzing the VMP behind a hardened app's onCreate, unwrapping the virtualization layer to recover the real initialization logic and control flow, with the analysis method shown end to end.

    • 360-jiagu
    • libjiagu
    • dex-vmp
    • vmp
    • opcode
    • onCreate
    • frida
    • stalker
    • jnitrace
    • RegisterNatives
    • ida
    • dynamic-debug
  • From Java to Native: How a .so's Functions Get Loaded, Step by Step

    From Java to native: how a .so's functions get loaded, tracing the JNI bridge from a Java call down to the native symbol resolution, for anyone reversing similar targets.

    • android
    • so-loading
    • dlopen
    • android_dlopen_ext
    • do_dlopen
    • find_library
    • call_constructors
    • init_array
    • jni
    • registernatives
    • linker
    • linker64
    • frida
    • hook
  • Bypassing bilibili's Frida Detection (7.26.1 → 7.76.0)

    Bypassing bilibili's Frida detection, working through the checks the app runs at startup and neutralizing them to keep instrumentation attached, so you can reproduce it yourself.

    • android
    • frida
    • anti-debug
    • bilibili
    • libmsaoaidsec
    • jni-onload
    • init_proc
    • pthread_create
    • dlsym
  • How PRoot Works: A Source-Level Walkthrough

    How PRoot works under the hood, a source-level walkthrough of its ptrace-based syscall emulation that fakes a root filesystem without root, with the tools and offsets documented.

    • proot
    • ptrace
    • seccomp
    • syscall
    • android
    • chroot
    • rootfs
    • emulation
    • syscall-interception
  • Bypassing libmsaoaidsec.so Frida Anti-Debugging in an Unpacked App

    Bypassing libmsaoaidsec.so Frida anti-debugging, walking through the detection routines and patching them so Frida stays hidden on the device, including the pitfalls and the fix.

    • android
    • anti-debug
    • frida
    • libmsaoaidsec
    • so-loading
    • init_proc
    • call_constructors
    • linker
    • pthread
    • dlopen
  • A First Look at Android CRC Detection and Bypass

    A first look at Android CRC detection and bypass, showing how apps checksum their own code at runtime and how to patch around those checks, with the commands and code included.

    • android
    • crc
    • anti-tamper
    • integrity
    • frida
    • linker
    • soinfo
    • mmap
    • mremap
    • dl_iterate_phdr
  • How Android Loads a Native SO: A Walk Through the Source

    How Android loads a native SO file, walking through the source of the linker and ClassLoader to explain the full dlopen and JNI load path, with a full walkthrough of the technique.

    • android
    • so-loading
    • dlopen
    • linker
    • aosp
    • jni
    • native
    • system-load
    • find-library
  • Android Signature Verification: An Offense-Defense Walkthrough

    An offense-defense walkthrough of Android signature verification: how it works, how attackers bypass it, and how to defend against tampering, and the mechanism explained clearly.

    • android
    • signature-verification
    • signature-bypass
    • xposed
    • lspatch
    • hooking
    • svc
    • io-redirection
    • anti-tamper
    • reflection
  • Reversing dpt-shell - A Class-Extraction Packer from the Inside Out

    Reversing dpt-shell, a class-extraction packer, from the inside out to document how it protects and restores DEX classes at runtime, and the bypass logic broken down.

    • android
    • reverse-engineering
    • packing
    • unpacking
    • class-extraction
    • dpt-shell
    • frida
    • rc4
    • ida
    • shadowhook
    • dex
    • so-dumping
    • hooking
  • Calling the TikTok Signature SO Directly with unidbg

    Calling TikTok's signature SO directly with Unidbg, emulating the native library so you can generate valid signatures without running the app, with the algorithm recovered in detail.

    • android
    • reverse-engineering
    • signature
    • unidbg
    • frida
    • native
    • cronet
    • metasec
    • argus
    • gorgon
  • Abyss: Intercepting SVC Syscalls on Android with BPF and Seccomp

    Abyss: intercepting svc syscalls on Android with BPF and seccomp, a kernel-level approach to syscall hooking that leaves no userspace trace behind, and the code traced down to the core.

    • android
    • reverse-engineering
    • seccomp
    • bpf
    • syscall
    • svc
    • interception
    • virtualization
    • arm64
  • Decrypting a Car Infotainment OTA Package

    Decrypting a car infotainment OTA package, reversing the firmware's encryption and signing scheme so you can unpack and inspect the update contents, and the gotchas flagged along the way.

    • android
    • reverse-engineering
    • automotive
    • ota
    • aes-cbc
    • vdex
    • dex
    • jadx
    • unidbg
    • payload-dumper
  • Trace-Based Data-Flow Analysis: A Practical Walkthrough

    A practical walkthrough of trace-based data-flow analysis, using execution traces to follow tainted values through heavily obfuscated native code, with the analysis method shown end to end.

    • reverse-engineering
    • trace
    • data-flow
    • taint-analysis
    • frida
    • excel
    • arm64
    • aes
    • sha512
    • methodology
  • Reconstructing a Dex VMP: From Trace Capture to Opcode Recovery

    Reconstructing a DEX VMP from trace capture to opcode recovery, walking the full path from virtualized bytecode back into readable smali you can analyze.

    • android
    • reverse-engineering
    • dex-vmp
    • vmp
    • hardening
    • frida
    • stalker
    • trace
    • jni
    • ida
    • obfuscation
    • dalvik
  • Unidbg: Black-Box Magic for Android Native Reversing

    Unidbg as black-box magic for Android native reversing, showing how to emulate SO files to call and trace JNI functions without a device or debugger, for anyone reversing similar targets.

    • android
    • unidbg
    • unicorn
    • reverse-engineering
    • emulation
    • hook
    • patch
    • jni
    • native
    • tutorial
  • Analyzing the LIAPP Game Protection: Anti-Debugging, Root/Emulator Detection, and an il2cpp Dump

    Analyzing the LIAPP game protection SDK, mapping its anti-tamper checks and obfuscation to understand how it shields mobile games, and the internals laid out in detail.

    • android
    • reverse-engineering
    • anti-debugging
    • frida
    • liapp
    • il2cpp
    • game-security
    • root-detection
    • emulator-detection
    • unpacking
  • A Discussion of Android Injection Techniques, and an Open-Source Injection Module

    A survey of Android injection techniques plus an open-source injection module, comparing ptrace, Zygote, and other routes to load code into a process.

    • android
    • injection
    • zygisk
    • zygote
    • ptrace
    • magisk
    • dlopen
    • hook
  • An Introduction to Reversing Cocos2d-JS Games

    An introduction to reversing Cocos2d-JS games, locating the bundled JavaScript, decrypting the game logic, and hooking it to modify behavior, so you can reproduce it yourself.

    • android
    • cocos2d
    • game-security
    • xxtea
    • frida
    • unpacking
    • script-replacement
  • Unpacking a Numeric-Brand Packer, Bypassing Frida Detection, and Repacking

    Unpacking a numeric-brand packer, bypassing its Frida detection, and repacking the app with a valid signature for further analysis, with the tools and offsets documented.

    • android
    • unpacking
    • frida
    • anti-debugging
    • packer
    • repack
    • smali
    • signature
  • Reverse Engineering a Ticketing App

    Reverse engineering a ticketing app: bypassing its anti-debugging and proxy detection, then cracking the okhttp request signature with Frida, with the commands and code included.

    • android
    • frida
    • anti-debugging
    • proxy-detection
    • okhttp
    • signature
    • reverse-engineering
  • Analyzing the Android Boot Process from Source

    Analyzing the Android boot process from source, tracing init, Zygote, and system_server to explain how the system actually comes up, and the mechanism explained clearly.

    • android
    • aosp
    • boot
    • init
    • zygote
    • system-server
    • source-code
    • reverse-engineering
  • Automating Android System-Level Device Fingerprint Countermeasures

    Automating system-level device fingerprint countermeasures on Android, using Magisk, Zygisk, APatch, and ptrace to spoof fingerprints at scale, with the algorithm recovered in detail.

    • android
    • device-fingerprint
    • anti-detection
    • magisk
    • zygisk
    • apatch
    • ptrace
    • root
    • reverse-engineering
  • A General Approach to Bypassing Frida Detection

    A general approach to bypassing Frida detection on Android, using svc hooks and Stalker to hide the framework from apps that actively hunt it, and the bypass logic broken down.

    • android
    • frida
    • anti-detection
    • svc
    • stalker
    • ida
    • reverse-engineering
  • DEX VMP 101: Recovering Android DEX Virtualization and a Security Assessment

    DEX VMP 101: recovering Android DEX virtualization from a real app, walking the unpacking and smali reconstruction, then assessing its security, and the code traced down to the core.

    • android
    • dex
    • vmp
    • unpacking
    • smali
    • dalvik
    • reverse-engineering
  • Dynamically Injecting Java and Native Code on a Rooted Android Device

    Dynamically injecting Java and native code into a rooted Android device, combining ptrace, Xposed, SandHook, and JNI for runtime code loading, with the result and caveats spelled out.

    • android
    • root
    • code-injection
    • ptrace
    • xposed
    • sandhook
    • jni
    • reverse-engineering
  • Analyzing the mtgsig 2.4 Signing Algorithm

    Analyzing the mtgsig 2.4 signing algorithm, reverse engineering Meituan's risk-control signature to understand its protocol and parameters, and the gotchas flagged along the way.

    • android
    • mtgsig
    • signing
    • protocol
    • risk-control
    • reverse-engineering
  • Bypassing the New iQIYI libmsaoaidsec.so Frida Detection

    Bypassing iQIYI's updated libmsaoaidsec.so Frida detection, working around its new anti-debug checks to keep Frida attached to the app, with the analysis method shown end to end.

    • android
    • frida
    • anti-debug
    • detection-bypass
    • iqiyi
    • reverse-engineering
  • Analyzing the ttEncrypt Algorithm with Unidbg

    Analyzing the ttEncrypt algorithm with Unidbg, emulating the native ARM64 library to recover its AES and SHA-512 structure without a device, so you can reproduce it yourself.

    • unidbg
    • ttencrypt
    • aes
    • sha512
    • arm64
    • reverse-engineering
    • native
    • android
  • Deep-Dive: Intercepting Binder at the ioctl Layer

    Intercepting Android's Binder IPC at the ioctl layer, hooking the native call so you can observe and tamper with every binder transaction in the app, including the pitfalls and the fix.

    • android
    • binder
    • ipc
    • ioctl
    • hook
    • interception
    • native
    • reverse-engineering
  • Reverse Engineering a Ticketing Platform's `sign` Parameter for Ticket-Restock Monitoring

    Reverse engineering a ticketing platform's sign parameter to build a ticket-restock monitor, cracking the mtop MD5 signature from the H5 client, with a full walkthrough of the technique.

    • web
    • h5
    • packet-capture
    • sign
    • md5
    • mtop
    • reverse-engineering
    • ticket-monitoring
  • Compiling rwProcMem33 into the Android Kernel

    Compiling rwProcMem33 into the Android kernel to get hardware-breakpoint-driven read and write of process memory, built into a Pixel AOSP image, and the mechanism explained clearly.

    • android
    • kernel
    • rwprocmem33
    • hardware-breakpoint
    • aosp
    • pixel
    • magisk
    • reverse-engineering
  • Bypassing an Unusual Anti-Debug & Anti-Hook in a Commercial Mobile-Game Packer

    Bypassing an unusual anti-debug and anti-hook in a commercial mobile-game packer, defeating TracerPid and breakpoint detection on ARM64, and the bypass logic broken down.

    • android
    • anti-debug
    • anti-hook
    • packer
    • tracerpid
    • breakpoint-detection
    • inline-hook
    • arm64
    • reverse-engineering
  • A General Method for Capturing HTTPS Traffic from Cronet-Based Apps

    A general method for capturing HTTPS from Cronet-based apps, working around Chrome's cert pinning and MITM resistance to inspect the traffic, with the setup and commands all covered.

    • android
    • cronet
    • https
    • certificate-pinning
    • packet-capture
    • mitm
    • chrome
    • reverse-engineering
  • A Universal SVC Hook for Android Using seccomp + sigaction

    A universal svc hook for Android using seccomp and sigaction, intercepting syscalls with BPF filters to trace or modify kernel calls globally, and the gotchas flagged along the way.

    • android
    • seccomp
    • svc
    • syscall
    • sigaction
    • hook
    • bpf
    • reverse-engineering
  • Big-Tech Device Fingerprinting, Part 2: Hunter's Environment Detection Explained

    Explaining the Hunter environment-detection SDK used by big-tech anti-fraud: emulator detection, seccomp and binder checks, and how it spots Frida and sandboxes.

    • android
    • device-fingerprinting
    • anti-fraud
    • emulator-detection
    • seccomp
    • binder
    • sandbox
    • frida-detection
    • reverse-engineering
  • Instrumenting an Android App to Dump Bluetooth AES Keys and Ciphertext

    Instrumenting an Android app with smali edits to dump Bluetooth AES keys and ciphertext via logcat, a clean way to capture encrypted traffic without hooks.

    • android
    • smali
    • instrumentation
    • aes
    • bluetooth
    • apk
    • logcat
    • jadx
    • reverse-engineering
  • Reverse Engineering a VPN Accelerator's Protection Stack: Root Detection, Encryption, and Device-ID Rotation

    Reverse engineering a VPN accelerator's protection stack: root and proxy detection, AES encryption, and the device-ID rotation scheme that keeps it ahead of bans.

    • android
    • reverse-engineering
    • root-detection
    • proxy-detection
    • aes
    • signature-check
    • okhttp
    • device-id
    • frida
    • smali
    • anti-detection
  • AOSP Source Build, Part 4: Customizing and Erasing Root Fingerprints

    Part four of an AOSP source-build series: customizing the ROM and erasing root fingerprints from build.prop and Magisk so detection apps can't spot your device.

    • android
    • aosp
    • root
    • root-detection
    • build-prop
    • fingerprint
    • rom
    • magisk
    • anti-detection
  • Quickly Locating a VM-Protected Algorithm with Frida Stalker

    Quickly locating a VM-protected algorithm with Frida Stalker, using instruction tracing to cut straight through the obfuscation and pinpoint the real logic.

    • android
    • frida
    • stalker
    • vm-protection
    • deobfuscation
    • ghidra
    • ida
    • sgmain
    • reverse-engineering
  • Custom bcc/eBPF: Dwarf-Based Userspace Stack Unwinding on Android

    Custom bcc and eBPF for DWARF-based userspace stack unwinding on Android, combining kernel tracing with libunwindstack to profile native code, and the internals laid out in detail.

    • android
    • ebpf
    • bcc
    • dwarf
    • stack-unwinding
    • simpleperf
    • libunwindstack
    • perf
    • kernel
    • reverse-engineering
  • Reimplementing WhatsApp End-to-End Encryption: Signal Protocol, Curve25519, and the Double Ratchet

    Reimplementing WhatsApp's end-to-end encryption: Signal protocol, Curve25519 key exchange, HKDF, and the double ratchet, recovered with Frida from the real app.

    • whatsapp
    • signal-protocol
    • curve25519
    • e2e-encryption
    • aes
    • hkdf
    • double-ratchet
    • frida
    • reverse-engineering
  • The Android Property System: Internals, Detection, and Custom-Source Anti-Detection

    The Android property system from the inside: how properties work, how apps detect tampering through them, and how to hide fingerprints from a custom AOSP build.

    • android
    • aosp
    • property-system
    • device-fingerprint
    • anti-detection
    • selinux
    • futex
    • binder
    • reverse-engineering
  • Android Device Fingerprinting: Collection and Countermeasures

    How Android apps fingerprint your device and the countermeasures that defeat it, from ptrace and svc hooks to netlink and system-property spoofing, with every step broken down clearly.

    • android
    • device-fingerprint
    • anti-detection
    • hook
    • ptrace
    • svc
    • netlinker
    • drm
    • system-properties
    • reverse-engineering
  • Deobfuscating libDexHelper.so: Inside an Enterprise Android Shell

    Deobfuscating libDexHelper.so inside an enterprise Android shell, defeating its junk instructions, string encryption, and VMP layer with Unicorn and Frida.

    • android
    • deobfuscation
    • dex
    • vmp
    • unicorn
    • packer
    • obfuscation
    • anti-debugging
    • frida-detection
    • xposed-detection
    • reverse-engineering
  • A ptrace+seccomp Sandbox for Inline SVC Hooks

    Building a ptrace and seccomp sandbox for inline svc hooks, using BPF filters to intercept syscalls tracelessly and read their register arguments, so you can reproduce it yourself.

    • android
    • svc
    • syscall
    • ptrace
    • seccomp
    • bpf
    • sandbox
    • hook
    • device-fingerprint
    • traceless-hook
    • native
    • reverse-engineering
  • A New Approach to Emulating and Debugging the Android Runtime

    A new approach to emulating and debugging the Android runtime with Qiling and Unicorn, attaching GDB to ART and JNI for deeper native analysis, with the tools and offsets documented.

    • android
    • qiling
    • unicorn
    • emulation
    • gdb
    • runtime
    • art
    • jni
    • reverse-engineering
  • Reversing the sign Algorithm of a Major E-commerce App

    Reversing the sign algorithm of a major e-commerce app with Charles, Jadx, Frida, Unidbg, and IDA to reconstruct the MD5-based request signature step by step.

    • android
    • signature-algorithm
    • md5
    • charles
    • jadx
    • frida
    • unidbg
    • ida
    • reverse-engineering
  • Frida-Seccomp: Generic svc Tracing and Hooking on Android

    A generic Frida-based method to trace and hook svc syscalls on Android using seccomp, including the threading deadlock pitfall and the fix that avoids it.

    • android
    • frida
    • seccomp
    • svc
    • syscall
    • hooking
    • tracing
    • arm64
    • reverse-engineering
  • Getting the MAC Address via netlink and Inline svc — Bypassing Android Permissions

    Getting a device's MAC address on Android without any permissions, using a netlink socket and inline svc calls to sidestep the OS's access controls, including the pitfalls and the fix.

    • android
    • netlink
    • svc
    • seccomp
    • mac-address
    • device-fingerprint
    • anti-hook
    • jni
    • reverse-engineering
  • ART Internals and How They Power Android Security

    A deep look at ART internals across DEX loading, JIT and AOT compilation, and class initialization, and how these mechanisms power Android's security.

    • android
    • art
    • dalvik
    • zygote
    • dex
    • oat
    • vdex
    • classloader
    • hook
    • unpacking
    • reverse-engineering
  • Android 12 App Launch Process Analysis

    A source-level walkthrough of the Android 12 app launch process, tracing Activity, Zygote, AMS, and Binder AIDL calls from the very first tap to a running process.

    • android
    • activity
    • zygote
    • ams
    • binder
    • aidl
    • source-analysis
    • reverse-engineering
  • Frida Support in GDA: Hook and Invoke Methods Directly on Decompiled Code

    Using GDA's built-in Frida support to hook and invoke methods directly on decompiled code, fusing static and dynamic analysis into one seamless workflow.

    • android
    • frida
    • gda
    • decompiler
    • hook
    • dynamic-analysis
    • reverse-engineering
  • Bypassing SSL Pinning in an App with a Custom HTTP Framework and a Non-System SSL Library

    Bypassing SSL pinning when an app rolls its own HTTP framework and links a non-system SSL library like BoringSSL or Cronet, with Frida hooks for each layer.

    • android
    • ssl-pinning
    • boringssl
    • cronet
    • okhttp
    • frida
    • hook
    • reverse-engineering
  • Persistent Frida Hooks on Android Without Repackaging

    Making Frida hooks persistent on Android without repackaging the APK, using frida-gadget and JNI tricks so your instrumentation survives app restarts.

    • android
    • frida
    • frida-gadget
    • hook
    • persistence
    • reverse-engineering
    • jni
  • Understanding the Android Debugging Architecture (JDWP, adb, and ptrace)

    A clear breakdown of Android's debugging architecture across JDWP, adb port forwarding, and ptrace, and how IDA plugs into all three to debug native code.

    • android
    • debugging
    • jdwp
    • adb
    • ptrace
    • ida
    • reverse-engineering
  • Semi-Automated Reversing with Unicorn: Recovering an E-Commerce App's Sign Algorithm

    Semi-automated reversing with Unicorn: emulate an e-commerce app's native code to recover its sign algorithm without manually tracing every ARM instruction.

    • android
    • unicorn
    • sign-algorithm
    • reverse-engineering
    • arm
    • assembly
    • frida
    • protocol-reverse-engineering
  • Disabling Android Verified Boot (AVB 2.0) by Patching vbmeta.img

    Disabling Android Verified Boot 2.0 by patching vbmeta.img, with the exact flags and steps needed to keep root and Magisk working on a locked-down device.

    • android
    • magisk
    • verified-boot
    • avb
    • vbmeta
    • bootloader
    • root
    • reverse-engineering
  • Reverse Engineering a Chat App's Protobuf Protocol and Building a Message Client

    Reversing a chat app's Protobuf protocol over Netty, then building a working message client from scratch by reimplementing its AES and RSA encryption layers.

    • android
    • protobuf
    • netty
    • protocol-reverse-engineering
    • reverse-engineering
    • aes
    • rsa
    • frida
  • Reversing the Protobuf Chat Protocol of a Live-Streaming App

    Reversing the Protobuf-based chat protocol of a live-streaming app, decoding the message schemas from bytecode to understand how the chat client talks to the server.

    • android
    • protobuf
    • protocol-reverse-engineering
    • reverse-engineering
    • live-streaming
    • bytecode
  • Intercepting Flutter App Traffic: Bypassing SSL Pinning with Frida and Proxying with Drony

    How to intercept Flutter app traffic on Android: patch the Flutter engine's SSL pinning with Frida and route the device through Drony for clean Burp captures.

    • reverse-engineering
    • android
    • flutter
    • frida
    • ssl-pinning
    • traffic-interception
    • burp
    • drony
  • Persistent Native Hooking Without Repackaging: Swap the .so and Inline-Hook the Linker

    Persistent native hooking without repackaging: swap the .so and inline-hook the linker's dlopen and dlsym so every library load routes through your own code.

    • reverse-engineering
    • android
    • inline-hook
    • native-hook
    • dlopen
    • dlsym
    • linker
    • jni
  • Writing a Class-Extraction Unpacker with Frida: FART's Active Invocation Chain, Reimplemented

    Reimplementing FART's active-invocation unpacker from scratch in Frida, walking the ART call chain to dump every class a packed Android app actually loads.

    • reverse-engineering
    • android
    • frida
    • unpacking
    • fart
    • art
    • dex
    • active-invocation
  • The VIP Flag That Didn't Matter: Server-Side Auth in a Scalping Assistant App

    Why a scalping assistant's client-side VIP flag was a decoy: the real gate was server-side, a reminder that unpacking and patching the APK isn't always where the value is.

    • android
    • auth
    • token
    • vip-bypass
    • unpacking
    • fart
    • dex2jar
    • server-side
    • reverse-engineering
  • A Hardened App's One Fatal Flaw: Token Verification Anchored to a Spoofable android_id

    How a heavily hardened app's VIP token fell apart: its server-side verification was anchored to a spoofable android_id, so rotating the device ID mints unlimited fresh tokens.

    • android
    • token
    • aes
    • unpacking
    • bangcle
    • smali
    • frida
    • android-id
    • spoofing
    • reverse-engineering
  • Locating a Short-Video App's Request Signature: Tracing the sig3 Call Chain into Native Code

    Tracing a short-video app's sig3 request signature from the Java layer through OLLVM-obfuscated native code, using Jadx and Frida to walk the call chain down to the signing routine.

    • android
    • signature
    • sig3
    • ollvm
    • jadx
    • frida
    • native
    • reverse-engineering
  • A Full-Stack Frida Walkthrough: Unpacking, Hooking, Simulated Packet Capture, and Protocol Analysis

    A full-stack Frida walkthrough on a 360-jiagu-protected app: unpacking the DEX, hooking the In-App Purchase logic, simulating packet capture, and analyzing the protocol end to end.

    • android
    • frida
    • unpacking
    • 360
    • jiagu
    • hook
    • charles
    • drony
    • protocol
    • in-app-purchase
    • reverse-engineering
  • Hooking a Plugin-Based Android App with Frida: ClassLoaders, Enums, and a VIP Paywall

    Reversing a plugin-based Android app with Frida from the outside in, navigating its custom class loaders and enum-based dispatch to reach the VIP check and flip the paywall flag for full access.

    • android
    • frida
    • plugin
    • shadow
    • classloader
    • enum
    • vip-bypass
    • reverse-engineering
  • Cataloging the Xposed Detection Surface: Fingerprints Every Detector Looks For

    A comprehensive catalog of the fingerprints Xposed leaves behind, mapping every detection vector from framework stubs to system properties so you know exactly what a detector looks for.

    • xposed
    • android
    • detection
    • anti-tamper
    • fingerprinting
    • root
    • reverse-engineering
  • Reverse-Engineering a Gray-Market Livestream App: Unpacking, Payment Bypass, and Cloud Forensics

    A full teardown of a gray-market livestream app: unpacking the APK, bypassing its payment check, and forensically recovering user data from misconfigured Qiniu cloud storage.

    • android
    • frida
    • unpacking
    • qiniu
    • cloud-storage
    • reverse-engineering
  • Posting WeChat Moments Programmatically: Reversing SnsUploadUI with Frida

    How to reverse WeChat's SnsUploadUI with Frida and post Moments programmatically, tracing the upload flow from a tapped UI down to the underlying network calls.

    • wechat
    • moments
    • snsuploadui
    • frida
    • ddms
    • jadx
    • android
    • reverse-engineering
  • Reversing an Android App's Sign Algorithm: Inside libsgmain.so

    A walkthrough of reversing an Android app's request signature down into Alibaba's libsgmain.so, tracing the JNI call chain and reconstructing the RC4-based sign algorithm.

    • android
    • signature
    • libsgmain
    • alibaba
    • rc4
    • jni
    • reverse-engineering
  • FART: Automated Unpacking on ART via Active Invocation (Android 9.0 Source Adapted)

    A deep dive into FART, the DEX unpacker that dumps Android apps by actively invoking every method in ART, with the Android 9.0 source adapted and the core anti-tamper workarounds explained.

    • reverse-engineering
    • android
    • unpacking
    • art
    • dex
    • fart
    • smali
    • anti-tamper

Independent reverse engineer, available for contract work. Reach me onX (@colinxiao_lab) orTelegram (@ColinXiao666).

Published for educational and defensive purposes.