TORN@DO presents: cRACKER's n0TES

Tips & Trucos para crackear Límites de Runtime



Número limitado de Ejecuciones (adynts)
Si un programa tiene un número limitado de ejecuciones, sabremos que allí tiene un contador. Supongamos que este contador se disminuye cada vez. Debe haber un DEC cada vez que usas el programa, así que DEC deberá aparecer a menudo. Normalmente tienes un programa 32-Bit, así que investiguemos en el listado de ensamblador para "dec dword ptr" con grep(*). Usar grep es importante aquí porque te permite ver los sucesos múltiples en la misma situación.
(*n.del t.:Comando de UNIX, para buscar racimos de texto especifico en un archivo.)




Crackear Límites de Runtime (CrackZ)


Digamos que restringimos un programa a un uso limitado (e.j. 25 usos) antes de que el programa se 'desactive' . Así que lancemos el programa y observa la caja de diálogo que educadamente te informa de cuántas veces has ejecutado el programa, sólo relanza el programa unas cuantas veces más para tener una percepción de lo que está pasando.

Aproximación zen aquí (como con los ensayos de tiempo) siente cómo este código podría llevarse a cabo (e j. 19h = 25 dec). Quizá husmea con el editor HEX para algunos probables bytes - sin embargo un desensamblaje probablemente será tu mejor acercamiento ( espero que recordaras el texto en esa caja de diálogo). Debes localizar fácilmente algo así dentro de W32DASM:

   CMP BYTE PTR [004628D4],00              <--Comprueba la 1ª vez que el programa es ejecutado  
    JZ 0045B7D9                                       <--Salta la 1ª vez ejecutada   
    CMP DWORD PTR [004628D8],1A        <--Comprueba las veces ejecutadas (1A = 26dec)   
    JGE 0045B72A                                     <--Salta si eres un chico malo
 

En este esquema debes ver fácilmente nuestros 2 flags importantes, 004628D4 decide si esta es la primera ejecución del programa, donde el número de veces que el programa se ha ejecutado se marcará como 004628D8.

Nota que el programa compara el número de veces ejecutadas con 26 en decimal, un truco menor para engañar nuestra búsqueda HEX.
Debes poder ver muchas maneras de anular este esquema, podrías conformarte, por ejemplo, con aumentar 1A (26) digamos a FF (255), esto es un cambio bastante débil pero puede ayudarte totalmente a evaluar el programa, o puedes "NOPear" el JGE 0045B72A, eso anularía el control de 26 veces de ejecución completamente, o quizá podrías forzar el JZ 0045B7D9 a un JMP.




¡Haz el parche que mejor te sirva!





La mayoría de los esquemas de limite de 'runtime' son similares en funcionamiento a este y son contadores de situación normalmente bastante débiles
(aunque a veces los programas pueden incrementar un contador escondido dentro del archivo del programa o en una DLL), debes prestar particular atención a direcciones que se usan como flags y a como éstas puede ser potencialmente malévolas y debes de estar muy seguro de verificar que eso no sea una dirección espejo que verifica el mismo flag.










 


 
The cRACKER's n0tES esta dividido dentro de 12 partes principales:
 TX. Notas del Traductor
 00. INDICE
 01. Ensamblador para Cracker (CoRN2)
 02. SoftICE (Menú de arranque , Configuración, Comandos)
       
 1 Menú de arranque
       
 2 Configuración
       
 3 Comandos
 03. Breakpoints & Detalles de API de Windows
       
 1 Programas restringidos
       
 2 Cajas de diálogo
       
 3 Verificando el Tipo de unidad
       
 4 Acceso a archivos
       
 5 Acceso al Registro
       
 6 Cogiendo números de serie
       
 7 Accediendo a Tiempo & Fecha
       
 8 Generando ventanas
 04. Instrucciones de salto
 05. Instrucciones SET
 06. Tips & Trucos para Crackear
       
 1 Programas restringidos
       
 2 Dongles
       
 3 General
       
 4 Configuración de InstallSHIELD
       
 5 Protecciones con Archivo llave
       
 6 Pantallas molestas
       
 7 Límites de Runtime
       
 8 Serials
       
 9 Limites de Tiempo
       
10 Programas Visual BASIC
 07. Ventanas de Mensajes Para los Cracker
 08. Identificando funciones, Argumentos, y Variables (Rhayader)
 09. Los Sistemas de Protecciones de comerciales
       
 1 Armadillo
       
 2 C-Dilla SafeDISC
       
 3 SalesAgent
       
 4 SecuROM
       
 5 softSENTRY
       
 6 TimeLOCK
       
 7 VBox
 10. Bitmanipulation (Cruehead)
 11. Teoría general de Cracking
 12. FAQ

 +A. Cómo contactar conmigo
 +B. ¿Que es lo Nuevo?


 



The cRACKER's n0TES are Copyright 1998-2000 by TORN@DO of ID.
Todo los Derechos Reservados.
Traducido por
Revisado por X-Grimator.