TORN@DO presents: cRACKER's n0TES

Tips & Trucos para crackear NAG Screens



Removiendo Anuncios de Aureate Media (+Tsehp)
Cuando lanzas un programa que te muestra un banner cambiando cada 3 segundos, es bastante molesto... apenas puedes dejar de mirar ese banner. Primero yo me pregunto: �Cu�l podr�a ser la LLAMADA para desplegar esto?

�CreateBitmap? �DrawIcon? �FillRect?

Ninguno de estos... esto no funciona con un solo BPX en SoftICE. As� que yo intent� en SoftICE HWND binboy y ves la ventana oculta: ADVERT.DLL ...

No tienes que mirar ninguno m�s: Dispara Win32Dasm en ADVERT.DLL localizado en Windows\System o WinNT\System32 y mira las funciones exportadas... ver�s _paint, mira la direcci�n y pon un BPX en esta direcci�n con SoftICE.

�Y funciona! Cada vez que el banner cambia el programa Llama a esta funci�n exportada en ADVERT.DLL... rastrea esta funci�n dentro de ADVERT.DLL e inspecciona el banner, llegar�s aqu�:


* Reference To: GDI32.StretchDIBits, Ord:0000h

   |
:XXXX (depende de tu memoria)
:XXXX E871750400 Call 0045DD24
:XXXX 85C0 test eax, eax
:XXXX 0F95C2 setne dl


Aqu� est� la documentaci�n de esta funci�n:

La funci�n StretchDIBits copia los datos de color para un rect�ngulo de puntos en un mapa de bits independiente del dispositivo (DIB) al rect�ngulo del destino especificado. Si el rect�ngulo del destino es m�s grande que el rect�ngulo de la fuente, esta funci�n estira las filas y columnas de datos de color para encajar el rect�ngulo del destino. Si el rect�ngulo del destino es menor que el rect�ngulo de la fuente, esta funci�n comprime las filas y columnas usando el funcionamiento de la trama especificado.


int StretchDIBits( 
HDC hdc, 		  // manipulador de contexto del dispositivo 
int XDest, 		  // coordenada X de la esquina superior-izquierda del rect. dest. 
int YDest, 		  // coordenada Y de la esquina superior-izquierda del rect. dest. 
int nDestWidth, 	 	  // anchura del rect�ngulo de destino 
int nDestHeight, 	    	  // altura del rect�ngulo de destino 
int XSrc, 		  	  // coordenada X de esquina superior-izquierda de rect de la fuente. 
int YSrc, 		  	  // coordenada Y de esquina superior-izquierda de rect de la fuente. 
int nSrcWidth,	      	  // anchura de rect�ngulo de la fuente 
int nSrcHeight, 	   	  // altura de rect�ngulo de la fuente 
CONST VOID *lpBits,      	  // direcci�n bits del mapa de bits 
CONST BITMAPINFO *lpBitsInfo,   // direcci�n de datos del mapa de bits 
UINT iUsage, 		  // uso 
DWORD dwRop 		  // c�digo de funcionamiento de trama 
); 

As� que tu tienes la elecci�n: simplemente "NOPea" la LLAMADA a esta funci�n o cambia los par�metros y mostrar� cualquier cosa que tu quieras. Bien, yo lo "nope�" y no muestra nada.





Crackeando NAG Screen (josephCo)


Esto puede parecer tambi�n confuso... pero de nuevo, juega alrededor de ello. Te acostumbrar�s a usarlo. Cuando una NAG Screen aparece, entra en SoftICE y teclea:

     HWND

Debes ver algo similar a:

Window-Handle hQueue SZ QOwner Class-Name Window-Procedure
0080 (0) 2057 32 MSGSVR32 #32711 (switch_win) 17EF:00004B6E
0084 (1) 2057 32 EXPLORER shell_trayWnd 1487:0000016C
... ... ... ... ... ...


Lo que necesitas hacer es desplazar hacia abajo la lista de manipuladores, y mirar el QOWNER. Encuentra el manipulador de un proceso que pertenezca a tu programa, y si tu NAG Screen tiene un bot�n de OK, busca un BUTTON bajo el class name. Si tu NAG Screen no tiene uno, entonces cualquier cosa que tenga BUTTON despu�s de �l, no ser� el manipulador que quieres romper. Esto ser� ensayo/ error hasta que consigas el que quieres (explicado un poco). La lista de manipuladores probablemente ser� bastante larga, pero normalmente el NAG Screen est� entre los primeros que pertenecen a tu programa.

TORN@DO's Tip
Recomiendo altamente usar una herramienta como SMU Winspector para crackear NAGs. Te ahorrar� la cosa del ensayo / error, de modo que aliviar� tu trabajo, que siempre es bueno.

SMU Winspector y otras herramientas de ese tipo muestran toda la informaci�n que necesitas, Window-Handle, Window-Class Name, Window-Text, Parent Window-Handle, Parent-Window Class Name, Parent Window-Text, Module ...



Una vez pienses que has encontrado el manipulador de la NAG screen, querr�s usar el comando BMSG. Si quieres ver el par�metro exacto que lo permite, mientras est�s en SoftICE, teclea:

     HELP BMSG

OK, ahora a nuestro ejemplo. Sup�n que tu NAG tiene un bot�n de OK despu�s del manipulador que quieres romper (m�s f�cil de encontrar), y piensas que has encontrado el manipulador apropiado. Tendr�s que teclear:

     BMSG 0084 WM_DESTROY

Donde 0084 es el manipulador de tu NAG Screen. Lo que esto hace b�sicamente, es decir a SoftICE que rompa despu�s de que el NAG Screen se ha borrado de la pantalla. Estar�s muy dentro de alg�n API desconocido, as� que tendr�s a F12 (P RET) el cual pondr� la Pausa en RETorno atr�s al c�digo de tu programa. A estas alturas quieres encontrar donde el NAG inicial fue creado (pon BPX en la mayor�a de las Llamadas que llegan de fuera). El NAG Screen probablemente ser� creada/destruida en la misma LLAMADA, as� que si encuentras la correcta, haz cualquier cosa que necesites hacer.





Splash Screens (Predator NLS)


La manera m�s r�pida de crackear NAG Screens es usar un Editor Hex y tus ojos. Arranca tu programa y espera hasta que la NAG Screen aparezca. Ahora anota la captaci�n de la ventana y las primeras palabras del mensaje de di�logo. Entonces abre tu EXE (o DLL) y busca el string anotado. Si lo encontraste, te desplazas hacia arriba y buscas los 4 bytes FF FF FF 80... y si estuvieran ah� reemplaza el 80h por 90h. Despu�s de este parcheado, arranca tu programa y nunca ver�s de nuevo el NAG.

A veces es necesario apretar un bot�n para continuar. �En esto casos a menudo, debes usar un debugger!




 

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.