Download presentation
Presentation is loading. Please wait.
Published by野画 胡 Modified over 5 years ago
2
Introduction The Interactive Disassembler Professional (IDA Pro) is an extremely powerful disassembler distributed by Hex-Rays. IDA Pro also supports several file formats, such as Portable Executable (PE), Common Object File Format (COFF), Executable and Linking Format (ELF), and a.out. IDA Pro will disassemble an entire program and perform tasks such as function discovery, stack analysis, local variable identification, extensive code signatures within its Fast Library Identification and Recognition Technology (FLIRT)
3
Load binary and start analysis
OptionsGeneral, and then select Line prefixes and set the Number of Opcode Bytes to 6. red if a conditional jump is not taken, green if the jump is taken, and blue for an unconditional jump.
4
Functions window Lists all functions in the executable and shows the
length of each. Names window Lists every address with a name, including functions, named code, named data, and strings. Strings window Shows all strings. By default, this list shows only ASCII strings longer than five characters. You can change this by right-clicking in the Strings window and selecting Setup. Imports window Lists all imports for a file. Exports window Lists all the exported functions for a file. This window is useful when you’re analyzing DLLs. Structures window Lists the layout of all active data structures. The window also provides you the ability to create your own data structures for use as memory layout templates. OptionsGeneral, and then check the Auto comments checkbox.
5
Navigate Ida PRO Loc link Cross reference Sub link
6
Navigation Band Light blue is library code as recognized by FLIRT.
Red is compiler-generated code. Dark blue is user-written code. IDA Pro’s default colors for data are pink for imports, gray for defined data, and brown for undefined data
7
Find password
8
Recall that local variables will be at
a negative offset relative to EBP and arguments will be at a positive offset. Local variables
9
Local and Global Variables
10
When performing the div or idiv instruction, you are dividing edx:eax by the operand and storing the result in eax and the remainder in edx. That is why edx is moved into var_8
11
Conditional statement
12
Nested If Statement
13
Finding Loops…
14
…Finding Loops
15
While loops
16
Switch Statement
17
Switch Statement, a little different
18
Dissassembly arrays
19
Disassembly struct
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.