conociendo X64DBG

Configuraciones:

1. La configuración.
La configuración de x64dbg es bastante simple ya que el menú es mucho más conciso que ollydbg, lo que hace que el proceso sea mucho más fácil de usar. Para acceder al cuadro de diálogo de configuración, simplemente vaya al menú Opciones y haga clic en Preferencias. En la primera pestaña etiquetada Eventos, puede configurar los eventos que desea que x64_dbg rompa cuando ocurran.


para que sirven cada unas de esas opciones ..............................................................................
La configuración en la captura de pantalla anterior es lo que normalmente recomiendo y uso para la depuración simple. Las opciones aquí son como las que se encuentran en ollydbg 1.10 con algunas características adicionales. Aquí está la esencia de lo que hacen estas características.

Punto de interrupción del sistema: cuando se carga un nuevo proceso, provocará que x64dbg se rompa en la función del sistema que inicia la aplicación que está intentando depurar.

Devolución de llamada TLS: la devolución de llamada TLS es una función a la que se llama antes de que se ejecute la aplicación principal. Esto puede establecer parámetros o incluso ser utilizado por ciertos protectores para implementar tecnología anti-depuración. Esto le permite interrumpir esta función.

Punto de interrupción de entrada: Esto hace que x64dbg se rompa en el punto de entrada en la aplicación. Para la depuración general, este es el único punto de interrupción que deberá verificar.

Entrada de DLL: Esto se romperá en el punto de entrada de cualquier archivo DLL que se carga por el proceso que está depurando.

Entrada de subprocesos: Esto se romperá en la primera instrucción de cualquier subproceso nuevo inicializado por el proceso actual.

Adjuntar punto de interrupción: cuando se marca esta opción, hará que x64dbg se rompa en la función DbgUiRemoteBreakin cuando se conecte a un proceso activo. Si no se selecciona, se adjuntará sin suspender el proceso.

Carga de DLL / Descarga de DLL: Esto interrumpirá la función del sistema cuando se carga o descarga una nueva biblioteca (DLL) desde el proceso activo. El punto de interrupción de Carga de DLL ocurre antes de que se ejecute cualquiera de sus códigos.

Thread Start / Thread End: Esto nos permite interrumpir el sistema cuando nuestra aplicación depurada inicializa o termina un hilo.


esta es la configuración que debemos tener.


2)


En el panel Motor, encontrará algunas configuraciones avanzadas para el motor de depuración. Esto debería dejarse como predeterminado en la mayoría de los casos, pero aquí hay un resumen de cómo funcionan.

Habilitar privilegio de depuración: esto le permite conectarse a los procesos del sistema.

Tipo de punto de interrupción: Esta característica le permite probar diferentes tipos de puntos de interrupción si su programa detecta o bloquea la INT3 predeterminada.

Descodificar nombres de símbolos: Esto hace que los nombres de los símbolos se vean más limpios. Es una característica estética.

3)



En el panel Excepciones, puede indicar a x64_dbg qué excepciones desea ignorar y pasar al programa. Dejar esto en blanco permitirá que x64_dbg se rompa en cada excepción. Si desea ignorar todas las excepciones, agregue el rango 0-ffffffff usando el botón Agregar rango. El botón Agregar último le permitirá agregar la excepción más reciente que el programa que está depurando actualmente incurrió en la lista de ignorar.

4)


Podemos usar el panel Disasm para cambiar la apariencia de las instrucciones desmontadas. Aquí hay una esencia de lo que hacen estas opciones.

Argument Spaces: Esto colocará un espacio después de cada argumento cambiando mov rax, rdx a mov rax, rdx. Básicamente pone un espacio después de cada coma.

Espacios de memoria: esto coloca un espacio entre las instrucciones de referencia de memoria y sus operadores. Esto causa mov eax, byte ptr ds: [edx + 18] para parecerse a mov eax, byte ptr ds: [edx + 18].

Mayúsculas: Esto cambia todo el texto a mayúsculas.

Auto comentarios solo en CIP: esto eliminará todos los comentarios, incluidas las referencias del desmontaje actual excepto en el puntero de instrucción.

(pero eso esta a opción de ustedes probar que hace cada una en que cambia y adaptar a su gusto y preferencia )


5)



La pestaña Misc le permite configurar x64_dbg para que sea el Just on Time Debugger para que el sistema pueda adjuntarlo a un proceso cada vez que ocurra un problema.


6)


En el menú de depuración, puede ver que x64_dbg tiene los mismos atajos de teclado que Ollydbg. Estos comandos proporcionan algunas de las operaciones clave que deberá usar en sus actividades de depuración habituales.

Ejecutar (F9): Esto inicia o reanuda el proceso normalmente.

Ejecutar (saltear excepciones) (Shift + f9): Esto reanudará el proceso al pasar las excepciones actuales y todas las siguientes al proceso.

Pausa (F12): esto suspende el proceso actual.

