|
|
 |
ESTUDIO COLECTIVO DE DESPROTECCIONES
Última Actualizacion:
25/10/2001
|
 |
|
Programa |
Ultraedit v6.10a |
W95 / W98 / NT |
Descripción |
Excelente editor Hexadecimal |
Tipo |
Shareware |
Tipo de Tutorial |
[X]Original, []Adaptación, []Aplicación, []Traducción |
Url |
http://www.ultraedit.com |
Protección |
Nag Screen que nos pide el Numero de Serie. Time Limit 45 Dias |
Dificultad |
1) Principiante, 2) Amateur, 3) Aficionado, 4) Profesional, 5) Especialista |
Herramientas |
SoftIce v3.24, W32dasm v8.9, UltraEdit v5.0a |
Objetivo |
Simular estar registrados. |
Cracker |
Mr.WhiTe [WkT!] |
Grupo |
Whiskey Kon Tekila |
Fecha |
15 de Julio de 1999 |
INTRODUCCION
|
El programa no tiene limitaciones por no estar registrado, pero aparece una nag-screen cada vez que se
arranca el programa. Hay una opción para registrarse, introduciendo el nombre y la clave.
El objetivo será simular que nuestro fake serial es un número de serie correcto.
|
AL ATAQUE
|
Lo primero es ver cómo reacciona el programa al intentar registrarnos.
Ponemos un nombre, y clave cualquiera, y nos aparece un mensaje que nos dice algo asi
"UltraEdit will need to be restarted in order to validate the code".
Total, que salimos del UltraEdit y volvemos a entrar para que nos compruebe el serial.
Si te fijas, al cerrar el programa, en el directorio donde lo has instalado,
se crea un archivo de registro uedit32.reg. Este archivo esta encriptado, y
contiene precisamente nuestros datos de registro. Si utilizas el FileMonitor, podras
comprobar como el UltraEdit lee este archivo para comprobar si nos hemos registrado
correctamente.
Bien, vamos a utilizar nuestro queridisimo "death listing" o listado muerto y bucear
en el código. :o)
Una vez desensamblado con el W32dasm, guardamos el project file para
no tener que desensamblarlo mas tarde. Pulsamos el boton de
String Data References y empezamos a buscar alguna pista.
Vemos varias referencias interesantes:
- Thank you for supporting Shareware
- UltraEdit 45 Day
UltraEdit 45 Day Evaluation time expired!!!!
Despues de un buen rato investigando el código, y cuando
ya empezaba a perderme con tantas posibles referencias....... se me ocurrio
"cazar" al programa cuando lee ese archivo de registro uedit32.reg.
Buscando en mi HD encontre esas excelentes paginas de Torn@do, las
Cracker's Notes.
Cojonudo, ahora solo tengo que encontrar la funcion adecuada.
Vamos al apartado files a ver que hay....... ummm " GetPrivateProfileStringA "
coooño, esta me suena. A ver para que carajo sirve......
"Retrieves a string from the specified section in an initialization file"
;o) Comprobamos en el W32Dasm que funciones
importa el UltraEdit ..... BINGO, está. ¿probamos?
PROBAMOS.
Vamos al SoftIce y abrimos el UltraEdit. ARgg, la dichosa Nag
que nos pide el serial. Ponemos un nombre y un serial cualquiera ( de 6 caracteres ) y....
quietooooo!!!! antes de pulsar el boton , Control+D y vamos al SoftIce,
ponemos un BreakPoint en la funcion " GetPrivateProfileStringA ",
(BPX GetPrivateProfileStringA), Control+D again. Pulsamos el boton,
BANG! PANTALLAZO y de vuelta al SoftIce. :o)
:0040D209 E832A00500 call 00467240 ;Aqui aterriza el Softice
:0040D20E 59 pop ecx
:0040D20F 59 pop ecx
:0040D210 5E pop esi
:0040D211 85C0 test eax, eax
:0040D213 7520 jne 0040D235 ;Saltamos a....
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040D213(C)
|
:0040D235 8D45C0 lea eax, dword ptr [ebp-40] ;Serial Real
:0040D238 50 push eax
:0040D239 8D4580 lea eax, dword ptr [ebp-80] ;Nuestro Fake Serial
:0040D23C 50 push eax
:0040D23D E8FE9F0500 call 00467240 ;Compara los Serials
:0040D242 59 pop ecx
:0040D243 85C0 test eax, eax
:0040D245 59 pop ecx
:0040D246 7426 je 0040D26E ;HAS PAGADO!!!
:0040D248 8D8540FFFFFF lea eax, dword ptr [ebp+FFFFFF40] ;Otro Serial valido
:0040D24E 50 push eax
:0040D24F 8D4580 lea eax, dword ptr [ebp-80] ;Nuestro Fake Serial
:0040D252 50 push eax
:0040D253 E8E89F0500 call 00467240 ;Compara los Serials
:0040D258 59 pop ecx
:0040D259 85C0 test eax, eax
:0040D25B 59 pop ecx
:0040D25C 7410 je 0040D26E ;HAS PAGADO!!!
:0040D25E C70500F24C0001000000 mov dword ptr [004CF200], 00000001
Es curioso, hay dos numeros de serie validos !!!!, en fin.... No comments ;o)
:0040D235 8D45C0 lea eax, dword ptr [ebp-40]
Si aqui escribimos " db ebp-40 " en el softIce veremos el primer
serial válido.
:0040D248 8D8540FFFFFF lea eax, dword ptr [ebp+FFFFFF40]
Si aqui escribimos " db ebp+FFFFFF40 " en el softIce veremos el segundo
serial válido.
Vamos a Parchear esto para que nos acepte cualquier serial:
:0040D246 7426 je 0040D26E
Lo cambiamos por " :0040D246 EB26 JMP 0040D26E "
Así siempre saltara al código correcto y se creera que el
serial que le hemos puesto lo hemos pagado. ;o)
Ok, estupendo. Parece que ya esta listo, asi que probamos de nuevo
nuestro fake serial y ...... tachan ..... tachan.... nos crea el
uedit32.reg (tal y como esperabamos), cargamos el UltraEdit otra vez....
AAAAAAARGGGG !!!! PERO QUE PASAAAA?? (nos ha borrado el uedit32.reg)
sera cabronazooooooo!!!. NAAAAG NAAAAG again !!
Flipante !! :o? ya nos ibamos y resulta que el programilla se las
da de listo. Vaya vaya..... Esto no puede ser. :o(
Ummmm, nos borra un archivo!!. ¿y? ¿donde esta el problema?
Recurrimos otra vez a las funciones importadas por el UltraEdit ( buscalas en
el listado muerto con el W32Dasm ). Ummmm, una funcion que nos borre un archivo.....
joer, hay varias que ponen Delete:
- RegDeleteKeyA
- DeleteFileA <--- ¡Uy, QUE SUPERSORPRESAAAA !!!
- DeleteDC
- DeleteObject
:o) Back to SoftIce !!!. Repetimos el fake serial, cerramos el
UltraEdit y vemos como nos crea el archivo uedit32.reg. Ahora
ponemos el BreakPoint: " BPX DeleteFileA " cargamos el UltraEdit
y PLAF, pantallazo y de vuelta al SoftIce.
Aterrizamos en:
* Reference To: KERNEL32.DeleteFileA, Ord:0057h
|
:004443BA FF1514644A00 Call dword ptr [004A6414]
:004443C0 A174024D00 mov eax, dword ptr [004D0274]
:004443C5 8065FC00 and byte ptr [ebp-04], 00
:004443C9 83C0D4 add eax, FFFFFFD4
:004443CC 8D4DEC lea ecx, dword ptr [ebp-14]
:004443CF A37C024D00 mov dword ptr [004D027C], eax
:004443D4 899E32070000 mov dword ptr [esi+00000732], ebx
:004443DA E8CE950300 call 0047D9AD
Ummm, ¿que tal si machacamos esa asquerosa llamadita a DeleteFileA?
:004443BA FF1514644A00 Call dword ptr [004A6414]
La sustituimos por:
:004443BA 909090909090 ( 6 NOPS )
Comprobamos si nos mantiene el archivo .......SI, funciona.
Quiza te haya sorprendido la manera de enfocar este tutorial puesto que
no es la mejor opcion para registrar este programa, la mas limpia quiero decir.
Pero asi aprendes las guarreridas que se pueden hacer. Ademas, funciona ¿no?
El Programa cree que nuestro numero de serie es correcto, con lo cual
ya no nos aparece la molesta nag al principio. En la ventana de Help/About
aparecemos como registrados, el programa no caduca y como ya no nos borra
el archivo uedit32.reg .....ya tenemos otra excelente herramienta ;o)
NOTA: Estos tutoriales pueden contener errores intencionados (puede ser que el autor se haya saltado la explicación de algún paso, errores en las direcciones de memoria......etc). El objetivo es que aprendas a crackear y que tengas ideas propias. ;o)
*±±========-*-*-*-* P E R S O N A L G R E E T Z *-*-*-*-========±±*
Dasavant, Niabi, r00ster, ZEncrakz, Azrael, Klimpong, Zor
Conde-Vampiro, Mac-Crack, Killer_P, ASTAGA, Harvestr, Iczelion
JosephCo, Carpathia, Taylor, Tapu, Ivanopulo, EgoistE, Torn@do,
JUANDA, Leoworld, ReKiem, Neural_N, Netking, Russ97,
Mr.Pink and of course all WKT Members ;o)
|
[ Entrada | Documentos Genéricos | WkT! Web Site ]
|
[ Todo el ECD | x Tipo de Protección | x Fecha de Publicación | x Orden Alfabético ]
|
|
(c)
Whiskey Kon Tekila [WkT!] - The Original Spanish Reversers.
Si necesitas contactar con
nosotros
, lee
esto
antes e infórmate de cómo puedes
ayudarnos |
|
|
|
|
|