¿Alguna vez ha querido aprender cómo un programa se protege a sí mismo de ser copiado? Con las herramientas adecuadas, puede examinar el funcionamiento interno de un programa y experimentar con ingeniería inversa. Necesitará tener un conocimiento firme de la programación de ensamblaje y el código hexadecimal para comenzar, y una aplicación de desensamblador. Una vez que esté familiarizado con el código, puede modificar las DLL para que sus programas correspondientes nunca tengan que registrarse o comprarse.
Pasos
Paso 1. Aprenda la programación de ensamblajes y la manipulación de códigos hexadecimales
Si desea descifrar la mayoría del software, deberá tener un buen conocimiento del ensamblaje, que es un lenguaje de programación de bajo nivel. El ensamblaje se deriva del lenguaje de máquina y cada lenguaje ensamblador es específico del tipo de computadora que está utilizando. La mayor parte del lenguaje ensamblador se expresa mediante binario y hexadecimal.
Paso 2. Instale un desensamblador
Para examinar y modificar archivos DLL, necesitará varias herramientas diferentes, incluido un desensamblador. IDA Pro es una gran opción, ya que es un desensamblador y depurador. Afortunadamente, hay una versión gratuita disponible en https://www.hex-rays.com/products/ida/support/download_freeware, aunque tiene una funcionalidad mucho más limitada que la versión Pro. También puede probar dotPeek, que es un descompilador compatible con DLL que descompila el código ensamblador. NET en C #. Otra opción es OllyDBG, que te permite abrir archivos DLL de forma gratuita.
Paso 3. Abra la aplicación que desea descifrar en su desensamblador
El proceso es un poco diferente según el desensamblador que esté utilizando. Esto le mostrará qué archivos DLL está cargando el programa. Utilice el depurador para examinar qué funciones se están llamando desde la DLL.
Paso 4. Encuentra la función de contador
Muchos programas utilizan un temporizador para la protección contra copias, y cuando se agota el temporizador, 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á descifrando utiliza una forma diferente de protección, deberá buscarla en su lugar
Paso 5. Establezca un punto de quiebre en el mostrador
Una vez que haya aislado la función de contador, configure su desensamblador para que se rompa cuando se encuentre. Esto le permitirá ver el código exacto que ocurre cuando se llama a la función de contador.
Paso 6. Cambie el código del contador
Ahora que ha encontrado el código para la función del contador, puede cambiar el código para que el contador nunca llegue al punto en el que lo excluya del programa. Por ejemplo, puede hacer que el contador no pueda contar hasta el límite de ruptura o puede evitar el contador saltando por encima de él '.
Paso 7. Vuelva a compilar su software recién descifrado
Después de desensamblar y editar, deberá compilar la nueva versión del programa para que sus cambios se propaguen a los archivos DLL y otras dependencias.
Advertencias
- La piratería de software es ilegal, así que hágalo bajo su propio riesgo.
- Es ilegal descifrar la mayoría del software.