MANUAL
DEL IDA pro (2)
(por
LEiRUS, miembro de K-FoR)
En el anterior capítulo nos quedamos viendo la ventana de carga de fichero. Bueno, realmente cargamos el fichero y dejamos a IDA que lo desensamblase en toda su plenitud. Pero como os decía, ahora viene lo bueno.
5.- La ventana Principal
Pues ahora tendríamos que tener abierta la ventana del IDA. Veríamos algo similar a esto:
Ufff !!. En esta ventana hay realmente mucha información. Pues si, el IDA no es un programa cualquiera. Recordad que se trata del DESENSAMBLADOR por excelencia. Aunque después veremos que no es tan potente como pensábamos y que para otro tipo de tareas nos viene mejor el W32Dasm. Pero eso es algo que no viene al caso. Vayamos directamente a explicar cada una de las partes de que consta la ventana Principal del IDA:
- Menú:
Es de suponer que sabeis para que sirve esto. No obstante, os digo que en
el Menu aparecen TODOS
los comandos que es capaz de ejecutar IDA.
Se utiliza para un acceso organizado. En File,
podremos realizar nuevas cargas de ficheros, añadir DLL's
al desensamblado actual, ejecutar ficheros IDC
(que veremos para que sirven) y en general para todas las tareas de manejor
de ficheros. En Edit, lo utilizaremos
mucho, porque nos permite editar funciones, estructuras de datos, parchear
el programa, insertar comentarios, cambiar el tipo de presentación
de datos, ejecutar plugins, etc. El menu Jump
sirve para eso mismo, para saltar entre porciones de código, permitiéndonos
saltar por direcciones, funciones, nombres, referencias cruzadas, segmentos,
nombres, etc. También sirve para marcar posiciones del código
y referenciarlas con un nombre descriptivo, con el fin de facilitarnos la
navegación por el código. En Search
podremos buscar cadenas de texto, secuencias de bytes y funciones. En View,
tendremos una multitud de comandos que básicamente sirven para mostrarnos
las diferentes ventanas de que consta el IDA.
Lo explicaremos detalladamente en capítulos posteriores. En Options
configuraremos el IDA
a nuestro gusto, con el fin de que nos presente los datos como nos plazca.
Los menús Windows y Help
supongo que sabréis para que sirve, así que no explicaré
nada más.
- Barra de Herramientas:
La barra de herramientas no es ni más ni menos que una forma rápida
de acceder a los comandos sin tener que utilizar los menús, que no
son tan visuales. Tiene la misma jerarquía, por lo que no detallaremos
los comandos aquí. Cabe destacar que el último botón
de la barra, tiene un icono variable, que cambiará en función
de lo que esté haciendo IDA.
Estará verde cuando esté disponible y listo el desensamblado
final y estará en amarillo cuando esté "pensando",
es decir, cuando esté procesando las instrucciones necesarias para
el desensamblado. Cuando esté en este estado, podremos pausar el
"pensamiento" del IDA,
es decir, el proceso del desensamblado actual.
- Ventana de Desensamblado:
En la ventana del desensamblado se nos presenta el código del programa
en ensamblador, como es lógico. Tiene la forma de una hoja de cálculo,
de modo que cuando queramos, podemos si queremos añadir una nueva
hoja, de modo que podemos tener varias hojas del mismo archivo en distintas
posicions. Para ello, pulsaremos F3
o en View -> Disasembly. En esta
ventana, pulsando con el botón derecho del ratón, podremos
acceder a distintos comandos en función de la parte sobre la que
pulsemos. Por ejemplo, si pulsamos sobre cualquier dirección del
programa, podremos marcarla; si pulsamos sobre los datos, se nos presentan
varias formas de expresión, etc. Pulsando con el mismo botón
sobre la parte azul, podremos insertar comentarios para clarificar aún
más el desensamblado.
- Ventana de Mensajes:
Esta otra ventana es tremendamente importante, pues es el único instrumento
que tiene el IDA
para comunicarse con nosotros. En esta ventana, nos mostrará los
mensajes de error si los hubiera, las tareas que está ejecutando,
nos muestra como terminan esas tareas, etc. En definitiva nos muestra los
resultados de los datos que les pasamos.
- Barra de Estado:
En esta otra barra se nos mostrará información adicional tales
como el estado del Analisis del fichero (AU: idle), mas tarde trataremos
los distintos estados; la dirección de búsqueda (Up, arriba);
el espacio en disco que quedaría con la base de datos guardado, es
decir, el espacio que nos quedará cuando guardemos el archivo ya
desensamblado; la posición actual del archivo de entrada y finalmente
la posición del actual del cursor expresada en direcciones del programa.
Es curioso constatar que se nos muestra el nombre de la función (en
el caso de que la tuviera) más su longitud en bytes con respecto
a la distancia de la misma (en el caso de que nos desplazáramos por
el código de la función).
Nada más por hoy. Hemos hecho una aproximación general a la estructura que tiene el IDA y una visión muy general de los comandos que nos deja ejecutar el IDA. En el próximo capítulo haremos un acercamiento mucho más profundo y empezaremos a ver los comandos más importantes. Pero por el momento basta.
"AHORA
SÉ PORQUÉ LLORÁIS LOS HUMANOS, PERO ES ALGO QUE YO
NUNCA PODRÉ HACER"
Terminator 2: El Juicio Final.
http://go.to/leirus
- leirus@telepolis.com
http://pagina.de/kfor -
kfor@telepolis.com