41554 blogs · [ { "id": "01a087d7-77c2-71c4-8f5b-1dfe61c9b48b", "title": "A Glimpse Into DexProtector", "url": "https://www.romainthomas.fr/post/26-01-dexprotector/", "published_at": "2026-01-04T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f0d4c715f", "title": "Fuzzing Windows ARM64 closed-source binary", "url": "https://www.romainthomas.fr/post/25-04-windows-arm64-qbdi-fuzzing/", "published_at": "2025-04-28T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f0dbe8f81", "title": "Instrumenting an Apple Vision Pro Library with QBDI", "url": "https://www.romainthomas.fr/post/24-09-apple-lockdown-dbi-lifting/", "published_at": "2024-09-29T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f0e7dca16", "title": "iCDump: A Modern Objective-C Class Dump", "url": "https://www.romainthomas.fr/post/23-01-icdump/", "published_at": "2023-01-04T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f0e801e1f", "title": "Symbi", "url": "https://www.romainthomas.fr/project/symbi/", "published_at": "2023-01-01T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f0eaf76e1", "title": "MCStone", "url": "https://www.romainthomas.fr/project/mcstone/", "published_at": "2023-01-01T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f0f683de4", "title": "Lypid", "url": "https://www.romainthomas.fr/project/lypid/", "published_at": "2023-01-01T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f10426cfd", "title": "iCDump", "url": "https://www.romainthomas.fr/project/icdump/", "published_at": "2023-01-01T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f111901d9", "title": "Hooky", "url": "https://www.romainthomas.fr/project/hooky/", "published_at": "2023-01-01T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f11aa792f", "title": "DynaMIR", "url": "https://www.romainthomas.fr/project/dynamir/", "published_at": "2023-01-01T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f12732e1a", "title": "CLayout", "url": "https://www.romainthomas.fr/project/clayout/", "published_at": "2023-01-01T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f12c369d5", "title": "BinLift", "url": "https://www.romainthomas.fr/project/binlift/", "published_at": "2023-01-01T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f13c232d5", "title": "Introduction to Reverse Engineering", "url": "https://www.romainthomas.fr/training/reverse-engineering-intro/", "published_at": "2022-12-03T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f1463bc35", "title": "Open-Obfuscator: A free and open-source obfuscator for mobile applications", "url": "https://www.romainthomas.fr/post/22-10-open-obfuscator/", "published_at": "2022-10-31T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f1468ffc5", "title": "Open-Obfuscator", "url": "https://www.romainthomas.fr/project/open-obfuscator/", "published_at": "2022-10-31T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f152de919", "title": "Part 2 – iOS Native Code Obfuscation and Syscall Hooking", "url": "https://www.romainthomas.fr/post/22-09-ios-obfuscation-syscall-hooking/", "published_at": "2022-09-13T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f15de3b35", "title": "Part 1 – SingPass RASP Analysis", "url": "https://www.romainthomas.fr/post/22-08-singpass-rasp-analysis/", "published_at": "2022-08-29T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f15ef9441", "title": "A Journey in iOS App Obfuscation", "url": "https://www.romainthomas.fr/post/22-08-ios-obfuscation/", "published_at": "2022-08-22T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f16715b99", "title": "The Poor Man's Obfuscator", "url": "https://www.romainthomas.fr/publication/22-pst-the-poor-mans-obfuscator/", "published_at": "2022-07-04T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f172868fd", "title": "DroidGuard: A Deep Dive into SafetyNet", "url": "https://www.romainthomas.fr/publication/22-sstic-blackhat-droidguard-safetynet/", "published_at": "2022-05-12T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f172b53a3", "title": "DroidGuard", "url": "https://www.romainthomas.fr/projects-images/safetynet/", "published_at": "2021-11-11T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f175a5555", "title": "PGSharp: Analysis of a Cheating App for PokemonGO", "url": "https://www.romainthomas.fr/post/21-11-pgsharp-analysis/", "published_at": "2021-11-07T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f1829a226", "title": "PGSharp: Analysis of a Cheat Engine on Android", "url": "https://www.romainthomas.fr/publication/21-ekoparty-mobile-hacking-space-pgsharp/", "published_at": "2021-11-05T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f18ee49d2", "title": "Gotta Catch 'Em All: Frida & jailbreak detection", "url": "https://www.romainthomas.fr/post/21-07-pokemongo-anti-frida-jailbreak-bypass/", "published_at": "2021-07-18T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f190aa777", "title": "QBDL: QuarksLab Dynamic Loader", "url": "https://www.romainthomas.fr/publication/21-sstic-qbdl/", "published_at": "2021-06-03T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f19f071c0", "title": "QBDL", "url": "https://www.romainthomas.fr/project/qbdl/", "published_at": "2021-06-03T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f1a9146fb", "title": "Dynamic Binary Instrumentation Techniques to Address Native Code Obfuscation", "url": "https://www.romainthomas.fr/publication/20-bh-asia-dbi/", "published_at": "2020-10-01T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f1b0c938a", "title": "r2-pay: whitebox (part 2)", "url": "https://www.romainthomas.fr/post/20-09-r2con-obfuscated-whitebox-part2/", "published_at": "2020-09-27T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f1bb769c9", "title": "r2-pay: anti-debug, anti-root & anti-frida (part 1)", "url": "https://www.romainthomas.fr/post/20-09-r2con-obfuscated-whitebox-part1/", "published_at": "2020-09-20T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f1bbf588c", "title": "Tencent Legu Unpacker", "url": "https://www.romainthomas.fr/project/legu_unpacker/", "published_at": "2020-01-23T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f1bf3d84c", "title": "A Glimpse Into Tencent's Legu Packer", "url": "https://www.romainthomas.fr/post/a-glimpse-into-tencents-legu-packer/", "published_at": "2019-11-26T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f1ce12b10", "title": "Android Native Library Analysis with QBDI", "url": "https://www.romainthomas.fr/post/android-native-library-analysis-with-qbdi/", "published_at": "2019-06-03T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f1d4e2c45", "title": "Android Runtime Restrictions Bypass (PoC)", "url": "https://www.romainthomas.fr/project/android-runtime-restrictions-bypass/", "published_at": "2019-03-27T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f1e14cad1", "title": "Android Runtime Restrictions Bypass", "url": "https://www.romainthomas.fr/publication/android-restrictions-bypass/", "published_at": "2019-03-23T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f1eca6bc7", "title": "Android crackme challenge", "url": "https://www.romainthomas.fr/post/android-crackme/", "published_at": "2018-11-20T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f1f0cb848", "title": "Android VDEX formats", "url": "https://www.romainthomas.fr/post/android-vdex/", "published_at": "2018-06-25T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f1f860597", "title": "Android OAT formats", "url": "https://www.romainthomas.fr/post/android-oat/", "published_at": "2018-06-25T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f20552f56", "title": "Static Instrumentation Based on Executable Formats", "url": "https://www.romainthomas.fr/publication/static-instrumentation/", "published_at": "2018-06-20T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f20fa9bc5", "title": "When SideChannelMarvels meets LIEF", "url": "https://www.romainthomas.fr/post/18-05-when-sidechannelmarvels-meets-lief/", "published_at": "2018-05-03T00:00:00+00:00" }, { "id": "01a087d7-77c3-70fb-90b3-4d0f216a0728", "title": "How to use frida on a non-rooted device", "url": "https://www.romainthomas.fr/post/how-to-use-frida-on-a-non-rooted-device/", "published_at": "2018-03-03T00:00:00+00:00" }, { "id": "01a087d7-77c4-7257-8e99-d75d98640aad", "title": "Have fun with LIEF and Executable Formats", "url": "https://www.romainthomas.fr/post/17-11-have-fun-with-lief-and-executable-formats/", "published_at": "2017-11-02T00:00:00+00:00" }, { "id": "01a087d7-77c4-7257-8e99-d75d98f2d90e", "title": "LIEF: Library to Instrument Executable Formats", "url": "https://www.romainthomas.fr/publication/lief/", "published_at": "2017-07-04T00:00:00+00:00" }, { "id": "01a087d7-77c4-7257-8e99-d75d99a265af", "title": "Open-sourcing LIEF", "url": "https://www.romainthomas.fr/post/lief-release/", "published_at": "2017-04-04T00:00:00+00:00" }, { "id": "01a087d7-77c4-7257-8e99-d75d9a90e96c", "title": "How Triton can help to reverse virtual machine based software protections", "url": "https://www.romainthomas.fr/publication/triton-vm-protection/", "published_at": "2016-11-10T00:00:00+00:00" }, { "id": "01a087d7-77c4-7257-8e99-d75d9b5ae511", "title": "LIEF", "url": "https://www.romainthomas.fr/project/lief/", "published_at": "2016-04-27T00:00:00+00:00" }, { "id": "01a087d7-77c4-7257-8e99-d75d9b9ec791", "title": "Dynamic Binary Analysis and Obfuscated Codes", "url": "https://www.romainthomas.fr/publication/dynamic-binary-analysis-and-obfuscation/", "published_at": "2016-04-08T00:00:00+00:00" }, { "id": "01a087d7-77c4-7257-8e99-d75d9be80cf6", "title": "HITB 2015 Write-up - Crypto 400", "url": "https://www.romainthomas.fr/post/15-11-hitb2015-crypto400/", "published_at": "2015-11-03T00:00:00+00:00" }, { "id": "01a087d7-77c4-7257-8e99-d75d9c143402", "title": "HITB 2015 Write-up - Crypto 300", "url": "https://www.romainthomas.fr/post/15-11-hitb2015-crypto300/", "published_at": "2015-11-03T00:00:00+00:00" }, { "id": "01a087d7-77c4-7257-8e99-d75d9c35aac1", "title": "Code coverage using a dynamic symbolic execution", "url": "https://www.romainthomas.fr/post/15-10-triton-code-coverage/", "published_at": "2015-10-12T00:00:00+00:00" }, { "id": "01a087d7-77c4-7257-8e99-d75d9c3883ad", "title": "How Triton may help analyze obfuscated binaries", "url": "https://www.romainthomas.fr/publication/triton/", "published_at": "2015-09-01T00:00:00+00:00" }, { "id": "01a0dcef-9a11-72b6-a65a-cf6933859fe7", "title": "Rethinking Reverse Engineering for the AI Era", "url": "https://www.romainthomas.fr/publication/26-rethinking-reverse-engineering-for-the-ai-era/", "published_at": null } ] posts Claim your blog
Back to romainthomas.fr
Blog · corpus.blog/blogs/romainthomas.fr/posts

romainthomas.fr

romainthomas.fr

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

27 Apr 2016

2015

Undated