Aplicaciones y características de W32Dasm
W32Dasm es una herramienta de desmontaje potente y fácil de usar. Generalmente lo utilizan los programadores, pero también se puede utilizar para descifrar software, lo que lo hace ideal para los crackers. Permítanme presentarles brevemente las funciones relacionadas con el craqueo:
1.0 Inicio
2.0 Guarde el archivo de texto desensamblado y cree el archivo de programa
3.0 Los conceptos básicos del texto desensamblado operaciones de código
4.0 Copiar texto del código ensamblador
5.0 Cargar código ensamblador de 32 bits para depuración dinámica
6.0 Ejecutar, pausar o finalizar el programa
7.0 Trazador de un solo paso
8.0 Establecer puntos de interrupción activos
9.0 Dirección de compensación y traducción de direcciones virtuales
1.0 Inicio
1.1 Ejecute W32Dasm, en este caso la calculadora que viene con Windows95: calc.exe. /p>
1.1 Ejecute W32Dasm.
1.2 Seleccione la opción Desensamblador del menú Desensamblador y aparecerá el siguiente cuadro de diálogo.
1.3 Seleccione la opción Abrir Archivo en el menú Desensamblador o presione el botón de la barra de herramientas.
1.4 Simplemente seleccione el archivo que desea abrir.
Nota: Después de desmontar el archivo, si los caracteres exceden la pantalla, debe seleccionar la fuente adecuada (seleccione la fuente en las opciones de fuente) y luego configurarla como fuente predeterminada (guarde el archivo). fuente predeterminada). Por supuesto, en circunstancias normales, el valor predeterminado será suficiente.
2.0 Guarda el texto de desmontaje y crea el archivo del proyecto
Obviamente.
3.0 Operaciones básicas de desmontaje del código fuente
3.1 Ir al principio del código
Presiona en la barra de herramientas o selecciona Ir en la opción Ir del menú Inicio del código, o presione Ctrl S y el cursor irá al inicio del código. Puede cambiar la posición del cursor haciendo doble clic con el mouse o usando las teclas Mayús+cursor arriba/abajo.
Nota: El punto de partida del código es el punto de partida de las instrucciones de ensamblaje en la lista de códigos de desensamblaje, no el punto de partida del código en ejecución, que se denomina punto de entrada del programa.
3.2 Ir al punto de entrada del programa
Seleccione Ir al punto de entrada del programa desde la opción Ir en la barra de herramientas o menú, o presione F10, el cursor llegará al punto de entrada , es decir, el punto de partida de la ejecución del programa. Este es el punto de partida de la ejecución del programa y, en general, la depuración dinámica LOAD se detendrá aquí.
3.3 Saltar a la página
En la barra de herramientas, presione o la opción Ir a del menú para seleccionar Saltar a la página, o presione F11. Aparecerá un cuadro de diálogo. el número de páginas. Puede saltar a páginas relacionadas.
3.4 Ir a ubicación del código
Seleccione Ir a ubicación del código en la opción Ir a en la barra de herramientas o en el menú, o presione F12. Aparecerá un cuadro de diálogo y el usuario podrá ingresar el código. dirección de desplazamiento para saltar a esa ubicación.
3.5 Ejecutar salto de texto
Esta función se encuentra en la opción de menú Ejecutar texto. Si el cursor se coloca en una línea de instrucción de salto de código (donde la barra está resaltada en verde), se activa la función de salto de ejecución. En este momento, el botón saltar a en la barra de herramientas también está activo. Como se muestra en la figura:
Presione o la opción de menú "Ejecutar salto" o presione la tecla de cursor derecha, el cursor saltará a la posición indicada por el comando de salto. En este caso llegará a 004076CE xor eax,eax en esta línea de código:
Para volver al salto anterior, consulte 3.6.
3.6 Desde el salto anterior Volver p>
Esta función se encuentra en la opción de menú Ejecutar Texto. Este comando solo se activará después de que se complete la ejecución de la función de salto de texto. Cuando se cumple esta condición, el botón se activa. Presione o seleccione "Regresar desde el último salto" en el menú, o presione la tecla de cursor izquierda, la barra de luz volverá a la posición del último salto.
3.7 Ejecutar llamada de texto
Esta función se encuentra en la opción de menú Ejecutar texto y se activa cuando la barra luminosa está en la línea de comando CALL. En esta línea, la barra de tiempo parpadeará en verde y se activará el botón. La barra de tiempo de ejecución llegará a la dirección indicada por CALL.
La siguiente imagen muestra el haz de luz en la línea 0040751D llamando al 004073D4.
En este momento, presione o Ejecutar llamada de texto en el menú o presione la tecla de cursor derecho, el haz de luz llegará a la línea 004073D4 de la dirección indicada por CALL.
Para volver a la línea 0040751D llamando al 004073D4, consulte 3.8 Devolución de llamadas.
3.8 Regreso de la última llamada
Esta función está en la opción de menú Ejecutar texto. Este comando solo se puede ejecutar después de que se complete la función Ejecutar llamada de texto. Cuando se cumple esta condición, el botón se activa. Presione o seleccione Volver desde la última llamada en el menú o presione la tecla de cursor izquierda y la barra luminosa volverá a la posición de la última llamada.
3.9 Importar
La función principal de la opción de función del menú es ver la función de importación. Al presionar o el comando Importar en la opción de menú se enumerarán las funciones de importación para el archivo actual.
Si desea volver a la línea de salida 0040751D para llamar al 004073D4, consulte la llamada de devolución en 3.8. 5.0 Cargue código ensamblador de 32 bits para depuración dinámica
5.1 Desmonte el programa de calculadora calc.exe que viene con Windows.
5.2 Seleccione Cargar proceso en la opción de depuración del menú o presione Ctrl+L. Aparece un cuadro de diálogo de carga y puede ingresar comandos de opciones. Ahora puedes presionar el botón cargar.
W32DASM ahora está depurando dinámicamente Calc.exe y aparecerán dos ventanas de depuración a la izquierda y a la derecha (como se muestra en la siguiente figura). Después de inicializar el programa calc.exe, el comando se detendrá en el punto de entrada.
La ventana de depuración de la izquierda enumera varias máquinas de estado, como registros de CPU, registros de control de CPU, puntos de interrupción, DLL activas, registros de segmento, etc.
6.0 Ejecutar, pausar o finalizar el programa
6.1 En la ventana de depuración a la derecha, presione el botón EJECUTAR o presione F9, se ejecutará calc.exe.
Al presionar el botón PAUSA o la barra espaciadora se pausará el programa, que generalmente se usa para el seguimiento de un solo paso.
Presione el botón TERMINAR para detener el programa y salir del entorno de depuración dinámica.
7.0 Programa de seguimiento de un solo paso
7.1 Recargar calc.exe
7.2 Después de que el programa esté cargado y permanezca en el punto de entrada, presione F7 o F8 para paso único Al depurar el programa, la diferencia entre estos dos botones es que F7 sigue en CALL, mientras que F8 pasa.
7.3 Presione (F5) para ingresar a la depuración automática y presione (F6) para finalizar la depuración automática.
8.0 Establecer punto de interrupción de activación
8.1 Recargar calc.exe
8.2 En el menú de W32DASM, vaya a la opción de función ir a código, complete 403198, presione Bien, ingresará a la ventana principal de W32DASM (puede estar minimizada en este momento, simplemente restáurela), vaya a la línea de dirección 403198. La barra de luz para esta fila será de color verde brillante, presione F2 o haga clic izquierdo (mientras mantiene presionada CTRL) para establecer un punto de interrupción.
Luego, si el punto de interrupción se establece correctamente, aparecerá una pequeña barra amarilla en el lado izquierdo de la barra luminosa, que muestra el punto de interrupción de esta línea. Como se muestra en la siguiente figura:
Si el punto de interrupción no está aquí, toda la fila de barras luminosas será amarilla.
Después de establecer un punto de interrupción, la ventana del punto de interrupción en la ventana de depuración de la izquierda mostrará el estado del punto de interrupción (hay uno a la derecha):
En este momento, presione F2 o (botón izquierdo del mouse + CTRL), el punto de interrupción se cancelará.
8.3 Presione F9 en este momento, el programa se ejecutará hasta el punto de interrupción relevante y se detendrá.
9.0 Dirección de compensación y conversión de dirección virtual
Las direcciones que se muestran en W32DASM, SOFTICE y Hiew (modo de decodificación) son todas direcciones virtuales, pero en Hiew (modo de decodificación), la dirección que La tecla de función F5 que busca es una dirección de desplazamiento, por lo que la dirección virtual debe convertirse en una dirección de desplazamiento para encontrar la dirección correcta. El método común es mover la barra de luz verde a una línea de código en W32DASM. Hay una línea en la parte inferior de la ventana que muestra la dirección de compensación, como la dirección virtual: código DaTa@0040534e, y la dirección de compensación es. @Compensación 0000474Eh. Esta es la dirección de compensación.