Reiniciar (Ctrl + F2): Esto finaliza el proceso depurado y lo vuelve a cargar.

Cerrar (Alt + F4): Esto finaliza y descarga el proceso depurado.

Paso a paso (F7): Esto nos permite ingresar una rutina o ejecutar el siguiente paso en una instrucción de repetición.

Paso a paso (saltear excepciones) (Shift + F7): Esto nos permite ingresar una rutina o ejecutar el siguiente paso en una instrucción de repetición al pasar la excepción actual a la aplicación.

Paso a paso (F8): Esto le permite ejecutar una subrutina completa o repetir la instrucción sin pasar por la instrucción por instrucción.

Paso a paso (saltear excepciones) (Shift + F8): Esto le permite ejecutar una subrutina completa o repetir las instrucciones sin pasar por las instrucciones por instrucción mientras pasa la excepción actual a la aplicación.

Ejecutar hasta volver (Ctrl + F9): Esto reanuda el proceso hasta que se ejecuta una instrucción de retorno.

Ejecutar hasta volver (omitir excepciones) (Ctrl + Shift + F9): Esto reanuda el proceso hasta que se ejecuta una instrucción de retorno mientras pasa la excepción actual a la aplicación.

Puntos de corte:
Cuando está depurando, una de las características principales que desea utilizar se llama puntos de interrupción. Hay 3 tipos principales de puntos de corte:

Punto de interrupción de ejecución: este es el tipo de punto de corte más común y más utilizado. Cuando alternas un punto de interrupción en una dirección específica, le indica al depurador que se detenga cuando se alcanza esa dirección en la ejecución. Para usar esto, simplemente presione F2 cuando esté sobre una dirección que desea romper.

Punto de interrupción de memoria: un punto de interrupción de memoria se utiliza para pausar una aplicación cuando se accede, escribe o ejecuta un área de memoria específica. Esto es útil cuando desea determinar cuándo o si el programa utiliza un área de memoria específica. Esto está disponible en el menú contextual de la ventana del mapa de memoria y el panel de volcado.

Punto de interrupción del hardware: un punto de interrupción del hardware se utiliza para pausar una aplicación cuando una dirección particular se escribe, lee o ejecuta. Esto es especialmente útil para determinar cuándo se establece una variable en particular. Esto se puede usar para las lecturas y escrituras de byte, word y dword. Esta función está disponible en el menú contextual del volcado hexadecimal.


OPCIONES:

1)Thread:



Una vez que llegamos al hilo principal, podemos comenzar a recorrer las rutinas y analizar la pila de llamadas.

2)call stack:



 La ventana Pila de llamadas le brinda una lista extensa de las funciones y procedimientos (rutinas) que lo llevaron a su ubicación actual. Puede usar esta ventana para analizar estas rutinas y conocer la rutina de ejecución de su aplicación. Simplemente haga doble clic en el que le gustaría seguir en el desensamblado.

3) memory map:




El panel Mapa de memoria nos mostrará todas las secciones o regiones de RAM asignadas a nuestra aplicación y sus dependencias y por medio de esta.

2)OPCIONES:

tenemos las opciones de buscar cadenas, presionas clic derecho y te saldrá un menú:




breakpoint: se pueden hacer dando doble clic a una cadena o pulsando F2 y en el menú esta la opción de ver cuantos tenemos ( los breackpoint son punto de interrupciones  para parar procesos y inspeccionar variables) mas adelante entraremos a fondo con lo que es y aplicaremos como se aplica.

se marca en Rojo cuando colocamos un y si vamos a la opción en el menú se vería de esta forma:


donde si en algún momento queremos regresar a alguno podemos hacerlo desde el menú. 


mas adelante continuaremos explicando funciones :) a medida que se vayan haciendo las entradas  y  resolviendo retos veremos mas funciones útiles de este debbuger .

Usando nuestras mentes y tomando este enfoque simple, hemos encontrado la contraseña.

 Esta es una herramienta de ingeniería inversa muy poderosa que ofrece una amplia gama de características y flexibilidad para llevar a cabo incluso las tareas más difíciles...

apariencia: podemos personalizarlo y ponerlo de una manera mas atractivas con diferentes colores como poner un fondo negro y letras de colores y jugar con los colores o bajar un tema directo:
le damos a opciones y seleccionamos:


y ahi podemos jugar con los colores y cambiarlos y variarlos .


podemos tener algo así o ponerlo del color que quieran o buscar temas hecho :) ese fue hecho por mi y pueden  probar de todo.

así que animo a explorar las opciones y a configurar y a entrar a menú y a todo lo que veas que tienen y a identificar para que sirve cada cosa curioseando es que se aprende .



si quieren descargar solo deben seleccionar un snapshot  >>> DESCARGAR
>>>>>>>>>>fuentes   

pueden visitar la :>>>>  wiki

para mas información el canal de telegram canal







Comentarios

Entradas populares