Interactive Disassembler

Da Wikipedia, l'enciclopedia libera.

L'Interactive Disassembler, più comunemente conosciuto con il nome IDA, è un disassembler largamente usato per il reverse engineering. Supporta numerosi formati di file eseguibili per diversi processori e sistemi operativi.

Sebbene IDA effettui una grande quantità di reverse engineering in automatico, ottenendo informazioni sui riferimenti incrociati (cross-references o XREFs) tra le varie sezioni, sui parametri delle chiamate API, e altro, è comunque caratterizzato soprattutto dall'interattività. Un tipico utente di IDA inizierà con un listato generato automaticamente per poi rinominare, commentare, o aggiungere in altri modi informazioni al disassemblato, finché diventa chiaro cosa fa, rendendo IDA un ottimo strumento per il reverse engineering.

Inizialmente IDA veniva distribuito liberamente dal suo autore, il russo Ilfak Guilfanov: fu in seguito trasformato in un prodotto commerciale dalla DataRescue, una compagnia belga, che fino a poco tempo fa manteneva e supportava una versione notevolmente migliorata detta IDA Pro. Ora la compagnia che supporta e mantiene questo software sembra essere la hex-rays. Le versioni di IDA Pro a partire dalla 4.50 contengono anche un debugger integrato.

Sistemi/Processori/Compilatori Supportati[modifica | modifica wikitesto]

  • Sistemi Operativi
    • x86 Windows GUI
    • x86 Windows console
    • x86 Linux console
  • Formati Dei File Eseguibili
    • PE (Windows)
    • ELF (Linux, most *BSD)
    • Mach-O (Mac OS X)
    • Netware .exe
    • OS/2 .exe
    • Geos .exe
    • raw binary, such as a ROM image
  • Processori
    • 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
    • Microsoft Visual Studio .NET: cli/net
    • 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
  • Compilatori/Librerie (per la funzione di riconoscimento automatico della libreria)
    • Borland C++ 5.x for DOS/Windows
    • Borland C++ 3.1
    • Borland C Builder v4 for DOS/Windows
    • GNU C++ for Cygwin
    • MS C (16 bit) for DOS/Windows
    • MS Visual Studio .NET
    • MS Visual C++ v6
    • Watcom C++ (16/32 bit) for DOS/OS2
    • ARM C v1.2
    • GNU C++ for Unix/common

Collegamenti esterni[modifica | modifica wikitesto]