WIDTH="75%">
HomeSite4.0
Plataformas W95
Descripción Editor Html,texto,Dhtml,etc.
Url http://www.allaire.com
Protección Nag Screen
Dificultad Amateur
Herramientas SoftIce v4.01, W32dasm v8.9, UltraEdit v6.20a,ProcDump
Objetivo Mandar a la m..... la nag ;)
Cracker D.A
Fecha 5 de Noviembre de 1999
Intro

Hola amigos, como estan, espero q' bien..:-), despues de un corto periodo de tiempo volvi a ponerme las pilas para escribir algo,esta vez se trata de un editor html a pedido de un amigo personal y mediante esto trataremos de aprender algo no??...
Muy bien, lo primero, lo primero, corramos el programa pa' ver q' sucede,...mmmm... nos sale una nag diciendonos q' nos quedan 30 dias ,bla,bla, como siempre, puro mercantilismo, lo primero (mi rutina) es desensamblarlo;...ok....Uhhhh...., nos aparece un mensaje diciendo que el PE(portable ejecutable) no es un formato valido de windows y que el proceso terminara.
Posiblemente el programa esta comprimido, asi que:

Let's Crack

Vamos a usar el gettyp, para ver que cuenta:

[D:\HOMESITE\homesite4.exe] -----
DOS executable file - 1718272 bytes

Portable executable (starting at 256 for 1718016 bytes)
Found no known modifier or compiler.
Calculated entrypoint: 15322 / 00003BDAh (RVA: 003EB3DAh)
Required CPU type: 80386
Requires any version of Win32
Flags:
File is executable
Line numbers stripped from file
Local symbols stripped from file
32 bit word machine
Linker version: 2.25
Objects (object align = 00001000h):
Name Virt size RVA Phys size Phys Ofs
.shrink0 00276000h 00001000h 00000000h 00000000h
BSS 00001000h 00277000h 00000000h 00000000h
.shrink1 0000A000h 00278000h 00000000h 00000000h
.tls 00000008h 00282000h 00000000h 00000000h
.rdata 00000018h 00283000h 00000200h 00000400h
.shrink2 00157000h 00284000h 00000000h 00000000h
.shrink3 00001000h 003DB000h 00000200h 00019400h
.rdata 0000001Ch 003DC000h 00000200h 001A3600h
.data 0000BFACh 003DD000h 00001600h 00000800h
.idata 00000958h 003E9000h 00000A00h 00001E00h
.load 00002D26h 003EA000h 00002E00h 00002800h
.reloc 000005F4h 003ED000h 00000600h 00005C00h

Found 1614848 bytes overlay
Absolute position: 103424 of 1718272 (= 6.0%)
Overlay type: unknown (4853h)

- Files identified: 1 of 1 (100.00%)
- Total time: 330.0 ms (330.0 ms/file)

Si bien no nos dice explicitamente que esta comprimido, podemos jugarnos a que si, pues hay un overlay de 1614848.(para mas informacion ver proyectos con procdump en la pagina de karpoff).
No sabemos que compresor usa, pero si nos fijamos en los objects vemos algo sospechoso; unas secciones llamadas shrink0,shrink1,etc,si no recuerdo mal creo q' entre los compresores vi algo parecido y puesto que al comprimir un archivo el compresor dado renombra las secciones.
Vamos fijarnos en procdump, le damos unpack, y miramos;mmmm.. estamos con suerte;-)) vemos uno que se llama pcsshrink y mas abjo shrinker3.2,shrinker3.3 y shrinker3.4. Ahora bien, como sabemos cual es el correcto, pa mi lo unico es probar; el primero no es pues genera un error, el segundo tampoco...., el tercero....¡¡¡¡Yeahh!!!, este es, el shrinker3.3, y nos pide un nombre pa' guardar el archivo descomprimido,elegimos cualquera y lo guardamos.
Ok, ahora probamos desensamblarlo y la verdad que tarda bastante, asi que pueden echarle una dormitada, una taza de cafe y un cigarrillo(fumar daña la salud), o incluso unos polvos con sus respectivas parejas...jeje....;-).
Una vez completado el proceso(solo una observacion, siempre hay que probar el exe descomprimido, deberia funcionar exactamente igual que comp.) bsucamos en string reference algun indicio positivo, no encontre nada, no se por que sera ,puede ser que los string que necesitamos los llame de otro archivo,como por ejemplo una libreria,etc,la verdad no se, y como no se usar bien el ida(que dicen es excelente,incluso mejor que el w32dsm), recurramos al softice.
Vamos a poner un bpx createwindow, y nos deberia parar,(logicamente hay que cargar el archivo descomp.) 5veces F12 y estamos adentro, ahora otro bpx 006573dd(esto lo supe haciendo F10 hasta que se dibujo la nag en la pantalla):

:006573DD 55 push ebp
:006573DE 68CD746500 push 006574CD
:006573E3 64FF30 push dword ptr fs:[eax]
:006573E6 648920 mov dword ptr fs:[eax], esp
:006573E9 803D4CD2670000 cmp byte ptr [0067D24C], 00
:006573F0 7416 je 00657408
:006573F2 A148D26700 mov eax, dword ptr [0067D248]
:006573F7 E8ACCADDFF call 00433EA8
:006573FC A12C696700 mov eax, dword ptr [0067692C]
:00657401 8B00 mov eax, dword ptr [eax]
:00657403 E8A4E8DDFF call 00435CAC


* Referenced by a (U)nconditional or (C)onditional Jump at Address:
:006573F0(C)

:00657408 A12C696700 mov eax, dword ptr [0067692C]
:0065740D 8B00 mov eax, dword ptr [eax]

El call en 006573f7, dibuja la forma de la ventana y el de 00657403 completa el trabajo, asi que evitaremos esos caminos.Dos instrucciones arriba del primer call hay un je, ponemos bc *, y despues un bpx en el je,corremos todo de nuevo y nos para, r fl z, x, ¡¡¡great!!! Bye,bye nag.
El problema esta resuelto, ahora podes borrar el exe comprimido y usar el descomp. o hacer un loader para usar el exe comprimido, o volver a comprimir el programa crackeado.

FeelFree...D.A

Tutorial Descargado de Karpoff Spanis Tutor

www.000webhost.com