IDA Pro: rEVERSE eNGIEERING

At the present time, the number of hackers has significantly increased so it has become vital to be able to defend against their threats and viruses. That is the reason why such powerful software as IDA Pro was developed. IDA Pro reverse engineering software is the part and parcel of reverse engineering.IDA stands for Interactive Disassembler and it is used for reverse engineering. According to the official definition it is a programmable, interactive, and multi-processor disassembler. It can be utilized as a debugger as well as a disassembler. Well, if you are not a geek, let’s talk about peculiarities of IDA Pro so that to understand its nature. In a few words I would say that though IDA Pro is not a decompiler, it contains a debugger and can analyze high level programs.

The first function of IDA is a disassembler function which means exploring binary programs. Here I can’t but mentioning assembly language that is the way to represent instructions the processor carries out. Unlike most programming languages, it is rather a group of languages than a single one. The representation of instructions is based on mnemonics (abbreviations) and defined as a rule by a hardware manufacturer. However, assembly language is very hard to work with, that has led to preferable utilizing of more legible codes in the latest software including IDA Pro.

But functioning of IDA Pro as a disassembler would be useless without its debugger function. The reason is clear, working with hostile code you come up with numerous worms and viruses. So the static analysis capabilities of the software should be complemented with step by step investigating. IDA Pro is a powerful tool that features the latest implementations.

IDA Pro perfectly fits the needs of modern companies the rights of which need to be protected. That’s why the program has gained such an enormous popularity. As a rule, IDA Pro is used by anti-virus companies, software development companies, some agencies and military organizations. The spheres it is highly used in are software security auditing and reverse engineering.

Necessary to mention that as early as 2001 IDA Pro was recognized one of the best softwares for Technical Excellence.

Among numerous advantages of the software, the first place goes to interactivity. Unlike the majority of similar programs, it allows to improve disassemblies in real time. It is a really unique feature which is highly appreciated by professionals. It provides us with the possibility to cancel decisions and even gives us hints. Moreover, interactivity features a time saving function.

The main task of IDA Pro reverse engineering software is transforming binary codes into a readable text. But each new version was complemented with such unique features as developed navigation system, IDC in-built programming language, open and module architecture, compatibility with the overwhelming majority of file formats, work with high level data arrays and architectures, in-built debugger for Win 32.

By the way, IDA Pro can be used for the operating systems listed below:

·        X86 Windows GUI

·        x86 Windows console

·        x86 Linux console

·        x86 Mac OS X

·        ARM Windows CE

The last version of IDA Pro software was launched as early as June, 2009. Among the main features and innovations in it there are:

·         New dockable interface. This interface has an improved hex viewer. And in general, it is simpler and more pliant to use.

·         Improvements of processor modules

·         Bochs debugger

·         User contribution

·         Sparse storage method

·         Windows Crash Dump Loader

Talking about more down-to-earth and common things, IDA Pro reverse engineering software was developed by Ilfak Guilfanov. He studied at Lomonosov Moscow State University where he got interested in programming. It was then that the developer understood his vocation. Today Ilfak Guilfanov works for Datarescue, a Belgian company. Among all his projects, the interactive disassemble developing and modifying is the main one.

It amazes that such a program as IDA Pro, according to the words of Ilfak Guilfanov, can’t be created by a limited number of programmers. Lots of users helped them to work on its developing.

The processors that support IDA are the following:

  • Intel 80x86 family
  • ARM, including thumb code
  • Motorola 68xxx/h8
  • Zilog Z80
  • MOS Technology 6502
  • Intel i860
  • DEC Alpha
  • Analog Devices ADSP218x
  • Angstrem KR1878
  • Atmel AVR series
  • DEC series PDP11
  • Fujitsu F2MC16L/F2MC16LX
  • Fujitsu FR 32-bit Family
  • Hitachi SH3/SH3B/SH4/SH4B
  • Hitachi H8: h8300/h8300a/h8s300/h8500
  • Intel 196 series: 80196/80196NP
  • Intel 51 series: 8051/80251b/80251s/80930b/80930s
  • Intel i960 series
  • Intel ia64 series
  • Java virtual machine
  • MIPS: mipsb/mipsl/mipsr/mipsrl/r5900b/r5900l
  • Microchip PIC: PIC12Cxx/PIC16Cxx/PIC18Cxx
  • MSIL
  • Mitsubishi 7700 Family: m7700/m7750
  • Mitsubishi m32/m32rx
  • Mitsubishi m740
  • Mitsubishi m7900
  • Motorola DSP 5600x Family: dsp561xx/dsp5663xx/dsp566xx/dsp56k
  • Motorola ColdFire
  • Motorola HCS12
  • NEC 78K0/78K0S
  • PA-RISC
  • PowerPC
  • SGS-Thomson ST20/ST20c4/ST7
  • SPARC Family
  • Samsung SAM8
  • Siemens C166 series
  • TMS320Cxxx series