<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Colin Xiao — Reverse Engineering &amp; Security Research</title><description>Hands-on reverse engineering and security research: Android, iOS, x86/x64 and ARM native binaries, packers, DRM, protocol analysis, and cryptography.</description><link>https://colinxiao.com/</link><item><title>From Device-Side Risk Detection to a Policy Closed Loop - Designing a Risk-Control SDK, Scoring Engine, and Investigation Agent</title><link>https://colinxiao.com/device-risk-detection-policy-closed-loop/</link><guid isPermaLink="true">https://colinxiao.com/device-risk-detection-policy-closed-loop/</guid><description>From device-side risk detection to a policy closed loop: designing a risk-control SDK, scoring engine, and investigation agent end to end, with the setup and commands all covered.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Reversing an Electron App&apos;s Self-Restore and OTA Mechanisms</title><link>https://colinxiao.com/reversing-electron-self-restore-mechanism/</link><guid isPermaLink="true">https://colinxiao.com/reversing-electron-self-restore-mechanism/</guid><description>Reversing an Electron app&apos;s self-restore mechanism, tracing how it repairs and restores its own files to understand the underlying protection scheme, and the code traced down to the core.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate></item><item><title>De-obfuscating VMP 3.5 Virtualization: A Trace-and-Eliminate Methodology</title><link>https://colinxiao.com/deobfuscating-vmp35-virtualization/</link><guid isPermaLink="true">https://colinxiao.com/deobfuscating-vmp35-virtualization/</guid><description>De-obfuscating VMP 3.5 virtualization, working through the VM&apos;s handlers and dispatch loop to recover code protected by the older protector, with the result and caveats spelled out.</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Reverse Engineering Siemens S7CommPlus: Symbolic Access to Optimized DB Blocks</title><link>https://colinxiao.com/reversing-siemens-s7commplus-optimized-db-access/</link><guid isPermaLink="true">https://colinxiao.com/reversing-siemens-s7commplus-optimized-db-access/</guid><description>Reverse engineering Siemens S7CommPlus symbolic access, decoding the PLC protocol&apos;s symbolic addressing for industrial control analysis, and the gotchas flagged along the way.</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>De-flattening Mutated OLLVM Control Flow with angr Symbolic Execution</title><link>https://colinxiao.com/deflattening-mutated-ollvm-with-angr/</link><guid isPermaLink="true">https://colinxiao.com/deflattening-mutated-ollvm-with-angr/</guid><description>De-flattening mutated OLLVM control flow with angr symbolic execution, recovering the original logic from heavily obfuscated native binaries, with the analysis method shown end to end.</description><pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Static Unpacking for VMProtect 3.9.5: the Rotating-XOR Layer</title><link>https://colinxiao.com/static-unpacking-vmprotect-3-9-5-rotating-xor/</link><guid isPermaLink="true">https://colinxiao.com/static-unpacking-vmprotect-3-9-5-rotating-xor/</guid><description>Static unpacking for VMProtect 3.9.5, reversing the rotating-XOR decryption layer to recover the protected binary without ever running it, for anyone reversing similar targets.</description><pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Indirect Branch Obfuscation with LLVM — Building and Removing It</title><link>https://colinxiao.com/llvm-indirect-branch-obfuscation/</link><guid isPermaLink="true">https://colinxiao.com/llvm-indirect-branch-obfuscation/</guid><description>Indirect branch obfuscation with LLVM, replacing direct branches with indirect jumps to break static control-flow analysis of compiled binaries, and the internals laid out in detail.</description><pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Graph-Topology Software Watermarking with LLVM — Part 1: Leaf Node Injection and Locating</title><link>https://colinxiao.com/graph-topology-software-watermarking-llvm-part1/</link><guid isPermaLink="true">https://colinxiao.com/graph-topology-software-watermarking-llvm-part1/</guid><description>Graph-topology software watermarking with LLVM, part one: embedding watermarks in a program&apos;s control-flow graph to track piracy, with every step broken down clearly.</description><pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Page-Granular Dynamic Decryption and Lazy Re-encryption in a Windows Packer</title><link>https://colinxiao.com/page-granular-dynamic-decryption-lazy-encryption/</link><guid isPermaLink="true">https://colinxiao.com/page-granular-dynamic-decryption-lazy-encryption/</guid><description>Page-granular dynamic decryption and lazy re-encryption in a Windows packer, explaining how it hides code until the moment of execution, so you can reproduce it yourself.</description><pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate></item><item><title>De-obfuscating ZKM Control-Flow Flattening with ASM</title><link>https://colinxiao.com/deobfuscating-zkm-control-flow-flattening/</link><guid isPermaLink="true">https://colinxiao.com/deobfuscating-zkm-control-flow-flattening/</guid><description>De-obfuscating ZKM control-flow flattening with ASM, using bytecode rewriting to reconstruct the original Java control flow and logic, with the tools and offsets documented.</description><pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate></item><item><title>Reversing the Windows Photos AI Eraser Models</title><link>https://colinxiao.com/reversing-windows-photos-ai-eraser-models/</link><guid isPermaLink="true">https://colinxiao.com/reversing-windows-photos-ai-eraser-models/</guid><description>Reversing the Windows Photos AI eraser models, digging into the on-device machine learning model files to understand how the feature works, including the pitfalls and the fix.</description><pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate></item><item><title>A General Approach to Defeating VMProtect-Style Code Virtualization - JIT Tracing, Equivalence Rewriting, and Handler Matching</title><link>https://colinxiao.com/general-approach-vmprotect-code-virtualization/</link><guid isPermaLink="true">https://colinxiao.com/general-approach-vmprotect-code-virtualization/</guid><description>A general approach to defeating VMProtect-style code virtualization: JIT tracing, equivalence rewriting, and handler matching, with the commands and code included.</description><pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate></item><item><title>Manually De-virtualizing a VMP 3.9.4 cmp/jne Handler Sequence</title><link>https://colinxiao.com/manually-devirtualizing-vmp-3-9-4-cmp-jne/</link><guid isPermaLink="true">https://colinxiao.com/manually-devirtualizing-vmp-3-9-4-cmp-jne/</guid><description>Manually de-virtualizing a VMProtect 3.9.4 cmp-jne handler sequence, tracing the handlers to recover the original comparison logic, with a full walkthrough of the technique.</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Writing and Removing LLVM Bogus Control Flow</title><link>https://colinxiao.com/writing-and-removing-llvm-bogus-control-flow/</link><guid isPermaLink="true">https://colinxiao.com/writing-and-removing-llvm-bogus-control-flow/</guid><description>Writing and removing LLVM bogus control flow, showing how the pass inserts junk blocks and opaque predicates, then how to strip them back out, and the mechanism explained clearly.</description><pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate></item><item><title>De-obfuscating an OLLVM CFF MBA BDD dylib - Reconstructing 167 Hooks Behind 223 Trampolines</title><link>https://colinxiao.com/deobfuscating-ollvm-cff-mba-bdd-dylib-167-hooks/</link><guid isPermaLink="true">https://colinxiao.com/deobfuscating-ollvm-cff-mba-bdd-dylib-167-hooks/</guid><description>De-obfuscating an OLLVM CFF and MBA/BDD dylib, reconstructing 167 hooks hidden behind 223 trampolines to recover the real logic, with the setup and commands all covered.</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate></item><item><title>IDA Debugger Hooks: Automating Breakpoints, Registers, and Memory</title><link>https://colinxiao.com/ida-debugger-hooks-automation/</link><guid isPermaLink="true">https://colinxiao.com/ida-debugger-hooks-automation/</guid><description>IDA debugger hooks, automating breakpoints, register reads, and memory access from IDAPython scripts to speed up dynamic analysis work, and the bypass logic broken down.</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Reversing a Native Request-Signature Algorithm: SSL Pinning, OkHttp Interceptors, and MD5</title><link>https://colinxiao.com/reversing-native-request-signature-algorithm/</link><guid isPermaLink="true">https://colinxiao.com/reversing-native-request-signature-algorithm/</guid><description>Reversing a native request-signature algorithm, tracing a JNI signing routine down to its native implementation to recover the scheme, with the algorithm recovered in detail.</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Debugging the Windows 11 Boot Process</title><link>https://colinxiao.com/debugging-windows-11-boot-process/</link><guid isPermaLink="true">https://colinxiao.com/debugging-windows-11-boot-process/</guid><description>Debugging the Windows 11 boot process, walking through the tools and techniques to trace startup from UEFI firmware all the way to the kernel, and the code traced down to the core.</description><pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Writing and Defeating OLLVM Control-Flow Flattening</title><link>https://colinxiao.com/writing-and-defeating-ollvm-control-flow-flattening/</link><guid isPermaLink="true">https://colinxiao.com/writing-and-defeating-ollvm-control-flow-flattening/</guid><description>Writing and defeating OLLVM control-flow flattening, an offense-defense look at building the obfuscation pass and then reversing it back out, with the result and caveats spelled out.</description><pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate></item><item><title>VMProtect 3.8.1 Obfuscation Strategies Explained</title><link>https://colinxiao.com/vmprotect-3-8-1-obfuscation-strategies/</link><guid isPermaLink="true">https://colinxiao.com/vmprotect-3-8-1-obfuscation-strategies/</guid><description>VMProtect 3.8.1 obfuscation strategies, cataloging the transformation techniques it applies to protected code and how each complicates analysis, and the gotchas flagged along the way.</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>A General Methodology for Reversing Deeply Obfuscated Modified MD5</title><link>https://colinxiao.com/reversing-deeply-obfuscated-modified-md5/</link><guid isPermaLink="true">https://colinxiao.com/reversing-deeply-obfuscated-modified-md5/</guid><description>Reversing a deeply obfuscated modified MD5, cutting through the obfuscation to recover a custom variant of the hash function and its constants, with the analysis method shown end to end.</description><pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Understanding the x64 Windows SEH Mechanism</title><link>https://colinxiao.com/understanding-x64-windows-seh-mechanism/</link><guid isPermaLink="true">https://colinxiao.com/understanding-x64-windows-seh-mechanism/</guid><description>Understanding the x64 Windows SEH mechanism, explaining how structured exception handling works at the binary level on modern 64-bit Windows, for anyone reversing similar targets.</description><pubDate>Sun, 29 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Analyzing and Deobfuscating Polaris&apos;s BogusControlFlow Pass - Detecting Opaque Predicates with angr</title><link>https://colinxiao.com/analyzing-deobfuscating-polaris-boguscontrolflow-pass/</link><guid isPermaLink="true">https://colinxiao.com/analyzing-deobfuscating-polaris-boguscontrolflow-pass/</guid><description>Analyzing and deobfuscating Polaris&apos;s BogusControlFlow pass, using angr to detect opaque predicates and strip the bogus control flow, and the internals laid out in detail.</description><pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate></item><item><title>A Windows 7 Loader Bug Caused by Static DLL Dependency Order - Debugging a Packed Application Crash</title><link>https://colinxiao.com/windows7-loader-dll-dependency-order-crash/</link><guid isPermaLink="true">https://colinxiao.com/windows7-loader-dll-dependency-order-crash/</guid><description>A Windows 7 loader bug from static DLL dependency order, debugging a packed application crash down to the loader&apos;s resolution sequence, with every step broken down clearly.</description><pubDate>Wed, 11 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Building an Open-Source ARM64 VMP from Scratch: Virtualizing All 121 A64 Base Instructions</title><link>https://colinxiao.com/building-arm64-vmp-from-scratch/</link><guid isPermaLink="true">https://colinxiao.com/building-arm64-vmp-from-scratch/</guid><description>Building an open-source ARM64 VMP from scratch, virtualizing all 121 A64 base instructions to create a custom VM-based protector, so you can reproduce it yourself.</description><pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Reverse Engineering a Malicious Kernel Driver: Callback Injection, APC, and Remote Thread Injection</title><link>https://colinxiao.com/reversing-malicious-kernel-driver-injection/</link><guid isPermaLink="true">https://colinxiao.com/reversing-malicious-kernel-driver-injection/</guid><description>Reverse engineering a malicious kernel driver, analyzing its dispatch routines and hooks to understand the rootkit&apos;s capabilities and intent, with the tools and offsets documented.</description><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Reversing Cython .pyd Modules: Functions, Type Objects, and Wrapper Functions (Part 1)</title><link>https://colinxiao.com/reversing-cython-pyd-modules-part-1/</link><guid isPermaLink="true">https://colinxiao.com/reversing-cython-pyd-modules-part-1/</guid><description>Reversing Cython pyd modules, part one: understanding how Cython compiles Python into C extensions and how to read the resulting binaries, including the pitfalls and the fix.</description><pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Deobfuscating VMProtect 3.9.4: Junk Code, Code Shuffling, Opaque Predicates, and More</title><link>https://colinxiao.com/deobfuscating-vmprotect-3-9-4/</link><guid isPermaLink="true">https://colinxiao.com/deobfuscating-vmprotect-3-9-4/</guid><description>Deobfuscating VMProtect 3.9.4 with symbolic execution, using symbolic analysis to strip the VM&apos;s obfuscation and recover the original logic, with the commands and code included.</description><pubDate>Sun, 25 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Tracing How the Disk Model and Serial Number Get Written into ClipSp.sys</title><link>https://colinxiao.com/tracing-disk-serial-number-write-into-clipsp-sys/</link><guid isPermaLink="true">https://colinxiao.com/tracing-disk-serial-number-write-into-clipsp-sys/</guid><description>Tracing how the disk serial number gets written into ClipSp.sys, following the value from its hardware query all the way down into the driver, with a full walkthrough of the technique.</description><pubDate>Sat, 03 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Tracing a WMI Query to the Kernel: How Get-PhysicalDisk Reads Serial Number and UID</title><link>https://colinxiao.com/tracing-wmi-query-to-kernel-serial-number-uid/</link><guid isPermaLink="true">https://colinxiao.com/tracing-wmi-query-to-kernel-serial-number-uid/</guid><description>Tracing a WMI query to the kernel, following the full path end to end from a user-mode WMI call down to the kernel provider that answers it, and the mechanism explained clearly.</description><pubDate>Tue, 23 Dec 2025 00:00:00 GMT</pubDate></item><item><title>How Windows DTrace Works Under the Hood: bcdedit → winload.efi → ntoskrnl → dtrace.sys</title><link>https://colinxiao.com/how-windows-dtrace-works-under-the-hood/</link><guid isPermaLink="true">https://colinxiao.com/how-windows-dtrace-works-under-the-hood/</guid><description>How Windows DTrace works under the hood, explaining the tracing architecture and how it hooks into the kernel to instrument code, and the bypass logic broken down.</description><pubDate>Sat, 20 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Swift Reverse Engineering - String Memory Layout to Recovering ChaCha20Poly1305 Plaintext, Key, and Nonce</title><link>https://colinxiao.com/swift-reverse-engineering-chacha20poly1305/</link><guid isPermaLink="true">https://colinxiao.com/swift-reverse-engineering-chacha20poly1305/</guid><description>Swift reverse engineering from string memory layout to recovering ChaCha20-Poly1305 plaintext, key, and nonce from a running app, with the algorithm recovered in detail.</description><pubDate>Sat, 20 Dec 2025 00:00:00 GMT</pubDate></item><item><title>ιldb: A Command-Line Scripting Layer for LLDB Debugging</title><link>https://colinxiao.com/ildb-command-line-scripting-layer-lldb/</link><guid isPermaLink="true">https://colinxiao.com/ildb-command-line-scripting-layer-lldb/</guid><description>ιldb, a command-line scripting layer for LLDB debugging, adding scripting and automation on top of the debugger for faster workflows, and the code traced down to the core.</description><pubDate>Thu, 18 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Statically Recovering UE5 UObject Reflection Struct Offsets via IDA String Search</title><link>https://colinxiao.com/statically-recovering-ue5-uobject-reflection-offsets/</link><guid isPermaLink="true">https://colinxiao.com/statically-recovering-ue5-uobject-reflection-offsets/</guid><description>Statically recovering UE5 UObject reflection struct offsets, locating object layouts without running the game for reversing and modding, with the setup and commands all covered.</description><pubDate>Thu, 18 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Reconstructing the CCED 4.0 Encrypted Disk: 1991 Copy Protection, Reverse-Engineered</title><link>https://colinxiao.com/reconstructing-cced-4-encrypted-disk/</link><guid isPermaLink="true">https://colinxiao.com/reconstructing-cced-4-encrypted-disk/</guid><description>Reconstructing the CCED 4.0 encrypted disk, reverse engineering the 1991 copy protection scheme to recover the encryption and key material, with the result and caveats spelled out.</description><pubDate>Mon, 01 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Reconstructing a Bitlock Key Disk: Reverse-Engineering 90s Disk Copy Protection</title><link>https://colinxiao.com/reconstructing-bitlock-key-disk/</link><guid isPermaLink="true">https://colinxiao.com/reconstructing-bitlock-key-disk/</guid><description>Reconstructing a Bitlock key disk, reverse engineering 1990s disk copy protection to recover the key material from the floppy, and the gotchas flagged along the way.</description><pubDate>Sun, 30 Nov 2025 00:00:00 GMT</pubDate></item><item><title>Fixing the VMProtect 3.5.1 Win32 Runtime Compilation Issue</title><link>https://colinxiao.com/fixing-vmprotect-3-5-1-win32-runtime-compilation-issue/</link><guid isPermaLink="true">https://colinxiao.com/fixing-vmprotect-3-5-1-win32-runtime-compilation-issue/</guid><description>Fixing the VMProtect 3.5.1 Win32 runtime compilation issue, a troubleshooting walkthrough for a protected binary that won&apos;t compile, with the analysis method shown end to end.</description><pubDate>Mon, 17 Nov 2025 00:00:00 GMT</pubDate></item><item><title>Reversing OLLVM Control-Flow Flattening with IDA Hex-Rays Microcode</title><link>https://colinxiao.com/reversing-ollvm-control-flow-flattening-ida-microcode/</link><guid isPermaLink="true">https://colinxiao.com/reversing-ollvm-control-flow-flattening-ida-microcode/</guid><description>Reversing OLLVM control-flow flattening with IDA Hex-Rays microcode, using the decompiler&apos;s IR to reconstruct the flattened logic, for anyone reversing similar targets.</description><pubDate>Tue, 11 Nov 2025 00:00:00 GMT</pubDate></item><item><title>Reversing the MSVC Compiler: IL Emission and the Warbird Obfuscation Interface</title><link>https://colinxiao.com/reversing-msvc-compiler-il-emission-warbird-obfuscation/</link><guid isPermaLink="true">https://colinxiao.com/reversing-msvc-compiler-il-emission-warbird-obfuscation/</guid><description>Reversing MSVC compiler IL emission and Warbird obfuscation, tracing how the compiler transforms code into its internal representation, and the internals laid out in detail.</description><pubDate>Fri, 17 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Reversing ARM64 VMP: Virtual Instructions, Virtual Registers, and De-virtualization</title><link>https://colinxiao.com/reversing-arm64-vmp/</link><guid isPermaLink="true">https://colinxiao.com/reversing-arm64-vmp/</guid><description>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.</description><pubDate>Fri, 10 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Analyzing the VMProtect 3.9.4 Virtual Machine: Backward Virtual Code and the Final Boss</title><link>https://colinxiao.com/analyzing-vmprotect-3-9-4-virtual-machine-flow/</link><guid isPermaLink="true">https://colinxiao.com/analyzing-vmprotect-3-9-4-virtual-machine-flow/</guid><description>Analyzing VMProtect 3.9.4&apos;s virtual machine flow, tracing the dispatch loop and handler set that drive its newest VM architecture and opcode mapping, so you can reproduce it yourself.</description><pubDate>Sat, 04 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Analyzing the VMProtect 3.0.0beta Virtual Machine: Handler Chaining and Double Encryption</title><link>https://colinxiao.com/analyzing-vmprotect-3-0-0beta-virtual-machine-flow/</link><guid isPermaLink="true">https://colinxiao.com/analyzing-vmprotect-3-0-0beta-virtual-machine-flow/</guid><description>Analyzing VMProtect 3.0.0 beta&apos;s virtual machine handler chaining, tracing how its handlers link together to interpret protected code at runtime, with the tools and offsets documented.</description><pubDate>Wed, 01 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Analyzing the VMProtect 2.12.3 Virtual Machine: Handler Flow and Virtual-Register Mapping</title><link>https://colinxiao.com/analyzing-vmprotect-2-12-3-virtual-machine-handler-flow/</link><guid isPermaLink="true">https://colinxiao.com/analyzing-vmprotect-2-12-3-virtual-machine-handler-flow/</guid><description>Analyzing VMProtect 2.12.3&apos;s virtual machine handler flow, mapping how its handlers chain together to interpret and execute virtualized code, including the pitfalls and the fix.</description><pubDate>Mon, 29 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Reversing V8 Bytecode: Format, Version Fingerprinting, and Disassembly</title><link>https://colinxiao.com/reversing-v8-bytecode-format-version-fingerprinting-disassembly/</link><guid isPermaLink="true">https://colinxiao.com/reversing-v8-bytecode-format-version-fingerprinting-disassembly/</guid><description>Reversing the V8 bytecode format, fingerprinting the engine version and disassembling bytecode to read the compiled JavaScript internals, with the commands and code included.</description><pubDate>Sat, 27 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Reversing the Rondo Botnet: From CVE-2021-35394 to Persistence and C2</title><link>https://colinxiao.com/reversing-rondo-botnet-cve-2021-35394-persistence-c2/</link><guid isPermaLink="true">https://colinxiao.com/reversing-rondo-botnet-cve-2021-35394-persistence-c2/</guid><description>Reversing the Rondo botnet from CVE-2021-35394 to persistence and C2, dissecting its infection chain and command-and-control protocol, with a full walkthrough of the technique.</description><pubDate>Mon, 22 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Tracing Windows Syscalls on 10/11: LSTAR, the SSDT, and Parameter-Count Determination</title><link>https://colinxiao.com/tracing-windows-syscalls-win10-win11-lstar-ssdt-parameter-count/</link><guid isPermaLink="true">https://colinxiao.com/tracing-windows-syscalls-win10-win11-lstar-ssdt-parameter-count/</guid><description>Tracing Windows syscalls on Windows 10 and 11 via LSTAR and the SSDT, working out parameter counts to hook kernel calls cleanly, and the mechanism explained clearly.</description><pubDate>Fri, 15 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Reverse Engineering an iOS Device-Registration Request: Tracing Every Fingerprint Parameter</title><link>https://colinxiao.com/reverse-engineering-ios-device-registration-fingerprint/</link><guid isPermaLink="true">https://colinxiao.com/reverse-engineering-ios-device-registration-fingerprint/</guid><description>Reverse engineering an iOS device-registration request, decoding the parameters the device sends during enrollment to register with a service, with the algorithm recovered in detail.</description><pubDate>Mon, 04 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Infinite Coins in a Single-Player Tower Defense Game: A First CE + x64dbg Walkthrough</title><link>https://colinxiao.com/infinite-coins-tower-defense-ce-x64dbg/</link><guid isPermaLink="true">https://colinxiao.com/infinite-coins-tower-defense-ce-x64dbg/</guid><description>Infinite coins in a single-player tower defense game: a first Cheat Engine and x64dbg walkthrough of finding and patching the currency value, and the bypass logic broken down.</description><pubDate>Fri, 01 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Decrypting CR3 via MMPFN: Reading the Real Directory Base on Windows 7, 10, and 11</title><link>https://colinxiao.com/decrypting-cr3-via-mmpfn/</link><guid isPermaLink="true">https://colinxiao.com/decrypting-cr3-via-mmpfn/</guid><description>Decrypting CR3 via MMPFN to read the real directory base on Windows 7, 10, and 11, resolving the kernel page table pointer across versions, with the setup and commands all covered.</description><pubDate>Sun, 27 Jul 2025 00:00:00 GMT</pubDate></item><item><title>Extracting a WeCom Login QR Code: Reverse Engineering, File Monitoring, and Screenshot</title><link>https://colinxiao.com/extracting-wecom-login-qr-code/</link><guid isPermaLink="true">https://colinxiao.com/extracting-wecom-login-qr-code/</guid><description>Extracting a WeCom login QR code via reverse engineering, file monitoring, and screenshots, to capture the login flow programmatically, and the code traced down to the core.</description><pubDate>Fri, 27 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Reversing a Hardware-Detection Tool: Harvesting CPU/GPU Telemetry Through Its Own DLL</title><link>https://colinxiao.com/reversing-hardware-detection-tool-dll/</link><guid isPermaLink="true">https://colinxiao.com/reversing-hardware-detection-tool-dll/</guid><description>Reversing a hardware-detection tool, harvesting CPU and GPU telemetry through its own DLL to understand what it fingerprints, with the result and caveats spelled out.</description><pubDate>Fri, 20 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Unpacking a .NET JIT Protector on .NET Framework 4.8+ with WinDbg TTD</title><link>https://colinxiao.com/unpacking-dotnet-jit-protector-net-framework-4-8-windbg-ttd/</link><guid isPermaLink="true">https://colinxiao.com/unpacking-dotnet-jit-protector-net-framework-4-8-windbg-ttd/</guid><description>Unpacking a .NET JIT protector on .NET Framework 4.8+ with WinDbg TTD, using time-travel debugging to recover JIT-compiled methods, and the gotchas flagged along the way.</description><pubDate>Fri, 13 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Removing OLLVM Bogus Control Flow with angr Symbolic Execution</title><link>https://colinxiao.com/removing-ollvm-bogus-control-flow-angr-symbolic-execution/</link><guid isPermaLink="true">https://colinxiao.com/removing-ollvm-bogus-control-flow-angr-symbolic-execution/</guid><description>Removing OLLVM bogus control flow with angr symbolic execution, using symbolic analysis to strip opaque predicates and junk blocks, with the analysis method shown end to end.</description><pubDate>Tue, 03 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Analyzing Windows Boot: bootmgfw.efi and the Early UEFI Boot Flow</title><link>https://colinxiao.com/analyzing-windows-boot-bootmgfw-efi-early-uefi-boot-flow/</link><guid isPermaLink="true">https://colinxiao.com/analyzing-windows-boot-bootmgfw-efi-early-uefi-boot-flow/</guid><description>Analyzing Windows boot: bootmgfw.efi and the early UEFI boot flow, tracing how the boot manager hands off to the Windows loader, for anyone reversing similar targets.</description><pubDate>Sat, 31 May 2025 00:00:00 GMT</pubDate></item><item><title>The Office 2000 50-Launch Limit: Finding the Confirmation ID in Memory</title><link>https://colinxiao.com/office-2000-50-launch-limit-confirmation-id/</link><guid isPermaLink="true">https://colinxiao.com/office-2000-50-launch-limit-confirmation-id/</guid><description>The Office 2000 50-launch limit: finding the confirmation ID in memory, reversing the classic activation check to lift the trial cap, and the internals laid out in detail.</description><pubDate>Sat, 24 May 2025 00:00:00 GMT</pubDate></item><item><title>Android App Hardening: From Whole-APK Packing to Code-Extraction Packing — Principles and Implementation</title><link>https://colinxiao.com/android-app-hardening-whole-apk-to-code-extraction/</link><guid isPermaLink="true">https://colinxiao.com/android-app-hardening-whole-apk-to-code-extraction/</guid><description>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.</description><pubDate>Wed, 21 May 2025 00:00:00 GMT</pubDate></item><item><title>Three Ways to Protect Android Native Libraries - Function Encryption, Program Header Obfuscation, and a Custom ELF Format</title><link>https://colinxiao.com/android-native-library-protection-techniques/</link><guid isPermaLink="true">https://colinxiao.com/android-native-library-protection-techniques/</guid><description>Three ways to protect Android native libraries: function encryption, program-header obfuscation, and a custom ELF format, compared and explained, with the tools and offsets documented.</description><pubDate>Sun, 18 May 2025 00:00:00 GMT</pubDate></item><item><title>Replacing the HWID in VMProtect 3.8.4</title><link>https://colinxiao.com/replacing-hwid-vmprotect-3-8-4/</link><guid isPermaLink="true">https://colinxiao.com/replacing-hwid-vmprotect-3-8-4/</guid><description>Replacing the HWID in VMProtect 3.8.4, patching the machine-binding check inside the VM so a protected binary runs on different hardware, so you can reproduce it yourself.</description><pubDate>Sun, 18 May 2025 00:00:00 GMT</pubDate></item><item><title>Reversing a Delphi App&apos;s Registration Logic: SI ObjectBrowser</title><link>https://colinxiao.com/reversing-si-objectbrowser-registration/</link><guid isPermaLink="true">https://colinxiao.com/reversing-si-objectbrowser-registration/</guid><description>Reversing a Delphi app&apos;s registration logic, recovering the object model to crack the license check and understand the registration flow, including the pitfalls and the fix.</description><pubDate>Fri, 16 May 2025 00:00:00 GMT</pubDate></item><item><title>A Deep Dive into Frida Stalker&apos;s Source Code</title><link>https://colinxiao.com/frida-stalker-source-code-deep-dive/</link><guid isPermaLink="true">https://colinxiao.com/frida-stalker-source-code-deep-dive/</guid><description>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.</description><pubDate>Thu, 15 May 2025 00:00:00 GMT</pubDate></item><item><title>Detecting Zygisk Injection via the dlclose soinfo Gap</title><link>https://colinxiao.com/detecting-zygisk-injection-dlclose-soinfo-gap/</link><guid isPermaLink="true">https://colinxiao.com/detecting-zygisk-injection-dlclose-soinfo-gap/</guid><description>Detecting Zygisk injection via dlclose, a clever trick that catches Magisk&apos;s Zygisk hooks by watching for a suspicious library unload, with a full walkthrough of the technique.</description><pubDate>Sun, 11 May 2025 00:00:00 GMT</pubDate></item><item><title>Common Ways to Bypass libmsaoaidsec.so&apos;s Anti-Frida Protection</title><link>https://colinxiao.com/bypassing-libmsaoaidsec-anti-frida/</link><guid isPermaLink="true">https://colinxiao.com/bypassing-libmsaoaidsec-anti-frida/</guid><description>Bypassing libmsaoaidsec anti-Frida, another walkthrough of defeating the SDK&apos;s Frida detection routines to keep instrumentation running, and the mechanism explained clearly.</description><pubDate>Fri, 09 May 2025 00:00:00 GMT</pubDate></item><item><title>FreeFileSync: Connection Limits and the Tamper Check</title><link>https://colinxiao.com/freefilesync-connection-limits-and-tamper-check/</link><guid isPermaLink="true">https://colinxiao.com/freefilesync-connection-limits-and-tamper-check/</guid><description>FreeFileSync&apos;s connection limits and tamper check, reversing the license gating and integrity verification behind the open-source tool&apos;s builds, with the algorithm recovered in detail.</description><pubDate>Wed, 07 May 2025 00:00:00 GMT</pubDate></item><item><title>Bypassing a Mobile Game&apos;s mmap-Modular Anti-Hook Protection</title><link>https://colinxiao.com/mobile-game-mmap-modular-anti-hook-protection/</link><guid isPermaLink="true">https://colinxiao.com/mobile-game-mmap-modular-anti-hook-protection/</guid><description>A mobile game&apos;s mmap-modular anti-hook protection, analyzing how it splits code into mmap&apos;d modules to detect and resist hooking, and the bypass logic broken down.</description><pubDate>Tue, 06 May 2025 00:00:00 GMT</pubDate></item><item><title>The Native Activity Launch Flow: From Launcher Tap to onCreate</title><link>https://colinxiao.com/native-activity-launch-flow-launcher-to-oncreate/</link><guid isPermaLink="true">https://colinxiao.com/native-activity-launch-flow-launcher-to-oncreate/</guid><description>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.</description><pubDate>Sat, 03 May 2025 00:00:00 GMT</pubDate></item><item><title>Recovering a Car App&apos;s `sd` Signature: White-Box AES and DFA Key Recovery</title><link>https://colinxiao.com/car-app-sd-signature-whitebox-aes-dfa/</link><guid isPermaLink="true">https://colinxiao.com/car-app-sd-signature-whitebox-aes-dfa/</guid><description>Recovering a car app&apos;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.</description><pubDate>Mon, 28 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Hooking Every Kernel Export to Analyze a Driver&apos;s Logic</title><link>https://colinxiao.com/hooking-every-kernel-export-to-analyze-driver-logic/</link><guid isPermaLink="true">https://colinxiao.com/hooking-every-kernel-export-to-analyze-driver-logic/</guid><description>Hooking every kernel export to analyze a driver&apos;s logic, a brute-force approach to mapping exactly what a Windows driver calls at runtime, with the result and caveats spelled out.</description><pubDate>Sun, 27 Apr 2025 00:00:00 GMT</pubDate></item><item><title>A Frida-Powered Xposed: Injecting Frida into Zygote for Serverless Hooking</title><link>https://colinxiao.com/frida-xposed-zygote-injection-serverless-hooking/</link><guid isPermaLink="true">https://colinxiao.com/frida-xposed-zygote-injection-serverless-hooking/</guid><description>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.</description><pubDate>Sat, 26 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Hardware Breakpoints and Watchpoints with Frida</title><link>https://colinxiao.com/frida-hardware-breakpoints-watchpoints/</link><guid isPermaLink="true">https://colinxiao.com/frida-hardware-breakpoints-watchpoints/</guid><description>Hardware breakpoints with Frida, using debug registers to set precise breakpoints that survive code that clears software breakpoints, for anyone reversing similar targets.</description><pubDate>Fri, 25 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Decrypting Statically-Linked BoringSSL Traffic: Locating ssl_log_secret Automatically</title><link>https://colinxiao.com/locating-ssl-log-secret-boringssl-frida/</link><guid isPermaLink="true">https://colinxiao.com/locating-ssl-log-secret-boringssl-frida/</guid><description>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.</description><pubDate>Fri, 25 Apr 2025 00:00:00 GMT</pubDate></item><item><title>WeChat 4.0 Anti-Revoke with Reminder: Symbol Recovery and String Decryption</title><link>https://colinxiao.com/wechat-4-anti-revoke-symbol-recovery-string-decryption/</link><guid isPermaLink="true">https://colinxiao.com/wechat-4-anti-revoke-symbol-recovery-string-decryption/</guid><description>WeChat 4.0 anti-revoke with a reminder, recovering symbols and decrypting strings to hook the message-revoke path and keep deleted messages, and the internals laid out in detail.</description><pubDate>Fri, 25 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Reading EPROCESS and CR3 from MmPfnDatabase</title><link>https://colinxiao.com/reading-eprocess-and-cr3-from-mmpfndatabase/</link><guid isPermaLink="true">https://colinxiao.com/reading-eprocess-and-cr3-from-mmpfndatabase/</guid><description>Reading EPROCESS and CR3 from MmPfnDatabase, a kernel technique to resolve process structures and page tables from a known physical address, with every step broken down clearly.</description><pubDate>Wed, 23 Apr 2025 00:00:00 GMT</pubDate></item><item><title>How Android App Virtualization Works — The VirtualApp Architecture</title><link>https://colinxiao.com/android-app-virtualization-virtualapp-architecture/</link><guid isPermaLink="true">https://colinxiao.com/android-app-virtualization-virtualapp-architecture/</guid><description>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.</description><pubDate>Fri, 18 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Real-Time HTTPS Decryption With Frida + Wireshark (Part 1) — Hooking libssl</title><link>https://colinxiao.com/frida-wireshark-https-decryption-hook-libssl/</link><guid isPermaLink="true">https://colinxiao.com/frida-wireshark-https-decryption-hook-libssl/</guid><description>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.</description><pubDate>Wed, 16 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Analyzing and Recovering a Major Company&apos;s VM Protection</title><link>https://colinxiao.com/recovering-vm-protection-bytecode-to-native/</link><guid isPermaLink="true">https://colinxiao.com/recovering-vm-protection-bytecode-to-native/</guid><description>Recovering a VM-protection bytecode-to-native compiler, mapping virtual instructions back to real ones to de-virtualize the protected code, including the pitfalls and the fix.</description><pubDate>Fri, 11 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Reverse Engineering Windows 10&apos;s ObRegisterCallbacks and ObUnRegisterCallbacks</title><link>https://colinxiao.com/reverse-engineering-windows-obregistercallbacks-obunregistercallbacks/</link><guid isPermaLink="true">https://colinxiao.com/reverse-engineering-windows-obregistercallbacks-obunregistercallbacks/</guid><description>Reverse engineering Windows 10&apos;s ObRegisterCallbacks and ObUnRegisterCallbacks, explaining how kernel drivers subscribe to object events, with the commands and code included.</description><pubDate>Fri, 04 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Reverse Engineering a Java Equinox OSGi Application: From Encrypted Bundles to the Decryption Hook</title><link>https://colinxiao.com/reverse-engineering-java-equinox-osgi-encrypted-bundles-decryption-hook/</link><guid isPermaLink="true">https://colinxiao.com/reverse-engineering-java-equinox-osgi-encrypted-bundles-decryption-hook/</guid><description>Reverse engineering a Java Equinox OSGi application, from encrypted bundles to the decryption hook that unlocks the class files, with a full walkthrough of the technique.</description><pubDate>Wed, 02 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Inside ttEncrypt - Tracing a VM-Protected JNI Cipher Down to SHA-512 and AES</title><link>https://colinxiao.com/reversing-ttencrypt-vm-protected-jni-cipher/</link><guid isPermaLink="true">https://colinxiao.com/reversing-ttencrypt-vm-protected-jni-cipher/</guid><description>Inside ttEncrypt: tracing a VM-protected JNI cipher down to its SHA-512 and AES primitives, unwrapping the virtualization to recover the algorithm, with the algorithm recovered in detail.</description><pubDate>Mon, 31 Mar 2025 00:00:00 GMT</pubDate></item><item><title>VMProtect 1.81 Under the Hood: VM Structure and De-virtualization</title><link>https://colinxiao.com/vmprotect-under-the-hood-vm-structure-devirtualization/</link><guid isPermaLink="true">https://colinxiao.com/vmprotect-under-the-hood-vm-structure-devirtualization/</guid><description>VMProtect 1.81 under the hood: dissecting its VM structure and de-virtualization, mapping the handlers to reconstruct the original native code, and the mechanism explained clearly.</description><pubDate>Mon, 31 Mar 2025 00:00:00 GMT</pubDate></item><item><title>An OLLVM Survival Guide: Building, Understanding, and Defeating Control-Flow Obfuscation</title><link>https://colinxiao.com/ollvm-survival-guide/</link><guid isPermaLink="true">https://colinxiao.com/ollvm-survival-guide/</guid><description>An OLLVM survival guide, collecting practical techniques for navigating flattened control flow, bogus blocks, and instruction substitution, and the bypass logic broken down.</description><pubDate>Sun, 30 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Detecting Frida by Diffing In-Memory and On-Disk Function Bytes</title><link>https://colinxiao.com/detecting-frida-hook-byte-comparison/</link><guid isPermaLink="true">https://colinxiao.com/detecting-frida-hook-byte-comparison/</guid><description>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.</description><pubDate>Fri, 28 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Reversing OLLVM&apos;s Control-Flow Flattening With IDA Python</title><link>https://colinxiao.com/reversing-ollvm-control-flow-flattening/</link><guid isPermaLink="true">https://colinxiao.com/reversing-ollvm-control-flow-flattening/</guid><description>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.</description><pubDate>Sun, 23 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Debugging Android Without Attaching: eDBG and the eBPF Trick</title><link>https://colinxiao.com/ebpf-android-cli-debugger-edbg/</link><guid isPermaLink="true">https://colinxiao.com/ebpf-android-cli-debugger-edbg/</guid><description>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.</description><pubDate>Fri, 21 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Bypassing a Korean Game&apos;s Anti-Debugging, Layer by Layer</title><link>https://colinxiao.com/bypassing-korean-game-anti-debugging/</link><guid isPermaLink="true">https://colinxiao.com/bypassing-korean-game-anti-debugging/</guid><description>Bypassing a Korean game&apos;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.</description><pubDate>Tue, 18 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Analyzing the VMP Behind a Hardened App&apos;s onCreate</title><link>https://colinxiao.com/hardened-app-oncreate-vmp-analysis/</link><guid isPermaLink="true">https://colinxiao.com/hardened-app-oncreate-vmp-analysis/</guid><description>Analyzing the VMP behind a hardened app&apos;s onCreate, unwrapping the virtualization layer to recover the real initialization logic and control flow, with the analysis method shown end to end.</description><pubDate>Thu, 13 Mar 2025 00:00:00 GMT</pubDate></item><item><title>From Java to Native: How a .so&apos;s Functions Get Loaded, Step by Step</title><link>https://colinxiao.com/java-to-native-so-loading-step-by-step/</link><guid isPermaLink="true">https://colinxiao.com/java-to-native-so-loading-step-by-step/</guid><description>From Java to native: how a .so&apos;s functions get loaded, tracing the JNI bridge from a Java call down to the native symbol resolution, for anyone reversing similar targets.</description><pubDate>Mon, 10 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Key Techniques for Dynamic .NET Unpacking</title><link>https://colinxiao.com/key-techniques-for-dynamic-dotnet-unpacking/</link><guid isPermaLink="true">https://colinxiao.com/key-techniques-for-dynamic-dotnet-unpacking/</guid><description>Key techniques for dynamic .NET unpacking, dumping assemblies straight from memory and rebuilding them from their JIT-compiled state, and the internals laid out in detail.</description><pubDate>Mon, 10 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Bypassing bilibili&apos;s Frida Detection (7.26.1 → 7.76.0)</title><link>https://colinxiao.com/bypassing-bilibili-frida-detection/</link><guid isPermaLink="true">https://colinxiao.com/bypassing-bilibili-frida-detection/</guid><description>Bypassing bilibili&apos;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.</description><pubDate>Thu, 06 Mar 2025 00:00:00 GMT</pubDate></item><item><title>MFC Under the Hood: RTTI, Message Routing, and Class Hierarchy Recovery</title><link>https://colinxiao.com/mfc-under-the-hood-rtti-message-routing-class-hierarchy-recovery/</link><guid isPermaLink="true">https://colinxiao.com/mfc-under-the-hood-rtti-message-routing-class-hierarchy-recovery/</guid><description>MFC under the hood: RTTI, message routing, and class hierarchy recovery, decoding the framework&apos;s internals to reconstruct C++ classes, with every step broken down clearly.</description><pubDate>Thu, 06 Mar 2025 00:00:00 GMT</pubDate></item><item><title>How PRoot Works: A Source-Level Walkthrough</title><link>https://colinxiao.com/how-proot-works-source-walkthrough/</link><guid isPermaLink="true">https://colinxiao.com/how-proot-works-source-walkthrough/</guid><description>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.</description><pubDate>Wed, 05 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Bypassing libmsaoaidsec.so Frida Anti-Debugging in an Unpacked App</title><link>https://colinxiao.com/bypass-libmsaoaidsec-frida-anti-debugging/</link><guid isPermaLink="true">https://colinxiao.com/bypass-libmsaoaidsec-frida-anti-debugging/</guid><description>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.</description><pubDate>Sun, 02 Mar 2025 00:00:00 GMT</pubDate></item><item><title>A First Look at Android CRC Detection and Bypass</title><link>https://colinxiao.com/android-crc-detection-bypass/</link><guid isPermaLink="true">https://colinxiao.com/android-crc-detection-bypass/</guid><description>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.</description><pubDate>Fri, 28 Feb 2025 00:00:00 GMT</pubDate></item><item><title>How Android Loads a Native SO: A Walk Through the Source</title><link>https://colinxiao.com/android-so-loading-process/</link><guid isPermaLink="true">https://colinxiao.com/android-so-loading-process/</guid><description>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.</description><pubDate>Fri, 28 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Android Signature Verification: An Offense-Defense Walkthrough</title><link>https://colinxiao.com/android-signature-verification-offense-defense/</link><guid isPermaLink="true">https://colinxiao.com/android-signature-verification-offense-defense/</guid><description>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.</description><pubDate>Wed, 19 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Reversing dpt-shell - A Class-Extraction Packer from the Inside Out</title><link>https://colinxiao.com/reversing-dpt-shell-class-extraction-packer/</link><guid isPermaLink="true">https://colinxiao.com/reversing-dpt-shell-class-extraction-packer/</guid><description>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.</description><pubDate>Tue, 18 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Calling the TikTok Signature SO Directly with unidbg</title><link>https://colinxiao.com/unidbg-tiktok-signature-so/</link><guid isPermaLink="true">https://colinxiao.com/unidbg-tiktok-signature-so/</guid><description>Calling TikTok&apos;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.</description><pubDate>Tue, 18 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Reconstructing RtlCreateHeap: Assembly Optimization Patterns in Windows NTDLL</title><link>https://colinxiao.com/reconstructing-rtlcreateheap-assembly-optimization-patterns-windows-ntdll/</link><guid isPermaLink="true">https://colinxiao.com/reconstructing-rtlcreateheap-assembly-optimization-patterns-windows-ntdll/</guid><description>Reconstructing RtlCreateHeap from Windows NTDLL, decoding the assembly optimization patterns that make the original source hard to follow, with the setup and commands all covered.</description><pubDate>Thu, 13 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Abyss: Intercepting SVC Syscalls on Android with BPF and Seccomp</title><link>https://colinxiao.com/abyss-intercepting-android-svc-syscalls-bpf-seccomp/</link><guid isPermaLink="true">https://colinxiao.com/abyss-intercepting-android-svc-syscalls-bpf-seccomp/</guid><description>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.</description><pubDate>Thu, 23 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Decrypting a Car Infotainment OTA Package</title><link>https://colinxiao.com/decrypting-car-infotainment-ota-package/</link><guid isPermaLink="true">https://colinxiao.com/decrypting-car-infotainment-ota-package/</guid><description>Decrypting a car infotainment OTA package, reversing the firmware&apos;s encryption and signing scheme so you can unpack and inspect the update contents, and the gotchas flagged along the way.</description><pubDate>Thu, 16 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Speaking DCERPC to Windows: Creating Services Without CreateService</title><link>https://colinxiao.com/speaking-dcerpc-to-windows-creating-services-without-createservice/</link><guid isPermaLink="true">https://colinxiao.com/speaking-dcerpc-to-windows-creating-services-without-createservice/</guid><description>Speaking DCERPC to Windows directly, creating services without CreateService by hand-crafting the RPC calls to the Service Control Manager, with the result and caveats spelled out.</description><pubDate>Thu, 16 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Trace-Based Data-Flow Analysis: A Practical Walkthrough</title><link>https://colinxiao.com/trace-based-data-flow-analysis-practical-walkthrough/</link><guid isPermaLink="true">https://colinxiao.com/trace-based-data-flow-analysis-practical-walkthrough/</guid><description>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.</description><pubDate>Wed, 15 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Reconstructing a Dex VMP: From Trace Capture to Opcode Recovery</title><link>https://colinxiao.com/reconstructing-dex-vmp-trace-capture-to-opcode-recovery/</link><guid isPermaLink="true">https://colinxiao.com/reconstructing-dex-vmp-trace-capture-to-opcode-recovery/</guid><description>Reconstructing a DEX VMP from trace capture to opcode recovery, walking the full path from virtualized bytecode back into readable smali you can analyze.</description><pubDate>Sun, 12 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Unidbg: Black-Box Magic for Android Native Reversing</title><link>https://colinxiao.com/unidbg-black-box-magic-android-native-reversing/</link><guid isPermaLink="true">https://colinxiao.com/unidbg-black-box-magic-android-native-reversing/</guid><description>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.</description><pubDate>Wed, 01 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Breaking VMProtect&apos;s Local License Lock: RSA, Big-Number Encryption, and a Working Keygen</title><link>https://colinxiao.com/vmprotect-local-license-lock-analysis-and-keygen/</link><guid isPermaLink="true">https://colinxiao.com/vmprotect-local-license-lock-analysis-and-keygen/</guid><description>Breaking VMProtect&apos;s local license lock by reversing its RSA and big-number encryption, then building a fully working offline keygen from the recovered math.</description><pubDate>Wed, 01 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Software Protection, Explained: From Application Packing to Algorithm Protection</title><link>https://colinxiao.com/software-protection-from-packing-to-algorithm-protection/</link><guid isPermaLink="true">https://colinxiao.com/software-protection-from-packing-to-algorithm-protection/</guid><description>A survey of software protection from application packing and code encryption to algorithm-level protection, explaining the full landscape and how each layer actually defends a binary.</description><pubDate>Sat, 30 Nov 2024 00:00:00 GMT</pubDate></item><item><title>Analyzing the LIAPP Game Protection: Anti-Debugging, Root/Emulator Detection, and an il2cpp Dump</title><link>https://colinxiao.com/analyzing-liapp-game-protection/</link><guid isPermaLink="true">https://colinxiao.com/analyzing-liapp-game-protection/</guid><description>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.</description><pubDate>Thu, 28 Nov 2024 00:00:00 GMT</pubDate></item><item><title>Analyzing the mtop Device Risk-Control SDK - Jailbreak Detection, a VMP Layer, and Multi-Stage Encryption</title><link>https://colinxiao.com/analyzing-mtop-device-risk-control-sdk/</link><guid isPermaLink="true">https://colinxiao.com/analyzing-mtop-device-risk-control-sdk/</guid><description>Analyzing the mtop device risk-control SDK: its jailbreak detection, VMP layer, and multi-stage encryption, broken down end to end, with every step broken down clearly.</description><pubDate>Mon, 04 Nov 2024 00:00:00 GMT</pubDate></item><item><title>A Discussion of Android Injection Techniques, and an Open-Source Injection Module</title><link>https://colinxiao.com/android-injection-techniques-open-source-injection-module/</link><guid isPermaLink="true">https://colinxiao.com/android-injection-techniques-open-source-injection-module/</guid><description>A survey of Android injection techniques plus an open-source injection module, comparing ptrace, Zygote, and other routes to load code into a process.</description><pubDate>Sat, 05 Oct 2024 00:00:00 GMT</pubDate></item><item><title>An Introduction to Reversing Cocos2d-JS Games</title><link>https://colinxiao.com/reversing-cocos2d-js-games/</link><guid isPermaLink="true">https://colinxiao.com/reversing-cocos2d-js-games/</guid><description>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.</description><pubDate>Thu, 05 Sep 2024 00:00:00 GMT</pubDate></item><item><title>Obfuscation Pass Analysis — Flattening</title><link>https://colinxiao.com/obfuscation-pass-analysis-flattening/</link><guid isPermaLink="true">https://colinxiao.com/obfuscation-pass-analysis-flattening/</guid><description>Analyzing the control-flow flattening obfuscation pass, explaining how it breaks the CFG into a dispatcher loop and what it looks like in decompiled code.</description><pubDate>Thu, 29 Aug 2024 00:00:00 GMT</pubDate></item><item><title>Unpacking a Numeric-Brand Packer, Bypassing Frida Detection, and Repacking</title><link>https://colinxiao.com/unpacking-numeric-brand-packer-frida-detection-repacking/</link><guid isPermaLink="true">https://colinxiao.com/unpacking-numeric-brand-packer-frida-detection-repacking/</guid><description>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.</description><pubDate>Sun, 11 Aug 2024 00:00:00 GMT</pubDate></item><item><title>Packet Capturing on iOS with Charles, Clash, and Shadowrocket</title><link>https://colinxiao.com/ios-packet-capture-charles-clash-shadowrocket/</link><guid isPermaLink="true">https://colinxiao.com/ios-packet-capture-charles-clash-shadowrocket/</guid><description>Packet capturing on iOS with Charles, Clash, and Shadowrocket, comparing VPN-based capture setups and how to route around SSL pinning, including the pitfalls and the fix.</description><pubDate>Tue, 30 Jul 2024 00:00:00 GMT</pubDate></item><item><title>Reverse Engineering a Ticketing App</title><link>https://colinxiao.com/reverse-engineering-a-ticketing-app/</link><guid isPermaLink="true">https://colinxiao.com/reverse-engineering-a-ticketing-app/</guid><description>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.</description><pubDate>Sat, 27 Jul 2024 00:00:00 GMT</pubDate></item><item><title>Emulating an aarch64 Shared Library with Qiling and Reversing Its VM-Protected RC4</title><link>https://colinxiao.com/emulating-aarch64-shared-library-qiling-reversing-vm-protected-rc4/</link><guid isPermaLink="true">https://colinxiao.com/emulating-aarch64-shared-library-qiling-reversing-vm-protected-rc4/</guid><description>Emulating an aarch64 shared library with Qiling and reversing its VM-protected RC4, decrypting the cipher without native hardware, with a full walkthrough of the technique.</description><pubDate>Thu, 25 Jul 2024 00:00:00 GMT</pubDate></item><item><title>Analyzing the Android Boot Process from Source</title><link>https://colinxiao.com/android-boot-process-source-analysis/</link><guid isPermaLink="true">https://colinxiao.com/android-boot-process-source-analysis/</guid><description>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.</description><pubDate>Tue, 23 Jul 2024 00:00:00 GMT</pubDate></item><item><title>Automating Android System-Level Device Fingerprint Countermeasures</title><link>https://colinxiao.com/automating-android-system-level-device-fingerprint-countermeasures/</link><guid isPermaLink="true">https://colinxiao.com/automating-android-system-level-device-fingerprint-countermeasures/</guid><description>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.</description><pubDate>Sat, 25 May 2024 00:00:00 GMT</pubDate></item><item><title>A General Approach to Bypassing Frida Detection</title><link>https://colinxiao.com/general-approach-bypassing-frida-detection/</link><guid isPermaLink="true">https://colinxiao.com/general-approach-bypassing-frida-detection/</guid><description>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.</description><pubDate>Mon, 13 May 2024 00:00:00 GMT</pubDate></item><item><title>InfinityHook on Modern Windows: An ETW-Based Hook That Survives PatchGuard</title><link>https://colinxiao.com/infinityhook-etw-hook-survives-patchguard/</link><guid isPermaLink="true">https://colinxiao.com/infinityhook-etw-hook-survives-patchguard/</guid><description>InfinityHook on modern Windows: an ETW-based syscall hook that survives PatchGuard, with the reverse-engineered pieces the original writeup left out, with the setup and commands all covered.</description><pubDate>Mon, 22 Apr 2024 00:00:00 GMT</pubDate></item><item><title>DEX VMP 101: Recovering Android DEX Virtualization and a Security Assessment</title><link>https://colinxiao.com/dex-vmp-101-recovering-android-dex-virtualization/</link><guid isPermaLink="true">https://colinxiao.com/dex-vmp-101-recovering-android-dex-virtualization/</guid><description>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.</description><pubDate>Fri, 19 Apr 2024 00:00:00 GMT</pubDate></item><item><title>Dynamically Injecting Java and Native Code on a Rooted Android Device</title><link>https://colinxiao.com/dynamically-injecting-java-native-code-rooted-android/</link><guid isPermaLink="true">https://colinxiao.com/dynamically-injecting-java-native-code-rooted-android/</guid><description>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.</description><pubDate>Fri, 22 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Analyzing the mtgsig 2.4 Signing Algorithm</title><link>https://colinxiao.com/analyzing-mtgsig-2-4-signing-algorithm/</link><guid isPermaLink="true">https://colinxiao.com/analyzing-mtgsig-2-4-signing-algorithm/</guid><description>Analyzing the mtgsig 2.4 signing algorithm, reverse engineering Meituan&apos;s risk-control signature to understand its protocol and parameters, and the gotchas flagged along the way.</description><pubDate>Tue, 05 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Bypassing the New iQIYI libmsaoaidsec.so Frida Detection</title><link>https://colinxiao.com/bypassing-new-iqiyi-libmsaoaidsec-frida-detection/</link><guid isPermaLink="true">https://colinxiao.com/bypassing-new-iqiyi-libmsaoaidsec-frida-detection/</guid><description>Bypassing iQIYI&apos;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.</description><pubDate>Sun, 03 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Hikari Source Analysis — AntiDebug</title><link>https://colinxiao.com/hikari-source-analysis-antidebug/</link><guid isPermaLink="true">https://colinxiao.com/hikari-source-analysis-antidebug/</guid><description>Source analysis of Hikari&apos;s AntiDebug LLVM pass, how it injects randomized ptrace-based anti-debugging checks into iOS binaries at compile time, and the internals laid out in detail.</description><pubDate>Tue, 09 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Hikari Source Analysis — AntiHook</title><link>https://colinxiao.com/hikari-source-analysis-antihook/</link><guid isPermaLink="true">https://colinxiao.com/hikari-source-analysis-antihook/</guid><description>Source analysis of Hikari&apos;s AntiHook LLVM pass, how it detects inline hooks, blocks fishhook rebinding, and guards the Objective-C runtime, for anyone reversing similar targets.</description><pubDate>Tue, 09 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Hikari Source Analysis — AntiClassDump</title><link>https://colinxiao.com/hikari-source-analysis-anticlassdump/</link><guid isPermaLink="true">https://colinxiao.com/hikari-source-analysis-anticlassdump/</guid><description>Source analysis of Hikari&apos;s AntiClassDump LLVM pass, showing how it rewrites Objective-C method lists to defeat class-dump tooling entirely, with every step broken down clearly.</description><pubDate>Mon, 08 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Analyzing the ttEncrypt Algorithm with Unidbg</title><link>https://colinxiao.com/analyzing-ttencrypt-algorithm-with-unidbg/</link><guid isPermaLink="true">https://colinxiao.com/analyzing-ttencrypt-algorithm-with-unidbg/</guid><description>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.</description><pubDate>Wed, 20 Dec 2023 00:00:00 GMT</pubDate></item><item><title>How WeChat Channels Encrypts Video: Reversing WxIsaac64 and the 128KB XOR Key</title><link>https://colinxiao.com/wechat-channels-video-encryption-reverse-engineering/</link><guid isPermaLink="true">https://colinxiao.com/wechat-channels-video-encryption-reverse-engineering/</guid><description>How WeChat Channels encrypts video: reversing the WxIsaac64 PRNG in WebAssembly and the 128KB XOR key it uses, via JS instrumentation and MITM, with the tools and offsets documented.</description><pubDate>Fri, 01 Dec 2023 00:00:00 GMT</pubDate></item><item><title>Deep-Dive: Intercepting Binder at the ioctl Layer</title><link>https://colinxiao.com/deep-dive-intercepting-binder-at-ioctl-layer/</link><guid isPermaLink="true">https://colinxiao.com/deep-dive-intercepting-binder-at-ioctl-layer/</guid><description>Intercepting Android&apos;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.</description><pubDate>Thu, 30 Nov 2023 00:00:00 GMT</pubDate></item><item><title>Reverse Engineering the Alienware Keyboard USB Protocol for Custom RGB Control</title><link>https://colinxiao.com/reverse-engineering-alienware-keyboard-usb-protocol/</link><guid isPermaLink="true">https://colinxiao.com/reverse-engineering-alienware-keyboard-usb-protocol/</guid><description>Reverse engineering the Alienware keyboard&apos;s USB protocol to drive custom RGB lighting, decoding the HID reports with Wireshark for full control, with the commands and code included.</description><pubDate>Tue, 24 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Reverse Engineering a Ticketing Platform&apos;s `sign` Parameter for Ticket-Restock Monitoring</title><link>https://colinxiao.com/ticketing-platform-sign-parameter-restock-monitoring/</link><guid isPermaLink="true">https://colinxiao.com/ticketing-platform-sign-parameter-restock-monitoring/</guid><description>Reverse engineering a ticketing platform&apos;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.</description><pubDate>Mon, 09 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Compiling rwProcMem33 into the Android Kernel</title><link>https://colinxiao.com/compiling-rwprocmem33-into-android-kernel/</link><guid isPermaLink="true">https://colinxiao.com/compiling-rwprocmem33-into-android-kernel/</guid><description>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.</description><pubDate>Thu, 31 Aug 2023 00:00:00 GMT</pubDate></item><item><title>Analyzing the Login Protocol of a Fitness App</title><link>https://colinxiao.com/analyzing-login-protocol-of-fitness-app/</link><guid isPermaLink="true">https://colinxiao.com/analyzing-login-protocol-of-fitness-app/</guid><description>Analyzing a fitness app&apos;s login protocol, reversing its MD5, SHA1, and AES layers with Frida to reconstruct the sign and password scheme, with the algorithm recovered in detail.</description><pubDate>Wed, 09 Aug 2023 00:00:00 GMT</pubDate></item><item><title>Bypassing an Unusual Anti-Debug &amp; Anti-Hook in a Commercial Mobile-Game Packer</title><link>https://colinxiao.com/bypassing-unusual-antidebug-antihook-game-packer/</link><guid isPermaLink="true">https://colinxiao.com/bypassing-unusual-antidebug-antihook-game-packer/</guid><description>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.</description><pubDate>Fri, 21 Jul 2023 00:00:00 GMT</pubDate></item><item><title>Reverse Engineering KV300+&apos;s Floppy-Disk Copy Protection, 25 Years Later</title><link>https://colinxiao.com/reverse-engineering-kv300-floppy-disk-copy-protection/</link><guid isPermaLink="true">https://colinxiao.com/reverse-engineering-kv300-floppy-disk-copy-protection/</guid><description>Reverse engineering the floppy-disk copy protection of KV300+ twenty-five years later, decoding its INT 13 and CRC checks in a retro forensics deep dive.</description><pubDate>Mon, 17 Jul 2023 00:00:00 GMT</pubDate></item><item><title>A General Method for Capturing HTTPS Traffic from Cronet-Based Apps</title><link>https://colinxiao.com/general-cronet-https-capture/</link><guid isPermaLink="true">https://colinxiao.com/general-cronet-https-capture/</guid><description>A general method for capturing HTTPS from Cronet-based apps, working around Chrome&apos;s cert pinning and MITM resistance to inspect the traffic, with the setup and commands all covered.</description><pubDate>Thu, 13 Jul 2023 00:00:00 GMT</pubDate></item><item><title>Source Insight 4.x: Reversing the License Scheme and Building an Offline Keygen</title><link>https://colinxiao.com/source-insight-4-license-reversing-and-offline-keygen/</link><guid isPermaLink="true">https://colinxiao.com/source-insight-4-license-reversing-and-offline-keygen/</guid><description>Reversing Source Insight 4.x&apos;s license scheme and building an offline keygen, cracking the signature and the base64 registration file format, and the code traced down to the core.</description><pubDate>Wed, 14 Jun 2023 00:00:00 GMT</pubDate></item><item><title>Analyzing an iOS App&apos;s Login `_sign` and `userpwd` Parameters</title><link>https://colinxiao.com/analyzing-ios-app-login-sign-userpwd-parameters/</link><guid isPermaLink="true">https://colinxiao.com/analyzing-ios-app-login-sign-userpwd-parameters/</guid><description>Analyzing an iOS app&apos;s login to reverse its _sign and userpwd parameters, tracing CC_MD5 with Frida and IDA to rebuild the exact request, with the result and caveats spelled out.</description><pubDate>Mon, 12 Jun 2023 00:00:00 GMT</pubDate></item><item><title>Reversing a Modified AES in a Mobile App - Reconstructing Bangcle laes with Frida Stalker</title><link>https://colinxiao.com/reversing-modified-aes-bangcle-laes/</link><guid isPermaLink="true">https://colinxiao.com/reversing-modified-aes-bangcle-laes/</guid><description>Reversing a modified AES in a mobile app, reconstructing Bangcle&apos;s white-box laes cipher with Frida Stalker and IDA on ARM64 to recover the original algorithm.</description><pubDate>Sat, 10 Jun 2023 00:00:00 GMT</pubDate></item><item><title>A Universal SVC Hook for Android Using seccomp + sigaction</title><link>https://colinxiao.com/universal-svc-hook-android-seccomp-sigaction/</link><guid isPermaLink="true">https://colinxiao.com/universal-svc-hook-android-seccomp-sigaction/</guid><description>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.</description><pubDate>Fri, 09 Jun 2023 00:00:00 GMT</pubDate></item><item><title>Jailbreak Detection in iOS and Bypassing It with Frida</title><link>https://colinxiao.com/ios-jailbreak-detection-frida-bypass/</link><guid isPermaLink="true">https://colinxiao.com/ios-jailbreak-detection-frida-bypass/</guid><description>How iOS apps detect jailbreaks and how to bypass every check with Frida, hooking stat, dyld, canOpenURL, and fork to hide the jailbreak entirely, with the analysis method shown end to end.</description><pubDate>Tue, 06 Jun 2023 00:00:00 GMT</pubDate></item><item><title>Big-Tech Device Fingerprinting, Part 2: Hunter&apos;s Environment Detection Explained</title><link>https://colinxiao.com/big-tech-device-fingerprinting-part-2-hunter-environment-detection/</link><guid isPermaLink="true">https://colinxiao.com/big-tech-device-fingerprinting-part-2-hunter-environment-detection/</guid><description>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.</description><pubDate>Mon, 29 May 2023 00:00:00 GMT</pubDate></item><item><title>Instrumenting an Android App to Dump Bluetooth AES Keys and Ciphertext</title><link>https://colinxiao.com/instrumenting-android-app-dump-bluetooth-aes-keys/</link><guid isPermaLink="true">https://colinxiao.com/instrumenting-android-app-dump-bluetooth-aes-keys/</guid><description>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.</description><pubDate>Fri, 31 Mar 2023 00:00:00 GMT</pubDate></item><item><title>iOS App Decryption: Four Tools, My Experience</title><link>https://colinxiao.com/ios-decryption-tools-experience/</link><guid isPermaLink="true">https://colinxiao.com/ios-decryption-tools-experience/</guid><description>Comparing four iOS app decryption tools, Clutch, dumpdecrypted, CrackerXI, and frida-ios-dump, with hands-on experience on when each one works best, for anyone reversing similar targets.</description><pubDate>Fri, 23 Dec 2022 00:00:00 GMT</pubDate></item><item><title>Reverse Engineering a VPN Accelerator&apos;s Protection Stack: Root Detection, Encryption, and Device-ID Rotation</title><link>https://colinxiao.com/reverse-engineering-vpn-accelerator-protection-stack/</link><guid isPermaLink="true">https://colinxiao.com/reverse-engineering-vpn-accelerator-protection-stack/</guid><description>Reverse engineering a VPN accelerator&apos;s protection stack: root and proxy detection, AES encryption, and the device-ID rotation scheme that keeps it ahead of bans.</description><pubDate>Mon, 05 Dec 2022 00:00:00 GMT</pubDate></item><item><title>CodeMeter 7.3 Study Notes: The CodeMeter API and Communication Protocol</title><link>https://colinxiao.com/codemeter-7-3-api-and-communication-protocol/</link><guid isPermaLink="true">https://colinxiao.com/codemeter-7-3-api-and-communication-protocol/</guid><description>Study notes on CodeMeter 7.3&apos;s API and communication protocol, covering Wibu&apos;s AxProtector, AES-128-CBC, CRC32, and SHA1 inside its license handshake.</description><pubDate>Fri, 02 Dec 2022 00:00:00 GMT</pubDate></item><item><title>AOSP Source Build, Part 4: Customizing and Erasing Root Fingerprints</title><link>https://colinxiao.com/aosp-source-build-part-4-customizing-erasing-root-fingerprints/</link><guid isPermaLink="true">https://colinxiao.com/aosp-source-build-part-4-customizing-erasing-root-fingerprints/</guid><description>Part four of an AOSP source-build series: customizing the ROM and erasing root fingerprints from build.prop and Magisk so detection apps can&apos;t spot your device.</description><pubDate>Fri, 11 Nov 2022 00:00:00 GMT</pubDate></item><item><title>Configuring iOS WiFi and Proxy with Frida</title><link>https://colinxiao.com/frida-configure-ios-wifi-proxy/</link><guid isPermaLink="true">https://colinxiao.com/frida-configure-ios-wifi-proxy/</guid><description>Configuring iOS Wi-Fi and proxy settings directly with Frida, driving SpringBoard&apos;s WiFikit APIs to script device network setup without ever touching the UI.</description><pubDate>Thu, 10 Nov 2022 00:00:00 GMT</pubDate></item><item><title>Quickly Locating a VM-Protected Algorithm with Frida Stalker</title><link>https://colinxiao.com/locating-vm-protected-algorithm-frida-stalker/</link><guid isPermaLink="true">https://colinxiao.com/locating-vm-protected-algorithm-frida-stalker/</guid><description>Quickly locating a VM-protected algorithm with Frida Stalker, using instruction tracing to cut straight through the obfuscation and pinpoint the real logic.</description><pubDate>Sun, 09 Oct 2022 00:00:00 GMT</pubDate></item><item><title>Custom bcc/eBPF: Dwarf-Based Userspace Stack Unwinding on Android</title><link>https://colinxiao.com/dwarf-userspace-stack-unwinding-android-bcc-ebpf/</link><guid isPermaLink="true">https://colinxiao.com/dwarf-userspace-stack-unwinding-android-bcc-ebpf/</guid><description>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.</description><pubDate>Mon, 26 Sep 2022 00:00:00 GMT</pubDate></item><item><title>Reimplementing WhatsApp End-to-End Encryption: Signal Protocol, Curve25519, and the Double Ratchet</title><link>https://colinxiao.com/reimplementing-whatsapp-end-to-end-encryption/</link><guid isPermaLink="true">https://colinxiao.com/reimplementing-whatsapp-end-to-end-encryption/</guid><description>Reimplementing WhatsApp&apos;s end-to-end encryption: Signal protocol, Curve25519 key exchange, HKDF, and the double ratchet, recovered with Frida from the real app.</description><pubDate>Wed, 24 Aug 2022 00:00:00 GMT</pubDate></item><item><title>The Android Property System: Internals, Detection, and Custom-Source Anti-Detection</title><link>https://colinxiao.com/android-property-system-detection-and-anti-detection/</link><guid isPermaLink="true">https://colinxiao.com/android-property-system-detection-and-anti-detection/</guid><description>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.</description><pubDate>Sat, 20 Aug 2022 00:00:00 GMT</pubDate></item><item><title>A First Look at a Connected-Car App Hardened with a Commercial Packer</title><link>https://colinxiao.com/connected-car-app-hardening-sdk-analysis/</link><guid isPermaLink="true">https://colinxiao.com/connected-car-app-hardening-sdk-analysis/</guid><description>A first look at a connected-car app wrapped in a commercial packer, mapping its control-flow obfuscation and SSL pinning with Frida, Objection, and Stalker.</description><pubDate>Wed, 10 Aug 2022 00:00:00 GMT</pubDate></item><item><title>Reverse Engineering an iOS Rhythm Game: Binary Patching, Cert-Pinning Bypass, and Mutual-TLS Interception</title><link>https://colinxiao.com/reverse-engineering-ios-rhythm-game-tls-interception/</link><guid isPermaLink="true">https://colinxiao.com/reverse-engineering-ios-rhythm-game-tls-interception/</guid><description>Reverse engineering an iOS rhythm game: binary patching with IDA, bypassing TrustKit cert pinning, and intercepting mutual-TLS traffic to capture its API.</description><pubDate>Fri, 29 Jul 2022 00:00:00 GMT</pubDate></item><item><title>Android Device Fingerprinting: Collection and Countermeasures</title><link>https://colinxiao.com/android-device-fingerprinting-collection-and-countermeasures/</link><guid isPermaLink="true">https://colinxiao.com/android-device-fingerprinting-collection-and-countermeasures/</guid><description>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.</description><pubDate>Thu, 21 Jul 2022 00:00:00 GMT</pubDate></item><item><title>Deobfuscating libDexHelper.so: Inside an Enterprise Android Shell</title><link>https://colinxiao.com/deobfuscating-libdexhelper-so/</link><guid isPermaLink="true">https://colinxiao.com/deobfuscating-libdexhelper-so/</guid><description>Deobfuscating libDexHelper.so inside an enterprise Android shell, defeating its junk instructions, string encryption, and VMP layer with Unicorn and Frida.</description><pubDate>Sun, 10 Jul 2022 00:00:00 GMT</pubDate></item><item><title>A ptrace+seccomp Sandbox for Inline SVC Hooks</title><link>https://colinxiao.com/ptrace-seccomp-svc-sandbox/</link><guid isPermaLink="true">https://colinxiao.com/ptrace-seccomp-svc-sandbox/</guid><description>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.</description><pubDate>Sat, 04 Jun 2022 00:00:00 GMT</pubDate></item><item><title>A New Approach to Emulating and Debugging the Android Runtime</title><link>https://colinxiao.com/a-new-approach-to-emulating-and-debugging-the-android-runtime/</link><guid isPermaLink="true">https://colinxiao.com/a-new-approach-to-emulating-and-debugging-the-android-runtime/</guid><description>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.</description><pubDate>Wed, 04 May 2022 00:00:00 GMT</pubDate></item><item><title>Reversing the sign Algorithm of a Major E-commerce App</title><link>https://colinxiao.com/reversing-sign-algorithm-ecommerce-app/</link><guid isPermaLink="true">https://colinxiao.com/reversing-sign-algorithm-ecommerce-app/</guid><description>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.</description><pubDate>Wed, 30 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Frida-Seccomp: Generic svc Tracing and Hooking on Android</title><link>https://colinxiao.com/frida-seccomp-generic-svc-tracing-hooking/</link><guid isPermaLink="true">https://colinxiao.com/frida-seccomp-generic-svc-tracing-hooking/</guid><description>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.</description><pubDate>Fri, 11 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Getting the MAC Address via netlink and Inline svc — Bypassing Android Permissions</title><link>https://colinxiao.com/android-netlink-svc-mac-address/</link><guid isPermaLink="true">https://colinxiao.com/android-netlink-svc-mac-address/</guid><description>Getting a device&apos;s MAC address on Android without any permissions, using a netlink socket and inline svc calls to sidestep the OS&apos;s access controls, including the pitfalls and the fix.</description><pubDate>Wed, 02 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Hooking objc_msgSend to Capture Objective-C Method Arguments</title><link>https://colinxiao.com/hooking-objc-msgsend-capture-objc-method-arguments/</link><guid isPermaLink="true">https://colinxiao.com/hooking-objc-msgsend-capture-objc-method-arguments/</guid><description>Hooking objc_msgSend to capture every Objective-C method argument on ARM64, using FishHook and inline hooks to intercept message dispatch right at its core.</description><pubDate>Mon, 24 Jan 2022 00:00:00 GMT</pubDate></item><item><title>ART Internals and How They Power Android Security</title><link>https://colinxiao.com/art-internals-android-security/</link><guid isPermaLink="true">https://colinxiao.com/art-internals-android-security/</guid><description>A deep look at ART internals across DEX loading, JIT and AOT compilation, and class initialization, and how these mechanisms power Android&apos;s security.</description><pubDate>Sun, 26 Dec 2021 00:00:00 GMT</pubDate></item><item><title>Analyzing the Network Protocol of Mir4, a Blockchain Game</title><link>https://colinxiao.com/analyzing-mir4-blockchain-game-network-protocol/</link><guid isPermaLink="true">https://colinxiao.com/analyzing-mir4-blockchain-game-network-protocol/</guid><description>Analyzing the network protocol of the blockchain game Mir4, digging into its Unreal Engine build to decode the Protobuf messages exchanged with the server.</description><pubDate>Wed, 22 Dec 2021 00:00:00 GMT</pubDate></item><item><title>Cracking a Top-Ranked macOS Screensaver: Tracing the Restore-Purchase Flow to the VIP Flag</title><link>https://colinxiao.com/cracking-macos-screensaver-restore-purchase-vip-flag/</link><guid isPermaLink="true">https://colinxiao.com/cracking-macos-screensaver-restore-purchase-vip-flag/</guid><description>Cracking a top-ranked macOS screensaver by tracing its StoreKit restore-purchase flow with Hopper and class-dump until the VIP flag finally shows up, with the commands and code included.</description><pubDate>Thu, 16 Dec 2021 00:00:00 GMT</pubDate></item><item><title>Anti-Disassembly on ARM64</title><link>https://colinxiao.com/anti-disassembly-on-arm64/</link><guid isPermaLink="true">https://colinxiao.com/anti-disassembly-on-arm64/</guid><description>Anti-disassembly tricks on ARM64: building data blocks that decode as bogus instructions, and using B and DCQ to confuse IDA while keeping the code runnable.</description><pubDate>Wed, 08 Dec 2021 00:00:00 GMT</pubDate></item><item><title>Android 12 App Launch Process Analysis</title><link>https://colinxiao.com/android-12-app-launch-process-analysis/</link><guid isPermaLink="true">https://colinxiao.com/android-12-app-launch-process-analysis/</guid><description>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.</description><pubDate>Mon, 06 Dec 2021 00:00:00 GMT</pubDate></item><item><title>Frida Support in GDA: Hook and Invoke Methods Directly on Decompiled Code</title><link>https://colinxiao.com/frida-support-gda-hook-invoke-decompiled-code/</link><guid isPermaLink="true">https://colinxiao.com/frida-support-gda-hook-invoke-decompiled-code/</guid><description>Using GDA&apos;s built-in Frida support to hook and invoke methods directly on decompiled code, fusing static and dynamic analysis into one seamless workflow.</description><pubDate>Wed, 14 Jul 2021 00:00:00 GMT</pubDate></item><item><title>Locating the SM4 Encryption Key (iOS ARM64)</title><link>https://colinxiao.com/locating-sm4-encryption-key-ios-arm64/</link><guid isPermaLink="true">https://colinxiao.com/locating-sm4-encryption-key-ios-arm64/</guid><description>Locating the SM4 encryption key in an iOS ARM64 binary, tracing the key schedule and cipher calls through the disassembly to recover the secret material.</description><pubDate>Sun, 11 Jul 2021 00:00:00 GMT</pubDate></item><item><title>A Universal iOS Anti-Anti-Debugging Tweak</title><link>https://colinxiao.com/ios-anti-anti-debugging-tweak/</link><guid isPermaLink="true">https://colinxiao.com/ios-anti-anti-debugging-tweak/</guid><description>Building a universal iOS tweak that lets you tick any app in settings and bypass its anti-debugging, integrating AppList and PreferenceLoader with Dobby and HookZz.</description><pubDate>Tue, 29 Jun 2021 00:00:00 GMT</pubDate></item><item><title>Bypassing SSL Pinning in an App with a Custom HTTP Framework and a Non-System SSL Library</title><link>https://colinxiao.com/bypassing-ssl-pinning-custom-http-framework-non-system-ssl/</link><guid isPermaLink="true">https://colinxiao.com/bypassing-ssl-pinning-custom-http-framework-non-system-ssl/</guid><description>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.</description><pubDate>Tue, 08 Jun 2021 00:00:00 GMT</pubDate></item><item><title>iOS Reverse Engineering End-to-End - Jailbreak Dumping and Hooking a Chat App Dice Roll</title><link>https://colinxiao.com/ios-reverse-engineering-end-to-end-dice-roll/</link><guid isPermaLink="true">https://colinxiao.com/ios-reverse-engineering-end-to-end-dice-roll/</guid><description>An end-to-end iOS reversing journey: jailbreak, dump the FairPlay-encrypted binary, then hook a chat app&apos;s dice roll with method swizzling and inline hooks.</description><pubDate>Sun, 11 Apr 2021 00:00:00 GMT</pubDate></item><item><title>Calling iTunesStored&apos;s kbsync Remotely with A64Dbg ADCpp</title><link>https://colinxiao.com/a64dbg-adcpp-itunesstored-kbsync-remote-call/</link><guid isPermaLink="true">https://colinxiao.com/a64dbg-adcpp-itunesstored-kbsync-remote-call/</guid><description>Using A64Dbg&apos;s ADCpp to call iTunesStored&apos;s kbsync remotely over LLDB, invoking an Objective-C method on-device from outside the running process, with a full walkthrough of the technique.</description><pubDate>Fri, 09 Apr 2021 00:00:00 GMT</pubDate></item><item><title>Bypassing Anti-Debugging in an iOS App</title><link>https://colinxiao.com/bypassing-anti-debugging-ios-app/</link><guid isPermaLink="true">https://colinxiao.com/bypassing-anti-debugging-ios-app/</guid><description>Bypassing an iOS app&apos;s layered anti-debugging: well-timed initialization checks, combined ptrace and svc guards, and periodic re-checks, defeated with targeted hooks.</description><pubDate>Mon, 05 Apr 2021 00:00:00 GMT</pubDate></item><item><title>Persistent Frida Hooks on Android Without Repackaging</title><link>https://colinxiao.com/persistent-frida-hooks-android-fridagadget/</link><guid isPermaLink="true">https://colinxiao.com/persistent-frida-hooks-android-fridagadget/</guid><description>Making Frida hooks persistent on Android without repackaging the APK, using frida-gadget and JNI tricks so your instrumentation survives app restarts.</description><pubDate>Wed, 31 Mar 2021 00:00:00 GMT</pubDate></item><item><title>Understanding the Android Debugging Architecture (JDWP, adb, and ptrace)</title><link>https://colinxiao.com/understanding-android-debugging-architecture-jdwp-adb-ptrace/</link><guid isPermaLink="true">https://colinxiao.com/understanding-android-debugging-architecture-jdwp-adb-ptrace/</guid><description>A clear breakdown of Android&apos;s debugging architecture across JDWP, adb port forwarding, and ptrace, and how IDA plugs into all three to debug native code.</description><pubDate>Tue, 09 Mar 2021 00:00:00 GMT</pubDate></item><item><title>Semi-Automated Reversing with Unicorn: Recovering an E-Commerce App&apos;s Sign Algorithm</title><link>https://colinxiao.com/unicorn-semi-automated-reversing-ecommerce-sign-algorithm/</link><guid isPermaLink="true">https://colinxiao.com/unicorn-semi-automated-reversing-ecommerce-sign-algorithm/</guid><description>Semi-automated reversing with Unicorn: emulate an e-commerce app&apos;s native code to recover its sign algorithm without manually tracing every ARM instruction.</description><pubDate>Tue, 09 Mar 2021 00:00:00 GMT</pubDate></item><item><title>Reversing a Desktop IM Client with Frida - Sending Tampering and Listening to Messages</title><link>https://colinxiao.com/reversing-desktop-im-client-frida/</link><guid isPermaLink="true">https://colinxiao.com/reversing-desktop-im-client-frida/</guid><description>Reversing a desktop IM client with Frida: class-dump the headers, find the message-send classes, then tamper with outgoing messages and listen in on incoming ones.</description><pubDate>Mon, 15 Feb 2021 00:00:00 GMT</pubDate></item><item><title>Reversing a Messaging App on iOS (Jailbreak-Free): Red Packets, Message Revoke, and Step Count</title><link>https://colinxiao.com/reversing-messaging-app-ios-jailbreak-free/</link><guid isPermaLink="true">https://colinxiao.com/reversing-messaging-app-ios-jailbreak-free/</guid><description>Reversing a messaging app jailbreak-free with MonkeyDev, hooking red packets, message revoke, and step-count spoofing without ever having to jailbreak the device.</description><pubDate>Wed, 10 Feb 2021 00:00:00 GMT</pubDate></item><item><title>CVE-2019-8605: From UAF to TFP0</title><link>https://colinxiao.com/cve-2019-8605-sock-port-uaf-to-tfp0/</link><guid isPermaLink="true">https://colinxiao.com/cve-2019-8605-sock-port-uaf-to-tfp0/</guid><description>From use-after-free to kernel task port: a full exploit walkthrough of CVE-2019-8605, with the heap spraying and Mach ool-message tricks that turn a socket UAF into TFP0.</description><pubDate>Thu, 04 Feb 2021 00:00:00 GMT</pubDate></item><item><title>CVE-2020-27950: Kernel Memory Leak via an Uninitialized Mach Message Trailer</title><link>https://colinxiao.com/cve-2020-27950-mach-message-trailer-kernel-memory-leak/</link><guid isPermaLink="true">https://colinxiao.com/cve-2020-27950-mach-message-trailer-kernel-memory-leak/</guid><description>A root-cause analysis of CVE-2020-27950, an iOS kernel memory leak from an uninitialized Mach message trailer, including the full PoC send and receive flow.</description><pubDate>Wed, 03 Feb 2021 00:00:00 GMT</pubDate></item><item><title>Disabling Android Verified Boot (AVB 2.0) by Patching vbmeta.img</title><link>https://colinxiao.com/disabling-avb2-verified-boot-vbmeta-magisk/</link><guid isPermaLink="true">https://colinxiao.com/disabling-avb2-verified-boot-vbmeta-magisk/</guid><description>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.</description><pubDate>Mon, 01 Feb 2021 00:00:00 GMT</pubDate></item><item><title>Reverse Engineering a Commercial Anti-Bot SDK&apos;s VMP (SGAVMP)</title><link>https://colinxiao.com/reverse-engineering-commercial-anti-bot-sdk-vmp-sgavmp/</link><guid isPermaLink="true">https://colinxiao.com/reverse-engineering-commercial-anti-bot-sdk-vmp-sgavmp/</guid><description>Reverse engineering SGAVMP, a commercial anti-bot SDK&apos;s virtual machine: breaking its anti-F5 decompilation, string encryption, and the signature scheme it protects.</description><pubDate>Wed, 06 Jan 2021 00:00:00 GMT</pubDate></item><item><title>iOS App Decryption with dumpdecrypted</title><link>https://colinxiao.com/ios-app-decryption-dumpdecrypted/</link><guid isPermaLink="true">https://colinxiao.com/ios-app-decryption-dumpdecrypted/</guid><description>A practical guide to decrypting iOS apps with dumpdecrypted, covering the Mach-O injection, the codesign fix, and the otool verification steps needed to dump a clean binary.</description><pubDate>Sun, 27 Dec 2020 00:00:00 GMT</pubDate></item><item><title>Reverse Engineering a Chat App&apos;s Protobuf Protocol and Building a Message Client</title><link>https://colinxiao.com/reversing-chat-app-protobuf-message-client/</link><guid isPermaLink="true">https://colinxiao.com/reversing-chat-app-protobuf-message-client/</guid><description>Reversing a chat app&apos;s Protobuf protocol over Netty, then building a working message client from scratch by reimplementing its AES and RSA encryption layers.</description><pubDate>Mon, 07 Dec 2020 00:00:00 GMT</pubDate></item><item><title>Reverse Engineering a Browser&apos;s Encrypted Credential Database</title><link>https://colinxiao.com/reverse-engineering-a-browser-encrypted-credential-database/</link><guid isPermaLink="true">https://colinxiao.com/reverse-engineering-a-browser-encrypted-credential-database/</guid><description>Reverse engineering a browser&apos;s encrypted credential database, recovering the AES-128-ECB key derivation and decrypting stored passwords for forensic analysis.</description><pubDate>Tue, 01 Dec 2020 00:00:00 GMT</pubDate></item><item><title>iOS Reverse Engineering: Environment Setup and Cracking an App&apos;s Sign Algorithm with Frida</title><link>https://colinxiao.com/ios-reverse-engineering-frida-environment-app-sign/</link><guid isPermaLink="true">https://colinxiao.com/ios-reverse-engineering-frida-environment-app-sign/</guid><description>Setting up an iOS reverse-engineering environment from scratch, then cracking an app&apos;s sign algorithm by tracing CCCrypt and CC_MD5 with Frida to recover the key material.</description><pubDate>Sat, 28 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Recovering the Encryption Seed in FlexNet Publisher ≤ V11.16</title><link>https://colinxiao.com/recovering-the-encryption-seed-in-flexnet-publisher-v11-16/</link><guid isPermaLink="true">https://colinxiao.com/recovering-the-encryption-seed-in-flexnet-publisher-v11-16/</guid><description>Recovering the encryption seed inside FlexNet Publisher v11.16 and earlier, breaking down the ECC-based license protection that guards commercial software.</description><pubDate>Mon, 16 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Decrypting (and Re-encrypting) Cocos2d Lua Game Scripts</title><link>https://colinxiao.com/decrypting-and-re-encrypting-cocos2d-lua-game-scripts/</link><guid isPermaLink="true">https://colinxiao.com/decrypting-and-re-encrypting-cocos2d-lua-game-scripts/</guid><description>Decrypting and re-encrypting a Cocos2d game&apos;s Lua scripts, recovering the custom Huffman substitution cipher in the NDK and scripting it back with IDA.</description><pubDate>Thu, 01 Oct 2020 00:00:00 GMT</pubDate></item><item><title>Exploring the Low-Level Implementation of FishHook</title><link>https://colinxiao.com/exploring-fishhook-low-level-implementation/</link><guid isPermaLink="true">https://colinxiao.com/exploring-fishhook-low-level-implementation/</guid><description>A source-level exploration of FishHook, walking the Mach-O load commands and the symbol and string tables to show exactly how it rewrites lazy GOT pointers to hook functions.</description><pubDate>Tue, 22 Sep 2020 00:00:00 GMT</pubDate></item><item><title>Reversing the Protobuf Chat Protocol of a Live-Streaming App</title><link>https://colinxiao.com/reversing-protobuf-chat-protocol-live-streaming/</link><guid isPermaLink="true">https://colinxiao.com/reversing-protobuf-chat-protocol-live-streaming/</guid><description>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.</description><pubDate>Mon, 21 Sep 2020 00:00:00 GMT</pubDate></item><item><title>iOS Game Localization: Reusing Translations and Hook-Based Text Replacement</title><link>https://colinxiao.com/ios-game-localization-hook-text-replacement/</link><guid isPermaLink="true">https://colinxiao.com/ios-game-localization-hook-text-replacement/</guid><description>Localizing an iOS game without touching its source code: reuse the bundled translations and drive hook-based text replacement through a dylib to swap in-game strings on the fly.</description><pubDate>Thu, 17 Sep 2020 00:00:00 GMT</pubDate></item><item><title>Intercepting Flutter App Traffic: Bypassing SSL Pinning with Frida and Proxying with Drony</title><link>https://colinxiao.com/intercepting-flutter-traffic-frida-ssl-pinning-drony/</link><guid isPermaLink="true">https://colinxiao.com/intercepting-flutter-traffic-frida-ssl-pinning-drony/</guid><description>How to intercept Flutter app traffic on Android: patch the Flutter engine&apos;s SSL pinning with Frida and route the device through Drony for clean Burp captures.</description><pubDate>Wed, 09 Sep 2020 00:00:00 GMT</pubDate></item><item><title>Persistent Native Hooking Without Repackaging: Swap the .so and Inline-Hook the Linker</title><link>https://colinxiao.com/persistent-native-hooking-without-repackaging/</link><guid isPermaLink="true">https://colinxiao.com/persistent-native-hooking-without-repackaging/</guid><description>Persistent native hooking without repackaging: swap the .so and inline-hook the linker&apos;s dlopen and dlsym so every library load routes through your own code.</description><pubDate>Fri, 04 Sep 2020 00:00:00 GMT</pubDate></item><item><title>Bypassing Anti-Debugging in a Short-Video App on iOS</title><link>https://colinxiao.com/bypassing-anti-debugging-short-video-app-ios/</link><guid isPermaLink="true">https://colinxiao.com/bypassing-anti-debugging-short-video-app-ios/</guid><description>Bypassing a short-video app&apos;s iOS anti-debugging from scratch, working through its ptrace and sysctl checks with MonkeyDev and IDA so the process stays debuggable during analysis.</description><pubDate>Sat, 22 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Writing a Class-Extraction Unpacker with Frida: FART&apos;s Active Invocation Chain, Reimplemented</title><link>https://colinxiao.com/writing-class-extraction-unpacker-with-frida/</link><guid isPermaLink="true">https://colinxiao.com/writing-class-extraction-unpacker-with-frida/</guid><description>Reimplementing FART&apos;s active-invocation unpacker from scratch in Frida, walking the ART call chain to dump every class a packed Android app actually loads.</description><pubDate>Mon, 03 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Extracting OEM BIOS WMI Interfaces from ACPI - Recovering Hidden BIOS Management Endpoints</title><link>https://colinxiao.com/extracting-oem-bios-wmi-interfaces-from-acpi/</link><guid isPermaLink="true">https://colinxiao.com/extracting-oem-bios-wmi-interfaces-from-acpi/</guid><description>Recovering hidden OEM BIOS management endpoints by extracting WMI and MOF interfaces from ACPI tables, turning firmware black boxes into documented attack surface.</description><pubDate>Sat, 01 Aug 2020 00:00:00 GMT</pubDate></item><item><title>A First Look at Swift Runtime: Building an Alamofire Packet Capture Tool with Frida</title><link>https://colinxiao.com/swift-runtime-frida-alamofire-packet-capture/</link><guid isPermaLink="true">https://colinxiao.com/swift-runtime-frida-alamofire-packet-capture/</guid><description>A first look at the Swift runtime by building a Frida-based packet capture tool that hooks Alamofire&apos;s request flow and defeats SSL pinning on a real device.</description><pubDate>Thu, 16 Jul 2020 00:00:00 GMT</pubDate></item><item><title>The VIP Flag That Didn&apos;t Matter: Server-Side Auth in a Scalping Assistant App</title><link>https://colinxiao.com/server-side-auth-vip-flag-decoy/</link><guid isPermaLink="true">https://colinxiao.com/server-side-auth-vip-flag-decoy/</guid><description>Why a scalping assistant&apos;s client-side VIP flag was a decoy: the real gate was server-side, a reminder that unpacking and patching the APK isn&apos;t always where the value is.</description><pubDate>Fri, 26 Jun 2020 00:00:00 GMT</pubDate></item><item><title>Apple GSA Login — the SRP6a Variant</title><link>https://colinxiao.com/apple-gsa-login-srp6a-variant/</link><guid isPermaLink="true">https://colinxiao.com/apple-gsa-login-srp6a-variant/</guid><description>Reverse engineering Apple&apos;s GSA login to document the SRP6a variant it uses, tracing the PBKDF2 key derivation and the AES steps behind Apple ID authentication straight from the binary.</description><pubDate>Sun, 21 Jun 2020 00:00:00 GMT</pubDate></item><item><title>Injecting a theos Tweak to Modify a Game&apos;s Avatar Upload and Serve an Animated GIF</title><link>https://colinxiao.com/theos-tweak-hook-game-avatar-upload-animated-gif/</link><guid isPermaLink="true">https://colinxiao.com/theos-tweak-hook-game-avatar-upload-animated-gif/</guid><description>Injecting a theos tweak into an iOS game to hijack its avatar upload, swapping the request so the server serves an animated GIF instead of a static image.</description><pubDate>Sat, 13 Jun 2020 00:00:00 GMT</pubDate></item><item><title>iOS Code Signing, Part 2: Resource Rules, mobileprovision, and Re-signing</title><link>https://colinxiao.com/ios-code-signing-part-2/</link><guid isPermaLink="true">https://colinxiao.com/ios-code-signing-part-2/</guid><description>Part two of the iOS code-signing deep dive: resource rules, mobileprovision, entitlements, and the exact steps to re-sign an IPA with codesign or ldid.</description><pubDate>Mon, 08 Jun 2020 00:00:00 GMT</pubDate></item><item><title>iOS Code Signing, Part 1: Third-Party Distribution and Signing Internals</title><link>https://colinxiao.com/ios-code-signing-part-1/</link><guid isPermaLink="true">https://colinxiao.com/ios-code-signing-part-1/</guid><description>Part one of a two-part deep dive into iOS code signing: how FairPlay DRM, SC_Info, and CodeResources fit together and what third-party distribution means under the hood.</description><pubDate>Thu, 04 Jun 2020 00:00:00 GMT</pubDate></item><item><title>Frida in Practice: Combining the API Resolver with the Interceptor</title><link>https://colinxiao.com/frida-practice-api-resolver-interceptor/</link><guid isPermaLink="true">https://colinxiao.com/frida-practice-api-resolver-interceptor/</guid><description>Combining Frida&apos;s API resolver with its Interceptor to hook Objective-C methods reliably, plus method swizzling and file-monitoring tricks from a real iOS session.</description><pubDate>Wed, 03 Jun 2020 00:00:00 GMT</pubDate></item><item><title>Frida in Practice: Intercepting sub_xxxx Functions</title><link>https://colinxiao.com/frida-practice-intercepting-sub-functions/</link><guid isPermaLink="true">https://colinxiao.com/frida-practice-intercepting-sub-functions/</guid><description>A hands-on Frida tutorial on intercepting stripped sub_xxxx functions on iOS, covering NativeFunction and NativeCallback to hook targets that have no symbol names.</description><pubDate>Sun, 31 May 2020 00:00:00 GMT</pubDate></item><item><title>A Hardened App&apos;s One Fatal Flaw: Token Verification Anchored to a Spoofable android_id</title><link>https://colinxiao.com/token-verification-spoofable-android-id/</link><guid isPermaLink="true">https://colinxiao.com/token-verification-spoofable-android-id/</guid><description>How a heavily hardened app&apos;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.</description><pubDate>Tue, 12 May 2020 00:00:00 GMT</pubDate></item><item><title>Locating a Short-Video App&apos;s Request Signature: Tracing the sig3 Call Chain into Native Code</title><link>https://colinxiao.com/locating-request-signature-sig3-call-chain/</link><guid isPermaLink="true">https://colinxiao.com/locating-request-signature-sig3-call-chain/</guid><description>Tracing a short-video app&apos;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.</description><pubDate>Mon, 20 Apr 2020 00:00:00 GMT</pubDate></item><item><title>A Full-Stack Frida Walkthrough: Unpacking, Hooking, Simulated Packet Capture, and Protocol Analysis</title><link>https://colinxiao.com/full-stack-frida-walkthrough-unpacking-hooking-capture-protocol/</link><guid isPermaLink="true">https://colinxiao.com/full-stack-frida-walkthrough-unpacking-hooking-capture-protocol/</guid><description>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.</description><pubDate>Sun, 12 Apr 2020 00:00:00 GMT</pubDate></item><item><title>Hooking a Plugin-Based Android App with Frida: ClassLoaders, Enums, and a VIP Paywall</title><link>https://colinxiao.com/hooking-plugin-based-android-app-frida/</link><guid isPermaLink="true">https://colinxiao.com/hooking-plugin-based-android-app-frida/</guid><description>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.</description><pubDate>Sun, 12 Apr 2020 00:00:00 GMT</pubDate></item><item><title>Cataloging the Xposed Detection Surface: Fingerprints Every Detector Looks For</title><link>https://colinxiao.com/cataloging-xposed-detection-surface/</link><guid isPermaLink="true">https://colinxiao.com/cataloging-xposed-detection-surface/</guid><description>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.</description><pubDate>Sun, 05 Apr 2020 00:00:00 GMT</pubDate></item><item><title>Reversing InfinityHook: Hooking Every System Call via the ETW CpuClock</title><link>https://colinxiao.com/reversing-infinityhook-etw-cpuclock-system-call-hooking/</link><guid isPermaLink="true">https://colinxiao.com/reversing-infinityhook-etw-cpuclock-system-call-hooking/</guid><description>A line-by-line analysis of InfinityHook, the Windows technique that hooks every system call by abusing ETW&apos;s CpuClock provider, with the SSDT resolution flow fully explained.</description><pubDate>Thu, 26 Mar 2020 00:00:00 GMT</pubDate></item><item><title>Reverse-Engineering a Gray-Market Livestream App: Unpacking, Payment Bypass, and Cloud Forensics</title><link>https://colinxiao.com/reverse-engineering-gray-livestream-app/</link><guid isPermaLink="true">https://colinxiao.com/reverse-engineering-gray-livestream-app/</guid><description>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.</description><pubDate>Sat, 21 Mar 2020 00:00:00 GMT</pubDate></item><item><title>Posting WeChat Moments Programmatically: Reversing SnsUploadUI with Frida</title><link>https://colinxiao.com/posting-wechat-moments-reversing-snsuploadui/</link><guid isPermaLink="true">https://colinxiao.com/posting-wechat-moments-reversing-snsuploadui/</guid><description>How to reverse WeChat&apos;s SnsUploadUI with Frida and post Moments programmatically, tracing the upload flow from a tapped UI down to the underlying network calls.</description><pubDate>Thu, 19 Mar 2020 00:00:00 GMT</pubDate></item><item><title>Reversing an Android App&apos;s Sign Algorithm: Inside libsgmain.so</title><link>https://colinxiao.com/reversing-android-sign-algorithm-libsgmain/</link><guid isPermaLink="true">https://colinxiao.com/reversing-android-sign-algorithm-libsgmain/</guid><description>A walkthrough of reversing an Android app&apos;s request signature down into Alibaba&apos;s libsgmain.so, tracing the JNI call chain and reconstructing the RC4-based sign algorithm.</description><pubDate>Sun, 15 Mar 2020 00:00:00 GMT</pubDate></item><item><title>Quickly Printing Block Parameter Signatures in Objective-C Methods with LLDB</title><link>https://colinxiao.com/lldb-print-objc-block-parameter-signatures/</link><guid isPermaLink="true">https://colinxiao.com/lldb-print-objc-block-parameter-signatures/</guid><description>How to print Objective-C block parameter signatures straight from LLDB, speeding up iOS reverse engineering by recovering block types without digging through class-dump output.</description><pubDate>Wed, 12 Feb 2020 00:00:00 GMT</pubDate></item><item><title>FART: Automated Unpacking on ART via Active Invocation (Android 9.0 Source Adapted)</title><link>https://colinxiao.com/fart-automated-unpacking-art-active-invocation/</link><guid isPermaLink="true">https://colinxiao.com/fart-automated-unpacking-art-active-invocation/</guid><description>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.</description><pubDate>Tue, 07 Jan 2020 00:00:00 GMT</pubDate></item><item><title>A Field Guide to Common Unpacking Techniques</title><link>https://colinxiao.com/field-guide-common-unpacking-techniques/</link><guid isPermaLink="true">https://colinxiao.com/field-guide-common-unpacking-techniques/</guid><description>Six classic techniques for finding a packed binary&apos;s original entry point, from the ESP stack law to language-specific entry points, with OllyDbg walkthroughs that transfer to any modern target.</description><pubDate>Fri, 03 Jan 2020 00:00:00 GMT</pubDate></item></channel></rss>