Karpoff Spanish Tutor

Manual del IDA_Pro Parte 4


 

CRACKER: LEiRUS   FECHA: 10/10/2000

 

 INTRODUCCION

en esta ocasión, vamos a continuar con los tipos de ventana que nos presenta el ida.

 

 al atake

- segments: aquí veremos los distintos segmentos en los que está dividido el archivo a desensamblar. como siempre, podremos modificar los segmentos, borrarlos o añadir nuevos. para ello, actuaremos como lo hemos hecho anteriormente, pulsando con el botón derecho y sobre edit. de este modo, deberíamos estar viendo lo siguiente:

en, primer lugar, podremos cambiar el nombre del segmento seleccionado, por si queremos definirlo con un nombre más concreto. después, cambiaremos el tipo o clase de segmento. en el ejemplo podemos ver claramente que se trata de un código, de un conjunto de instrucciones. aunque también podremos definirlo como de datos (data). en la tercera casilla, modificaremos la dirección del segmento, que lógicamente deberá ser menor que la dirección final, que pondremos en la siguiente casilla. mas tarde, habrá dos botones "radio" para elegir si el segmento es de 16 o de 32 bits. por otra parte, en los 2 botones de la derecha, podremos modificar la combinación entre segmentos y la alineación de segmentos. así, en el primero, podremos elegir entre las siguientes opciones:

private: no se combina con ningún otro segmento de programa.
public: combine by appending at an offset that meets the alignment requirement.
stack: se combina como el public. esta combinación fuerza el alineamiento de bytes.
common: se combina en una sobrecarga usando el máximo tamaño.

el alineamiento no nos interesa por el momento, ya que ida lo cambia sólo a efectos de visualización en pantalla, no cambia nada en específico.

por último, diremos que las dos casillas de verificación que nos quedan se encargan de mover los segmentos adyacentes y de desactivar las direcciones si no son válidas al mover los segmentos. quiero decir que cuando mueves los segmentos, creamos direcciones que no son válidas, por tanto, ida las desactivará. esta casilla no tiene sentido si la primera no está activada.

ahora, y volviendo a la ventana de segmentos, insertaremos un nuevo segmento, siguiendo el procedimiento anterior, deberíamos tener lo siguiente:

como siempre, deberemos asignar un nombre al segmento nuevo señalar tanto la dirección de inicio como la final. en cuanto a la base, deberemos especificarla en parráfos. deberemos señalar también la clase o tipo de segmento. finalmente, diremos si es o no de 32 bits el segmento nuevo. en caso de no seleccionar esta casilla, ida entenderá que es de 16 bits.

finalmente, y como conclusión, podremos fijarnos como en la propia ventana de segmentos, tenemos los atributos y características de los que están dotados tanto los segmentos que hemos creado como los que ya había.

- segment registers: no es propiamente una ventana, porque no nos interesa especialmente, debido a que no presenta mayor información que la anterior.

- selectors: esta ventana es que menor información se nos presenta, ya que únicamente nos dice los selectores que usa el archivo para su base-mapping.

- cross references: he de decir primeramente que esta ventana es variable según sea la posición del cursor. en ella se nos da la referencia cruzada de una función en concreto. es decir, desde que direcciones es llamada, característica esta muy útil. sin embargo, yo recomiendo personalmente situarse sobre el principio de cada función, donde te pone la referencia cruzada (code xref), y pulsar con el botón derecho. es mucho más rápido y cómodo.

- structures: en esta ventana se nos dan todas las estructuras de datos, por lo que nos servirá de utilidad. desgraciadamente, ida no tiene (o no puede tener) esta característica demasiado desarrollada, porque la verdad, el reconocimiento de estructuras es bastante pobre. es por ello, por lo que no ahondaremos más en esta cuestión. no obstante, recomiendo que investiguéis sobre el tema, y que me mandéis la info que encontréis.

- enumerations: esta ventana pasa prácticamente lo mismo que con la anterior. la definición de enumeraciones en ida es paupérrima. en ninguno de lo archivos que he desensamblado con ida he encontrado un reconocimiento de enumeraciones por parte de ida.

- problems: nos da la lista de problemas que ha encontrado el ida a la hora de desensamblar el archivo. no es de gran utilidad, pero al menos nos sirve de algo.

- calculator: pues eso mismo. una calculadora integrada en ida que nos evaluará expresiones y las transforma en caractereres,decimal, hexadecimal, octal y binario.


bueno, ya hemos acabado con las ventanas de ida. en el próximo capítulo de este manual, empezaremos a ver las opciones de configuraciónd del ida, para que podamos ponerlo a nuestro gusto. nada más por el momento.

"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

 

 

karpoff spanish tutor: pagina dedicada a la divulgacion de informacion en castellano, sobre ingenieria inversa y programacion. email "colabora con tus proyectos"
www.000webhost.com