Interactive Disassembler

Interactive Disassembler

En informática, Interactive Disassembler (Desensamblador Interactivo), más conocido por su acrónimo IDA, es un desensamblador empleado para ingeniería inversa. Soporta una variedad de formatos ejecutables para diferentes procesadores y sistemas operativos. También puede ser usado como un depurador para executables Windows PE, Mac OS X, Mach-O y Linux ELF. Un plugin de decompilador para programas compilados con C/C++ está disponible a un costo extra. La última versión completa del IDA Pro es un software comercial; una versión anterior y menos capaz está disponible para descarga gratuita (la versión 5.0 de noviembre de 2010).[1]

El IDA realiza mucho análisis automático del código, usando referencias cruzadas entre las secciones del código, conocimiento de parámetros de las llamadas del API, y otra información. Sin embargo, la naturaleza del desensamblado imposibilita una exactitud total, y una gran parte de intervención humana es necesariamente requerida; El IDA tiene funcionalidad interactiva para ayudar en la mejora del desensamblado. Un usuario típico del IDA comenzará con un listado de desensamblado automáticamente generado y después convertirá secciones de código a datos y viceversa, renombrará, anotará, y de otra manera agregará información al listado, hasta que se vuelve claro lo que lo hace.

Creado como shareware por Ilfak Guilfanov, IDA fue posteriormente vendido a DataRescue, una compañía belga, que lo mejoró y lo vendió bajo el nombre de IDA Pro. En 2007, Guilfanov fundó Hex-Rays para seguir el desarrollo de la extensión Hex-Rays Decompiler del IDA. En enero de 2008, Hex-Rays asumió el desarrollo y el soporte del IDA Pro de DataRescue.

Guilfanov es el autor principal del IDA (Interactive Disassembler Pro).

Contenido

Scripting

Los "scripts IDA" hacen posible extender la operación del desensamblador. Son proporcionados Algunos útiles scripts, que pueden servir como la base para scripts escritos por el usuario. Los más frecuentes scripts son usados para la modificación adicional del código generado. Por ejemplo, pueden ser cargadas tablas de símbolos externas de tal modo que se puedan usar los nombres de función del código fuente original. Hay sitios web dedicados a scripts IDA y ofrecen asistencia para problemas que surgen con frecuencia.

Los usuarios han creado plugins que permita que otros lenguajes de scripting comunes puedan ser usados o agregados al del IDC. IdaRUB soporta Ruby e IDAPython agrega soporte para Python. Desde la versión 5.4, IDAPython (dependiente del Python 2.5) viene preinstalado con el IDA Pro.

Sistemas, procesadores y compiladores soportados

  • Procesadores
    • Familia Intel 80x86
    • ARM, incluyendo 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
    • Familia de 32 bits de Fujitsu FR
    • 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 Itanium (ia64) series
    • Java virtual machine
    • MIPS: mipsb/mipsl/mipsr/mipsrl/r5900b/r5900l
    • Microchip PIC: PIC12Cxx/PIC16Cxx/PIC18Cxx
    • MSIL
    • Familia Mitsubishi 7700: m7700/m7750
    • Mitsubishi m32/m32rx
    • Mitsubishi m740
    • Mitsubishi m7900
    • Familia Motorola DSP 5600x: dsp561xx/dsp5663xx/dsp566xx/dsp56k
    • Motorola ColdFire
    • Motorola HCS12
    • NEC 78K0/78K0S
    • PA-RISC
    • PowerPC
    • SGS-Thomson ST20/ST20c4/ST7
    • Familia SPARC
    • Samsung SAM8
    • Siemens C166 series
    • TMS320Cxxx series
  • Compilador/Bibliotecas (para reconocimiento automático de funciones de biblioteca)[2]
    • Borland C++ 5.x para DOS/Windows
    • Borland C++ 3.1
    • Borland C Builder v4 para DOS/Windows
    • GNU C++ para Cygwin
    • Microsoft C
    • Microsoft QuickC
    • Microsoft Visual C++
    • Watcom C++ (16/32 bit) para DOS/OS2
    • ARM C v1.2
    • GNU C++ para Unix/common

Referencias

  • Eilam, Eldad (2005). Reversing: Secrets of Reverse Engineering. Wiley Publishing. pp. 595. ISBN 0764574817. 
  • Eagle, Chris (2008). [ http://www.idabook.com/ The IDA Pro Book: The Unofficial Guide to the World's Most Popular Disassembler ]. No Starch Press. ISBN 9781593271787. 

Véase también

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужен реферат?

Mira otros diccionarios:

  • Interactive Disassembler — The Interactive Disassembler, more commonly known as simply IDA, is a commercial disassembler widely used for reverse engineering. It supports a variety of executable formats for different processors and operating systems. It also can be used as… …   Wikipedia

  • The Interactive Disassembler — (kurz IDA) ist ein Disassembler, der es ermöglicht, Binärcode in Assembler Quelltext umzuwandeln. Er unterstützt Prozessoren verschiedener Hersteller und Prozessorfamilien. Bei der automatischen Analyse des Binärcodes zieht IDA den benutzten… …   Deutsch Wikipedia

  • Disassembler — A disassembler is a computer program that translates machine language into assembly language the inverse operation to that of an assembler. A disassembler differs from a decompiler, which targets a high level language rather than an assembly… …   Wikipedia

  • Packet Assembler/Disassembler — A packet assembler/disassembler, abbreviated PAD is a communications device which provides multiple asynchronous terminal connectivity to an X.25 (packet switching) network or host computer. It collects data from a group of terminals and places… …   Wikipedia

  • Lazer's Interactive Symbolic Assembler — (Lisa) is an interactive MOS 6502 assembler for Apple II computers written by Randall Hyde in the late 1970s.The latest version of Lisa is V3.2. Syntax mistakes can be reported immediately in the edit mode. Lisa can assemble about 30,000 lines of …   Wikipedia

  • Reverse engineering — is the process of discovering the technological principles of a device, object, or system through analysis of its structure, function, and operation. It often involves taking something (e.g., a mechanical device, electronic component, software… …   Wikipedia

  • Disassemblieren — Ein Disassembler ist ein Computerprogramm, das die binär kodierte Maschinensprache eines ausführbaren Programmes in eine für Menschen lesbarere Assemblersprache umwandelt. Er ist also ein spezieller Übersetzer, der den umgekehrten Arbeitsvorgang… …   Deutsch Wikipedia

  • Disassemblierung — Ein Disassembler ist ein Computerprogramm, das die binär kodierte Maschinensprache eines ausführbaren Programmes in eine für Menschen lesbarere Assemblersprache umwandelt. Er ist also ein spezieller Übersetzer, der den umgekehrten Arbeitsvorgang… …   Deutsch Wikipedia

  • Debuggen — Ein Debugger (von engl. bug im Sinne von Programmfehler) ist ein Werkzeug zum Diagnostizieren, Auffinden und Beheben von Fehlern in Computersystemen, dabei vor allem in Programmen, aber auch in der für die Ausführung benötigten Hardware.… …   Deutsch Wikipedia

  • Debugging — Ein Debugger (von engl. bug im Sinne von Programmfehler) ist ein Werkzeug zum Diagnostizieren, Auffinden und Beheben von Fehlern in Computersystemen, dabei vor allem in Programmen, aber auch in der für die Ausführung benötigten Hardware.… …   Deutsch Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”