{"id":439,"date":"2026-10-13T14:48:55","date_gmt":"2026-10-13T14:48:55","guid":{"rendered":"https:\/\/haco.zone\/?p=439"},"modified":"2026-10-13T14:48:55","modified_gmt":"2026-10-13T14:48:55","slug":"recon-2026-deobfuscation-in-the-age-of-agentic-reverse-engineering","status":"publish","type":"post","link":"https:\/\/haco.zone\/?p=439","title":{"rendered":"RECON 2026 &#8211; Deobfuscation in the Age of Agentic Reverse Engineering"},"content":{"rendered":"\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"RECON 2026 - Deobfuscation in the Age of Agentic Reverse Engineering\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/3-gJ6EUFoKM?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><a target=\"_blank\" rel=\"noopener\" href=\"https:\/\/www.youtube.com\/watch?v=3-gJ6EUFoKM\">RECON 2026 &#8211; Deobfuscation in the Age of Agentic Reverse Engineering<\/a><\/strong>, presented by Tim and Nicol\u00f2 from the Recon Conference:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Overview &amp; Motivation<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Context:<\/strong> In 2022, the speakers argued that obfuscation was outpacing deobfuscation due to inter-procedural complexity, custom tooling requirements, and a lack of scalable automation [<a href=\"https:\/\/www.youtube.com\/watch?v=3-gJ6EUFoKM&amp;t=39\" target=\"_blank\" rel=\"noopener\">00:39<\/a>].<\/li>\n\n\n\n<li><strong>The Shift:<\/strong> Autonomous AI agents\u2014LLMs running inside execution loops with direct tool access\u2014are fundamentally altering the economics and speed of reverse engineering [<a href=\"https:\/\/www.youtube.com\/watch?v=3-gJ6EUFoKM&amp;t=81\" target=\"_blank\" rel=\"noopener\">01:21<\/a>].<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">The Agentic Setup<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Environment:<\/strong> Frontier LLMs (e.g., Claude Code, Codex) run inside sandboxed Docker containers [<a href=\"https:\/\/www.youtube.com\/watch?v=3-gJ6EUFoKM&amp;t=152\" target=\"_blank\" rel=\"noopener\">02:32<\/a>].<\/li>\n\n\n\n<li><strong>Toolchain Integration:<\/strong> The agents are granted programmatic API access to reverse engineering platforms and libraries, including Binary Ninja, Unicorn (CPU emulation), Miasm (symbolic execution), and Z3\/MSon (Mixed Boolean-Arithmetic simplification) [<a href=\"https:\/\/www.youtube.com\/watch?v=3-gJ6EUFoKM&amp;t=160\" target=\"_blank\" rel=\"noopener\">02:40<\/a>].<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Case Studies<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">1. Virtual Machine (VM)-Based Obfuscation<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Simple Function-Level VMs:<\/strong> Given a high-level goal, the agent can autonomously discover the VM dispatch architecture, extract handler semantics, write a custom disassembler, and lift bytecode back to high-level code in minutes (&#8220;one-shotted&#8221;) [<a href=\"https:\/\/www.youtube.com\/watch?v=3-gJ6EUFoKM&amp;t=354\" target=\"_blank\" rel=\"noopener\">05:54<\/a>].<\/li>\n\n\n\n<li><strong>Commercial Protections (VMProtect, Themida):<\/strong>\n<ul class=\"wp-block-list\">\n<li>Features like handler duplication (10k\u201350k handlers) and rolling bytecode decryption cause unguided agents to fail [<a href=\"https:\/\/www.youtube.com\/watch?v=3-gJ6EUFoKM&amp;t=373\" target=\"_blank\" rel=\"noopener\">06:13<\/a>].<\/li>\n\n\n\n<li>When given a structured trace-based workflow (Unicorn trace <math xmlns=\"http:\/\/www.w3.org\/1998\/Math\/MathML\"><semantics><mrow><mo>\u2192<\/mo><\/mrow><\/semantics><\/math>\u2192 symbolic execution <math xmlns=\"http:\/\/www.w3.org\/1998\/Math\/MathML\"><semantics><mrow><mo>\u2192<\/mo><\/mrow><\/semantics><\/math>\u2192 handler recovery <math xmlns=\"http:\/\/www.w3.org\/1998\/Math\/MathML\"><semantics><mrow><mo>\u2192<\/mo><\/mrow><\/semantics><\/math>\u2192 disassembler generation), the agent resolved complex protections in 1\u20132 hours\u2014a task that typically takes weeks manually [<a href=\"https:\/\/www.youtube.com\/watch?v=3-gJ6EUFoKM&amp;t=588\" target=\"_blank\" rel=\"noopener\">09:48<\/a>].<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Kernel Anticheats &amp; Game DRMs:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Successfully identified shared VM interpreters across over 1,000 entry points in a kernel anticheat, devirtualizing code in parallel [<a href=\"https:\/\/www.youtube.com\/watch?v=3-gJ6EUFoKM&amp;t=738\" target=\"_blank\" rel=\"noopener\">12:18<\/a>].<\/li>\n\n\n\n<li>On older game DRMs (5\u20137 years old), the pipeline recovered license integrity cryptographic logic [<a href=\"https:\/\/www.youtube.com\/watch?v=3-gJ6EUFoKM&amp;t=860\" target=\"_blank\" rel=\"noopener\">14:20<\/a>].<\/li>\n\n\n\n<li>Modern DRMs resisted analysis due to heavy anti-emulation loops and requirements for live dynamic runtime state [<a href=\"https:\/\/www.youtube.com\/watch?v=3-gJ6EUFoKM&amp;t=938\" target=\"_blank\" rel=\"noopener\">15:38<\/a>].<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">2. Control Flow Flattening (CFF)<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Emotet Banking Malware:<\/strong> The agent authored custom Binary Ninja workflows targeting Medium-Level Intermediate Representation (MLIL). It located dispatchers, resolved block successors, and patched direct control flows across all flattened functions [<a href=\"https:\/\/www.youtube.com\/watch?v=3-gJ6EUFoKM&amp;t=1168\" target=\"_blank\" rel=\"noopener\">19:28<\/a>].<\/li>\n\n\n\n<li><strong>FinFisher:<\/strong> Reusing the generic Emotet workflow failed due to sample-specific Mixed Boolean-Arithmetic (MBA) opaque predicates, requiring custom adaptations [<a href=\"https:\/\/www.youtube.com\/watch?v=3-gJ6EUFoKM&amp;t=1238\" target=\"_blank\" rel=\"noopener\">20:38<\/a>].<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">3. Global Call Graph Obfuscation<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Obfuscators hide direct function calls behind indirect lookups using global tables and MBA indices [<a href=\"https:\/\/www.youtube.com\/watch?v=3-gJ6EUFoKM&amp;t=1324\" target=\"_blank\" rel=\"noopener\">22:04<\/a>].<\/li>\n\n\n\n<li>Unguided agents pursued dead-end brute force and heuristic attempts [<a href=\"https:\/\/www.youtube.com\/watch?v=3-gJ6EUFoKM&amp;t=1424\" target=\"_blank\" rel=\"noopener\">23:44<\/a>]. With targeted human direction (constant propagation and MBA simplification via Z3), the agent resolved indirect targets back to direct calls and reconstructed clean function boundaries [<a href=\"https:\/\/www.youtube.com\/watch?v=3-gJ6EUFoKM&amp;t=1451\" target=\"_blank\" rel=\"noopener\">24:11<\/a>].<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Countermeasures: Anti-Agentic Obfuscation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The speakers outlined four design principles for defenders to build protections specifically resistant to agentic analysis [<a target=\"_blank\" rel=\"noopener\" href=\"https:\/\/www.youtube.com\/watch?v=3-gJ6EUFoKM&amp;t=1551\">25:51<\/a>]:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Search Budget Traps:<\/strong> Bloating state spaces, introducing spaghetti logic, and adding costly oracle checks to exhaust agent token limits and execution budgets.<\/li>\n\n\n\n<li><strong>Global Semantics &amp; Runtime Binding:<\/strong> Tying critical program execution to inputs only available at live execution time (e.g., cross-thread interactions), frustrating purely static\/emulated analysis.<\/li>\n\n\n\n<li><strong>Tool Friction:<\/strong> Designing targeted anti-debugging and anti-emulation tricks (e.g., subtle hardware modeling flaws in QEMU) to break the underlying tools agents rely on [<a href=\"https:\/\/www.youtube.com\/watch?v=3-gJ6EUFoKM&amp;t=1708\" target=\"_blank\" rel=\"noopener\">28:28<\/a>].<\/li>\n\n\n\n<li><strong>Narrative Poisoning:<\/strong> Planting false-flag strings, deceptive comments, or prompt injection sequences within binary metadata to mislead LLM reasoning.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>RECON 2026 &#8211; Deobfuscation in the Age of Agentic Reverse [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[30,35,5],"class_list":["post-439","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-binary","tag-llm","tag-security"],"_links":{"self":[{"href":"https:\/\/haco.zone\/index.php?rest_route=\/wp\/v2\/posts\/439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/haco.zone\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/haco.zone\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/haco.zone\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/haco.zone\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=439"}],"version-history":[{"count":1,"href":"https:\/\/haco.zone\/index.php?rest_route=\/wp\/v2\/posts\/439\/revisions"}],"predecessor-version":[{"id":440,"href":"https:\/\/haco.zone\/index.php?rest_route=\/wp\/v2\/posts\/439\/revisions\/440"}],"wp:attachment":[{"href":"https:\/\/haco.zone\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/haco.zone\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/haco.zone\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}