conociendo el debugger y sus funciones
partes del debugger
Desensamblado :
listado desensamblado de un programa donde contiene el análisis del programa cuenta con 4 columnas que dan información del programa que estemos analizando.
2) hex dump :
muestra los bits que hay en la instrucción que hay en la columna disassembly .
direccion: 00401000
hex dump : 6A 00
desensamblado: push 0x0
comentario : ENTRYPOIN
Registros:
son contenedores de datos donde se guardan los valores y podemos consultar un valor unico :
EAX ((Extended Accumulator Register); almacena el valor de retorno de una función , se usa como contenedor, es un registro volatir ya que su valor no es almacenado aunque establezca el valor de una función.
EBX (Extended base register) : se utiliza para acelerar el calculo de las operaciones.
ECX(extended counter register): contador volatir se usa para contador de bucle o contenedor de parámetros que se pases a funciones .
EDX (extended data register): registro volatir usado como parámetro de funciones se usa para almacenar parámetros a corto plazo dentro de una función.
ESI:( extended source index) : registro no volatir usado mayormente como puntero , usando para funciones que llevan origen y destino para los datos apuntando siempre al origen .
EDI: (extended destination index ): es no volatir al igual que ESI solo que este apunta siempre al destino .
EBP: (extended base pointer): registro no volatir , puede ser un registro o puede ser el puntero al marco de pila .
ESP: ( extended stak pointer) : almacena puntero en la parte inferior de la pila tras ejecutar una funcion al valor que tenia el registro .
EIP (Extended Instruction Pointer): Contiene la direccion de memoria donde empieza la próxima instrucción a ejecutar, a no ser que se produzca un salto o una llamada a subrutina (función).
Desensamblado :
listado desensamblado de un programa donde contiene el análisis del programa cuenta con 4 columnas que dan información del programa que estemos analizando.
1) adress ( direccion) :
muestra la dirección donde se ejecutara el código2) hex dump :
muestra los bits que hay en la instrucción que hay en la columna disassembly .
3) disassembly:
indica el desensamblado del programa .
4) comentarios(comment)t: nos muestra comentarios propios , cadenas de texto , direcciones , datos almacenados , instrucciones detalles de donde estemos. nosotros también podemos agregar comentarios a una dirección.
ejemplo de como leer el desensamblado:
tomamos la primera linea
hex dump : 6A 00
desensamblado: push 0x0
comentario : ENTRYPOIN
Registros:
son contenedores de datos donde se guardan los valores y podemos consultar un valor unico :
EAX ((Extended Accumulator Register); almacena el valor de retorno de una función , se usa como contenedor, es un registro volatir ya que su valor no es almacenado aunque establezca el valor de una función.
EBX (Extended base register) : se utiliza para acelerar el calculo de las operaciones.
ECX(extended counter register): contador volatir se usa para contador de bucle o contenedor de parámetros que se pases a funciones .
EDX (extended data register): registro volatir usado como parámetro de funciones se usa para almacenar parámetros a corto plazo dentro de una función.
ESI:( extended source index) : registro no volatir usado mayormente como puntero , usando para funciones que llevan origen y destino para los datos apuntando siempre al origen .
EDI: (extended destination index ): es no volatir al igual que ESI solo que este apunta siempre al destino .
EBP: (extended base pointer): registro no volatir , puede ser un registro o puede ser el puntero al marco de pila .
ESP: ( extended stak pointer) : almacena puntero en la parte inferior de la pila tras ejecutar una funcion al valor que tenia el registro .
EIP (Extended Instruction Pointer): Contiene la direccion de memoria donde empieza la próxima instrucción a ejecutar, a no ser que se produzca un salto o una llamada a subrutina (función).
- división de los registros:
- 8 registros de 32 bits: EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP EIP
- 8 registros de 16 bits: AX, BX, CX, DX, SI, DI, BP, SP, IP
- 8 registros de 8 bits: AH, AL, BH, BL, CH, CL, DH, DL
- mas adelante estaremos explicando sobre los registros de 16 y 8 bits y estaremos dando ejemplos aplicado de el cambio que hacen y los valores que se registran mientras analizamos un programa.
FLAGS (banderas) : son bits que nos indica el estado de algo en arquitecturas de 32 bits tenemos 32 banderas en total . ( mas adelante estaremos detallando los tipos de flags ).
PILA O STACK: es la zona de la memoria donde se almacenan los datos que mas adelante recuperaremos .
DUMP:
nos muestra la visualización hexadecimal de 8 columnas o bytes
- mas adelante les mostrare como se modifican los valores y como ver los volcados y para que sirve cada una de esas funciones a medida que se vayan desarrollando los ejemplos ...
pueden ingresar al canal de telegram de ingenieria inversa donde podran estar pendiente a los hangouths .
Comentarios
Publicar un comentario