LInteractive Disassembler (IDA) és un desensamblador de programari informàtic que genera codi font en llenguatge ensamblador a partir de codi executable per màquina. Admet una varietat de formats executables per a diferents processadors i sistemes operatius. També es pot utilitzar com a depurador per a executables ELF de Windows PE, Mac OS X Mach-O i Linux. Un complement de descompilador, que genera una representació de codi font C d'alt nivell del programa analitzat, està disponible amb un cost addicional.
IDA s'utilitza àmpliament en l'enginyeria inversa de programari, inclòs per a l'anàlisi de programari maliciós i la investigació de vulnerabilitats de programari. El descompilador de l'IDA és un dels marcs de descompilació més populars i àmpliament utilitzats, i IDA ha estat anomenat "estàndard de la indústria de facto" per al desmuntatge de programes i l'anàlisi binària estàtica.
Història Ilfak Guilfanov va començar a treballar en IDA l'any 1990, i inicialment la va distribuir com una aplicació de programari compartit. L'any 1996, l'empresa belga DataRescue es va fer càrrec del desenvolupament d'IDA i va començar a vendre'l com a producte comercial, sota el nom IDA Pro.
Les versions inicials d'IDA no tenien una interfície gràfica d'usuari (GUI) i s'executaven com una aplicació de consola DOS, OS/2 o Windows estesa. El 1999, DataRescue va llançar la primera versió d'IDA Pro amb una GUI, IDA Pro 4.0.
El 2005, Guilfanov va fundar Hex-Rays per seguir el desenvolupament de l'extensió IDA Hex-Rays Decompiler. El gener de 2008, Hex-Rays va assumir el desenvolupament i el suport de l'IDA Pro de DataRescue.
El 2022, Hex-Rays va ser adquirida per un grup d'inversors liderats per Smartfin, un inversor europeu de capital risc i capital privat. Entre els co-inversors en l'adquisició incloïa el holding públic belga , i l'empresa pública d'inversió valona Regional Investment Company of Wallonia (SRIW).
Característiques IDA desmunta un programa compilat de nou en una representació en llenguatge ensamblador. A més de realitzar el desmuntatge bàsic, IDA també anota automàticament els programes desmuntats amb informació sobre:
referències creuades entre codi i dades del programa ubicacions de funcions, marcs de pila de funcions i convencions de crida de funcions tipus de dades reconstruïts
Tanmateix, la naturalesa del desmuntatge impedeix una precisió total i necessàriament cal una gran intervenció humana; IDA té una funcionalitat interactiva per ajudar a millorar el desmuntatge. Un usuari típic de l'IDA començarà amb una llista de desmuntatge generada automàticament i després convertirà seccions de codi a dades i viceversa, canviarà el nom, anotarà i, d'altra manera, afegirà informació a la llista, fins que la seva funcionalitat quedi clara.
Referències
Categoria:Programari