Los Hacks Detrás del Cracking, Parte 1: Cómo Evitar el Registro de Software
Si alguna vez se ha preguntado cómo los piratas de software pueden tomar software y descifrarlo una y otra vez, incluso con seguridad, esta pequeña serie es para usted. Incluso con los métodos más avanzados de hoy en día para derrotar la piratería en su lugar, todavía es relativamente fácil descifrar casi cualquier programa en el mundo. Esto se debe principalmente a la capacidad de los procesos informáticos de ser completamente manipulados por un depurador de ensamblado. Con esto, puede omitir completamente el proceso de registro haciendo que se salte el proceso de verificación del código de clave de la aplicación sin usar una clave válida. Esto funciona porque el ensamblaje le permite hablar directamente con el procesador y forzar un salto sobre el proceso de registro.
En este Byte Nulo, repasemos cómo podría funcionar el cracking en la práctica mirando un programa de ejemplo (un programa que no sirve para otro propósito que el de hackear). No te guiaré a través de cómo descifrar realmente un programa legítimo, porque no puedo simplemente descifrar un programa para una demostración, pero las técnicas aplicadas a mis ejemplos deberían darte la base necesaria para crear el tuyo propio. En ese momento, es una prueba de tu moral si quieres usar tu conocimiento para bien o para mal.
Requisitos
- Windows (solo para ejemplos, existen depuradores en todas las plataformas)
- Un depurador instalado: IDA, ollydbg, etc. (ollydbg se utilizará en ejemplos)
Paso 1 Pruebe el Programa
Primero, ejecute el programa que está intentando realizar ingeniería inversa e intente activarlo con una clave aleatoria para verificar que necesita una clave de software válida para continuar. Esto es para verificar que podamos encontrar las llaves.
Paso 2 Ejecute el Programa en un depurador
- Ejecute ollydbg.
- Abra el programa que desea omitir con ollydbg.
- Haga clic en el botón reproducir para ejecutar el programa con el depurador conectado.
- Haga clic con el botón derecho en la ventana de CPU y haga clic en Buscar > Todas las llamadas intermodulares.
- Buscar archivos DLL de alto interés. GETDLGITEMTEXT, será para los cuadros de diálogo, a los que se llama cuando intenta introducir una clave de software. Al entrar en la función con el depurador, podemos examinar el registro específicamente. SENDDLGITEM también se puede usar.
- Pruebe cuál funciona para salir del bucle de activación haciendo clic con el botón derecho en la llamada DLL y estableciendo un punto de interrupción para todas las instancias de esa llamada.
- Reanude el programa e introduzca la clave de software que desee. Si el depurador se interrumpe (detiene la ejecución del programa) después de ingresar su clave, entonces sabe que encontró DLL en el paso 5.
- Presione F8 de nuevo en la ventana de CPU para forzar el siguiente paso hasta que llegue al EAX de PRUEBA. EAX es la devolución de un valor, lo que significa que se está realizando una comprobación aquí. Al examinarlo, podemos ver que el EAX está comprobando un número que no es igual a un valor nulo. Esto significa que si se reemplaza con algo que no sea null, se ejecutará.
- Haga clic con el botón derecho en el EAX y cámbielo en valor hexadecimal a 1, en lugar de 0.
- Reanude el programa de nuevo y lo habrá activado correctamente.Y como prueba, estaba registrado a mi nombre.:
Esto funciona porque está haciendo que el proceso salte de un registro y se salte el que verifica la clave ingresada. Para explotar el algoritmo de registro de claves, esté atento a la segunda parte de este tutorial sobre cómo crear el generador de claves. ¡Hurra por la asamblea!
- Publicar en los foros
- Chatear en IRC
- Seguir en Twitter
- Circle en Google+
Imagen a través de msbyron27
A Través de Los Hacks Detrás de Cracking, Parte 1: Cómo Omitir el Registro de Software en null-byte.wonderhowto.com.
Leer más posts en WonderHowTo »