Reverse engineering often requires more than one tool. While IDA Pro is a powerful disassembler, exporting its disassembly listing can be crucial for deeper analysis with other tools or for specific tasks. This article explores exporting Ida Pro Disassembly into ASM and LST files.
Exporting Disassembly in IDA Pro
IDA Pro offers two primary formats for exporting disassembly: ASM and LST. Each serves a distinct purpose and contains different levels of detail.
ASM Files for Reassembly
ASM files, generated via File > Produce File > Create ASM File… (or Alt+F10), provide a clean disassembly listing ideal for reassembly. These files omit extra annotations like address prefixes and opcode bytes, focusing on the core assembly instructions.
You can export the entire database or select specific code sections using IDA’s selection feature. For multiple non-contiguous segments, repeated exports with the “Append” option combine them into a single ASM file.
While ASM files aim for reassembly compatibility, modifications might be necessary due to real-world complexities in binary code.
LST Files for Complete Information
LST files, created using File > Produce File > Create LST File…, capture the complete information displayed in IDA Pro’s text view. This includes opcode bytes, address prefixes, and other annotations, making them suitable for comprehensive analysis beyond reassembly.
Optimizing Export Size
Large databases can produce massive export files. Several techniques help manage their size:
- Convert Data to Arrays: Transforming large data areas into arrays significantly reduces file size by representing repetitive data more concisely.
- Hide or Collapse Unnecessary Data: Hiding irrelevant code sections or entire segments streamlines the exported listing to essential information.
Conclusion
Exporting IDA Pro disassembly into ASM and LST files enables further analysis and manipulation of disassembled code. Choosing the appropriate format depends on the specific task: ASM for reassembly and LST for comprehensive analysis. Optimizing export size through techniques like array conversion and selective hiding enhances efficiency.