researcher; serial complexity unpacker
ARM Assembly: Lesson 9 (While Loops)
Dynamically Analyzing Linux Black Basta Ransomware
Android Banker Deep Dive (Part 5)
Speeding up Linux Malware Analysis with Docker
RISC-V Assembly Hello World (Part 2)
RISC-V Assembly Hello World (Part 1)
Using Strace to Trace Linux Syscalls
Finding the Entrypoint of iOS Apps in Ghidra
ARM Assembly: Lesson 8 (Branching)
Linux Backdoor Deep Dive (Part 4)
ARM Assembly: Lesson 7 (CMP)
Linux Backdoor Deep Dive (Part 3)
Hooking Native Android Methods with Frida
Linux Backdoor Deep Dive (Part 2)
ARM Assembly: Lesson 6 (Shift and Rotate)
Linux Backdoor Deep Dive (Part 1)
ARM Assembly: Lesson 5 (Signed Number Conversions)
Beautifying Native Android Code in Ghidra
BSides Seattle 2023: Unmasking the Godfather
ARM Assembly: Lesson 4 (Logical Operators)
Translating a Java Method to Native C++ (Android)
Android Undercover: Native Code Translation for AV Stealth - DC615/DEF CON Nashville
ARM Assembly: Lesson 3 (LDR, STR)
Hooking Java Methods with Frida
JADXecute: Dynamic Scripting For JADX
ARM Assembly: Lesson 2 (ADD, SUB, MUL, set CPSR)
Bluehat 2023: Android Malware Obfuscation
Android Banker Deep Dive (Part 4)
ARM Assembly: Lesson 1 (MOV, Exit Syscall)
Android Banker Deep Dive (Part 3)
Unpacking Android APKs with Medusa
Debugging Android Java Code With JDB
Android Banker Deep Dive (Part 2)
Sniffing Android HTTPS Traffic with Burpsuite
Android Banker Deep Dive (Part 1)
Azure ARM64 Android Emulator for Reverse Engineering
Choosing an Android Emulator for Malware Reversing, Development, and More!
Ghidra Analysis of Android Native Code
Where's the native code? (In Android)
Finding Potentially Malicious Android Code with Quark