<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog Post on Romain Thomas</title><link>https://www.romainthomas.fr/post/</link><description>Recent content in Blog Post on Romain Thomas</description><generator>Hugo</generator><language>en-us</language><managingEditor>me@romainthomas.fr (Romain Thomas)</managingEditor><webMaster>me@romainthomas.fr (Romain Thomas)</webMaster><lastBuildDate>Sun, 04 Jan 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.romainthomas.fr/post/index.xml" rel="self" type="application/rss+xml"/><item><title>A Glimpse Into DexProtector</title><link>https://www.romainthomas.fr/post/26-01-dexprotector/</link><pubDate>Sun, 04 Jan 2026 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/26-01-dexprotector/</guid><description>This blog post provides a high-level overview of DexProtector&amp;rsquo;s security features and their limitations</description></item><item><title>Fuzzing Windows ARM64 closed-source binary</title><link>https://www.romainthomas.fr/post/25-04-windows-arm64-qbdi-fuzzing/</link><pubDate>Mon, 28 Apr 2025 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/25-04-windows-arm64-qbdi-fuzzing/</guid><description>This blog post introduces coverage-guided fuzzing with QBDI and libFuzzer targeting Windows ARM64.</description></item><item><title>Instrumenting an Apple Vision Pro Library with QBDI</title><link>https://www.romainthomas.fr/post/24-09-apple-lockdown-dbi-lifting/</link><pubDate>Sun, 29 Sep 2024 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/24-09-apple-lockdown-dbi-lifting/</guid><description>This blog post demonstrates how to extract liblockdown.dylib from the visionOS dyld shared cache to be instrumented with QBDI on an Apple M1.</description></item><item><title>iCDump: A Modern Objective-C Class Dump</title><link>https://www.romainthomas.fr/post/23-01-icdump/</link><pubDate>Wed, 04 Jan 2023 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/23-01-icdump/</guid><description>This blog post introduces iCDump, an new Objective-C class dump based on LLVM</description></item><item><title>Open-Obfuscator: A free and open-source obfuscator for mobile applications</title><link>https://www.romainthomas.fr/post/22-10-open-obfuscator/</link><pubDate>Mon, 31 Oct 2022 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/22-10-open-obfuscator/</guid><description>This blog post introduces open-obfuscator, a new open-source project to obfuscate mobile applications.</description></item><item><title>Part 2 – iOS Native Code Obfuscation and Syscall Hooking</title><link>https://www.romainthomas.fr/post/22-09-ios-obfuscation-syscall-hooking/</link><pubDate>Tue, 13 Sep 2022 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/22-09-ios-obfuscation-syscall-hooking/</guid><description>This second blog post deals with native code obfuscation and RASP syscall interception</description></item><item><title>Part 1 – SingPass RASP Analysis</title><link>https://www.romainthomas.fr/post/22-08-singpass-rasp-analysis/</link><pubDate>Mon, 29 Aug 2022 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/22-08-singpass-rasp-analysis/</guid><description>This first blog post introduces the RASP checks used in SingPass</description></item><item><title>A Journey in iOS App Obfuscation</title><link>https://www.romainthomas.fr/post/22-08-ios-obfuscation/</link><pubDate>Mon, 22 Aug 2022 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/22-08-ios-obfuscation/</guid><description>This series of blog posts details how obfuscators can protect iOS applications from reverse engineering</description></item><item><title>PGSharp: Analysis of a Cheating App for PokemonGO</title><link>https://www.romainthomas.fr/post/21-11-pgsharp-analysis/</link><pubDate>Sun, 07 Nov 2021 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/21-11-pgsharp-analysis/</guid><description>This blog post is about the internal mechanisms of PGSharp, a cheat engine for PokemonGO.</description></item><item><title>Gotta Catch 'Em All: Frida &amp; jailbreak detection</title><link>https://www.romainthomas.fr/post/21-07-pokemongo-anti-frida-jailbreak-bypass/</link><pubDate>Sun, 18 Jul 2021 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/21-07-pokemongo-anti-frida-jailbreak-bypass/</guid><description>This blog post analyzes the Frida and Jailbreak detection in PokemonGO for iOS.</description></item><item><title>r2-pay: whitebox (part 2)</title><link>https://www.romainthomas.fr/post/20-09-r2con-obfuscated-whitebox-part2/</link><pubDate>Sun, 27 Sep 2020 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/20-09-r2con-obfuscated-whitebox-part2/</guid><description>This second blog post explains how to recover the whitebox&amp;rsquo;s key from the obfuscated library libnative-lib.so</description></item><item><title>r2-pay: anti-debug, anti-root &amp; anti-frida (part 1)</title><link>https://www.romainthomas.fr/post/20-09-r2con-obfuscated-whitebox-part1/</link><pubDate>Sun, 20 Sep 2020 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/20-09-r2con-obfuscated-whitebox-part1/</guid><description>This first blog post describes the protections in the challenge r2-pay.</description></item><item><title>A Glimpse Into Tencent's Legu Packer</title><link>https://www.romainthomas.fr/post/a-glimpse-into-tencents-legu-packer/</link><pubDate>Tue, 26 Nov 2019 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/a-glimpse-into-tencents-legu-packer/</guid><description>Analysis of Tencent Legu: a packer for Android applications.</description></item><item><title>Android Native Library Analysis with QBDI</title><link>https://www.romainthomas.fr/post/android-native-library-analysis-with-qbdi/</link><pubDate>Mon, 03 Jun 2019 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/android-native-library-analysis-with-qbdi/</guid><description>This blog post deals with QBDI and how it can be used to reverse an Android JNI library</description></item><item><title>Android crackme challenge</title><link>https://www.romainthomas.fr/post/android-crackme/</link><pubDate>Tue, 20 Nov 2018 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/android-crackme/</guid><description>Android crackme that uses system&amp;rsquo;s internals</description></item><item><title>Android OAT formats</title><link>https://www.romainthomas.fr/post/android-oat/</link><pubDate>Mon, 25 Jun 2018 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/android-oat/</guid><description>Internal structures of OAT format</description></item><item><title>Android VDEX formats</title><link>https://www.romainthomas.fr/post/android-vdex/</link><pubDate>Mon, 25 Jun 2018 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/android-vdex/</guid><description>Internal structures of VDEX format</description></item><item><title>When SideChannelMarvels meets LIEF</title><link>https://www.romainthomas.fr/post/18-05-when-sidechannelmarvels-meets-lief/</link><pubDate>Thu, 03 May 2018 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/18-05-when-sidechannelmarvels-meets-lief/</guid><description>On how we used LIEF to lift an Android x86_64 library to Linux to perform our usual white-box attacks on it.</description></item><item><title>How to use frida on a non-rooted device</title><link>https://www.romainthomas.fr/post/how-to-use-frida-on-a-non-rooted-device/</link><pubDate>Sat, 03 Mar 2018 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/how-to-use-frida-on-a-non-rooted-device/</guid><description>This post explains how to use Frida gadget on a non-rooted device.</description></item><item><title>Have fun with LIEF and Executable Formats</title><link>https://www.romainthomas.fr/post/17-11-have-fun-with-lief-and-executable-formats/</link><pubDate>Thu, 02 Nov 2017 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/17-11-have-fun-with-lief-and-executable-formats/</guid><description>This blog post introduces new features of LIEF as well as some uses cases.</description></item><item><title>Open-sourcing LIEF</title><link>https://www.romainthomas.fr/post/lief-release/</link><pubDate>Tue, 04 Apr 2017 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/lief-release/</guid><description>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.</description></item><item><title>HITB 2015 Write-up - Crypto 300</title><link>https://www.romainthomas.fr/post/15-11-hitb2015-crypto300/</link><pubDate>Tue, 03 Nov 2015 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/15-11-hitb2015-crypto300/</guid><description>Write-up for the Crypto 300 challenge</description></item><item><title>HITB 2015 Write-up - Crypto 400</title><link>https://www.romainthomas.fr/post/15-11-hitb2015-crypto400/</link><pubDate>Tue, 03 Nov 2015 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/15-11-hitb2015-crypto400/</guid><description>Write up</description></item><item><title>Code coverage using a dynamic symbolic execution</title><link>https://www.romainthomas.fr/post/15-10-triton-code-coverage/</link><pubDate>Mon, 12 Oct 2015 00:00:00 +0000</pubDate><author>me@romainthomas.fr (Romain Thomas)</author><guid>https://www.romainthomas.fr/post/15-10-triton-code-coverage/</guid><description>This blog post introduces code coverage with Triton</description></item></channel></rss>