Emulating Many of the Things with IDA
Chris Eagle and Sk3wlDbg demonstrate integrating architecture-independent CPU emulation into IDA Pro to unpack obfuscated malware and trace execution.
Summary
Architecture and Background
It is not uncommon that a software reverse engineer finds themselves desiring to execute a bit of code they are studying in order to better understand that code or alternatively to have that code perform some bit of useful work related to the reverse engineering task at hand. This generally requires access to an execution environment capable of supporting the machine code being studied, both at an architectural level (CPU type) and a packaging level (file container type). Unfortunately, this is not always a simple matter.
Vulnerability Analysis
The majority of analysts do not have a full complement of hosts available to support a wide variety of architectures, and virtualization opportunities for non-intel platforms are limited. In this talk we will discuss a light weight emulator framework for the IDA Pro disassembler that is based on the Unicorn emulation engine. The goal of the project is to provide an embedded multi-architectural emulation capability to complement IDA Pro’s multi-architectural disassembly capability to enhance the versatility of one of the most common reverse engineering tools in use today.
Exploitation and Demonstrations
Chris Eagle is a registered hex offender. He has been taking software apart since he first learned to put it together over 35 years ago. His research interests include computer network operations, malware analysis and reverse/anti-reverse engineering techniques.
Remediation and Defensive Strategies
He is the author of The IDA Pro Book and has published a number of well-known IDA plug-ins. He is also a co-author of Gray Hat Hacking. He has spoken at numerous conferences including Black Hat, DEF CON , Shmoocon, and ToorCon. Chris also organized and led the Sk3wl of r00t to two DEF CON Capture the Flag championships and produced that competition for four years as part of the DDTEK organization.
Related talks
Main Stage·1 hr 16 min
Chris Eagle
Chris Eagle explores attacking obfuscated code: automated deobfuscation techniques at DEF CON 12, examining reverse-engineering and practical defenses.
Main Stage·39 min
K2
K2 introduces BlockFighter2, an execution-tracing framework utilizing binary hooking to inspect and manipulate control flow within compiled code at runtime.
Main Stage·42 min
Atlas
Atlas showcases Symboliks, an intermediate representation and symbolic execution library designed to simplify reverse engineering and automated exploit derivation.


