Instrumenting an Apple Vision Pro Library with QBDI

Instrumenting an Apple Vision Pro Library with QBDI

This blog post demonstrates how to extract liblockdown.dylib from the visionOS dyld shared cache to be instrumented with QBDI on an Apple M1.

Romain Thomas

January 4, 2023
iCDump: A Modern Objective-C Class Dump
iCDump: A Modern Objective-C Class Dump

Romain Thomas

This blog post introduces iCDump, an new Objective-C class dump based on LLVM

October 31, 2022
Open-Obfuscator: A free and open-source obfuscator for mobile applications
Open-Obfuscator: A free and open-source obfuscator for mobile applications

Romain Thomas

This blog post introduces open-obfuscator, a new open-source project to obfuscate mobile applications.

September 13, 2022
Part 2 – iOS Native Code Obfuscation and Syscall Hooking
Part 2 – iOS Native Code Obfuscation and Syscall Hooking

Romain Thomas

This second blog post deals with native code obfuscation and RASP syscall interception

August 29, 2022
Part 1 – SingPass RASP Analysis
Part 1 – SingPass RASP Analysis

Romain Thomas

This first blog post introduces the RASP checks used in SingPass

August 22, 2022
A Journey in iOS App Obfuscation
A Journey in iOS App Obfuscation

Romain Thomas

This series of blog posts details how obfuscators can protect iOS applications from reverse engineering

November 7, 2021
PGSharp: Analysis of a Cheating App for PokemonGO
PGSharp: Analysis of a Cheating App for PokemonGO

Romain Thomas

This blog post is about the internal mechanisms of PGSharp, a cheat engine for PokemonGO.

July 18, 2021
Gotta Catch 'Em All: Frida & jailbreak detection
Gotta Catch 'Em All: Frida & jailbreak detection

Romain Thomas

This blog post analyzes the Frida and Jailbreak detection in PokemonGO for iOS.

September 27, 2020
r2-pay: whitebox (part 2)
r2-pay: whitebox (part 2)

Romain Thomas

This second blog post explains how to recover the whitebox’s key from the obfuscated library libnative-lib.so

September 20, 2020
r2-pay: anti-debug, anti-root & anti-frida (part 1)
r2-pay: anti-debug, anti-root & anti-frida (part 1)

Romain Thomas

This first blog post describes the protections in the challenge r2-pay.

November 26, 2019
A Glimpse Into Tencent's Legu Packer
A Glimpse Into Tencent's Legu Packer

Romain Thomas

Analysis of Tencent Legu: a packer for Android applications.

June 3, 2019
Android Native Library Analysis with QBDI
Android Native Library Analysis with QBDI

Romain Thomas

This blog post deals with QBDI and how it can be used to reverse an Android JNI library

November 20, 2018
Android crackme challenge
Android crackme challenge

Romain Thomas

Android crackme that uses system’s internals

June 25, 2018
Android OAT formats
Android OAT formats

Romain Thomas

Internal structures of OAT format

June 25, 2018
Android VDEX formats
Android VDEX formats

Romain Thomas

Internal structures of VDEX format

May 3, 2018
When SideChannelMarvels meets LIEF
When SideChannelMarvels meets LIEF

Philippe Teuwen , Romain Thomas

On how we used LIEF to lift an Android x86_64 library to Linux to perform our usual white-box attacks on it.

March 3, 2018
How to use frida on a non-rooted device
How to use frida on a non-rooted device

Romain Thomas

This post explains how to use Frida gadget on a non-rooted device.

November 2, 2017
Have fun with LIEF and Executable Formats
Have fun with LIEF and Executable Formats

Romain Thomas

This blog post introduces new features of LIEF as well as some uses cases.

April 4, 2017
Open-sourcing LIEF
Open-sourcing LIEF

Romain Thomas

We are open-sourcing LIEF, a library to parse and manipulate ELF, PE and Mach-O binary formats. This blog post explains the purpose of this project and some parts of its architecture.

November 3, 2015
HITB 2015 Write-up - Crypto 300
HITB 2015 Write-up - Crypto 300

Romain Thomas

Write-up for the Crypto 300 challenge

October 12, 2015
Code coverage using a dynamic symbolic execution
Code coverage using a dynamic symbolic execution

Jonathan Salwan , Romain Thomas

This blog post introduces code coverage with Triton