Module 1: BSWJ: IDA
Teaching Assistants George Mcpherson Vikramajeet Khatri
How to use the IDA Tool
The Interactive Disassembler (IDA) is a powerful and effective disassembler and debugging tool that is a must for serious programmers and software developers. It is also the most popular and most commonly used disassembler on the market. Disassemblers are useful for programmers because they automatically convert programs from executable language to an assembly language.
The free version of IDA does basic disassembly while the IDA Pro includes additional features. IDA Pro is a multi-platform, multi-processor disassembler and debugger that allows developers and programmers to debug their applications. IDA can be used to evaluate code that is not working as it should be. Additionally, IDA Pro lets the programmer analyze potential vulnerabilities. It works as close as possible to original source code, which is why it’s a popular choice for anyone looking for a great debugging tool.
This IDA Pro tutorial is interactive, which means that IDA allows users to override its decisions. This is important because computers can’t beat the human brain when it comes to investigating the unknown. Interactivity culminates in an open plugin architecture and a built-in programming language.
Why Use IDA Pro?
IDA Pro is one of the leading reverse engineering tools for programmers and developers for many reasons, including:
- It automatically converts programs from an executable language into an assembly language. This is advantageous because while an executable language might have variables based on specific hardware variables, assembly language for the same program would have empty variables that are only filled when placed in a specific environment or on a specific machine.
- IDA Pro supports multiple executable formats for multiple processors and operating systems, making it a tool that can be used almost universally.
- IDA Pro allows programmers to interactively change elements of the displayed data, including giving names to variables, functions, and data structures; changing the data representation; building graphs and diagrams of code flow to streamline the understanding of disassembled code; automatically recognize and name standard library functions in the assembler code; and more.
- It’s a perfect tool to use to understand why software breaks. IDA Pro can play an essential role in investigating software weaknesses and tamper resistance.
For more information about the interactive disassembler tool, and to learn to use it, check out this IDA Pro tutorial. The class provides you with all the information you need to use this popular disassembler.
(Disclaimer: Breaking Stuff with Joe is a Cybrary series that will be running indefinitely. You will not earn CEU/CPE hours by watching any individual 'Breaking Stuff with Joe' episode. However, you can still earn a certificate of completion for each episode completed.)