¿Alguna vez quisiste aprender cómo un programa se protege de ser copiado? Con las herramientas adecuadas, puede examinar el funcionamiento interno de un programa y observar cómo funciona la protección contra copia. Con el lenguaje ensamblador, incluso puede cambiar estos programas para que nunca tengan que registrarse o comprarse. Hacerlo requiere crackear el software al modificar los archivos DLL.

Pasos

  1. 1 Aprenda la programación de la Asamblea. Para descifrar la mayoría del software, deberá tener una buena comprensión del ensamblado, que es un lenguaje de programación de bajo nivel. El ensamblado se deriva del lenguaje de máquina, y cada lenguaje ensamblador es específico para el tipo de computadora que está utilizando. La mayoría del lenguaje ensamblador se expresa a través de binario y hexadecimal.
  2. 2 Reúna sus herramientas. Para examinar y modificar archivos DLL, necesitará varias herramientas diferentes. W32DASM es un desensamblador de software que le permite separar programas. SoftIce es una herramienta de depuración de Windows. También querrá un buen editor de texto de codificación, como UltraEdit o Notepad ++.
  3. 3 Inicie el programa que desea crackear con W32DASM. Esto le mostrará qué archivos DLL están siendo cargados por el programa. Use W32DASM para examinar a qué funciones se llama desde la DLL.
  4. 4 Encuentra la función de contador. Muchos programas usan un temporizador para la protección contra copia, y cuando el temporizador se agota, el usuario ya no puede acceder al programa. El objetivo es encontrar este código de contador y luego omitirlo.
    • Si el programa que está crackeando utiliza una forma diferente de protección, deberá buscarlo en su lugar.
  5. 5 Establezca un punto de quiebre en el mostrador. Una vez que haya aislado la función del contador, configure SoftIce para romper cuando se encuentre. Esto le permitirá ver el código exacto que se está produciendo cuando se llama a la función contador.
  6. 6 Cambia el código del contador. Ahora que ha encontrado el código para la función de contador, puede cambiar el código para que el contador nunca llegue al punto en que lo cierre del programa. Por ejemplo, puede hacer que el contador no pueda contar hasta el límite de salto o puede omitir el contador saltando sobre él.