Sunteți pe pagina 1din 8

Rompiendo el Crackme #1 By D4ph1 por Nitr0K1ller

Rompiendo el Crackme #1 By D4ph1

Vctima Download Dificultad Objetivo Herramientas

Crackme #1 By D4ph1 Crackmes.de Iniciado Encontrar el algoritmo del serial y hallar el mensa e secreto !llyD"g# $eid

Takeoff

%al&dos. 'ace rato (&e no escri"o &n t&torial# hoy (&e he tenido algo de tiempo me he decidido a hacerlo. )a *+ctima de esta ocasi,n la sol&cione hace &n "&en rato# mas no escri"+ la sol&ci,n. Esta *e- tenemos algo m&y interesante# &na pe(&e.a introd&cci,n al keygening.

Engage

$ara iniciar# lo (&e ya es com/n# pasar la *+ctima por los anali-adores de cost&m"re para o"tener la mayor in0ormaci,n posi"le de la misma1

Nitr0K1ller Re*ersing Research Center 2 re*ersing.&ni.cc

Rompiendo el Crackme #1 By D4ph1 por Nitr0K1ller

%e p&ede *er (&e no tiene ning&na protecci,n y esta programado en 3%4. )e creo al $eid por(&e lo mismo di o el creador en el readme# e e e...

El sig&iente paso es e ec&tarlo# se a"re &na *entana con dos c&adros de te5to para introd&cir &n nom"re y serial# escri"o los ya acost&m"rados# el res&ltado es el sig&iente1

6a me lo imagina"a# ahora lo destripo en el *ie o !lly para empe-ar a anali-arlo. $r&e"o con la t7cnica de las strings para mirar si el mensa e de 8chico malo esta por ah+9 :Clic derecho en la primera l+nea Search for All referenced text strings;

Nitr0K1ller Re*ersing Research Center 2 re*ersing.&ni.cc

Rompiendo el Crackme #1 By D4ph1 por Nitr0K1ller

'ay est<n los mensa es de chico "&eno y chico malo# do"le clic so"re el mensa e de chico malo para ir a la direcci,n donde este se enc&entra en la *entana de desensam"lado.

En esta -ona se enc&entran el c,digo encargado de desplegar los di0erentes mensa es seg/n el res&ltado :el de chico malo esta al 0inal;. El primero corresponde a la sol&ci,n completa# ya (&e el crackme tiene &n pe(&e.o secreto escondido (&e de are para m<s tarde. El seg&ndo corresponde al ingresar &n serial correcto. En la imagen se p&ede *er como hay &na compro"aci,n en 4011BB y en seg&ida &n salto# (&e si es tomado se dirige e5actamente al l&gar del seg&ndo mensa e :el del mensa e correcto;. 'a simple *ista# y si se 0&era a parchar# ese salto seria &n 0&erte candidato# pero esa la"or no la desarrollare ac<. $ongo &n "reakpoint en 4011B= :>?; para *er el comportamiento de esa compro"aci,n y hecho a andar el crackme :>=;... pero no para# se *a de largo. Entonces selecciono la primera l+nea (&e crea el c&adro de mensa e con el te5to de chico malo.

Nitr0K1ller Re*ersing Research Center 2 re*ersing.&ni.cc

Rompiendo el Crackme #1 By D4ph1 por Nitr0K1ller

Res&lta (&e esa compro"aci,n no era# sino (&e el serial se re*isa"a mas arri"a# en la imagen se p&ede *er (&e el salto se hace desde 4011=4# pongo &n "reakpoint en ese salto y corro de n&e*o el crackme con el mismo nom"re y serial# en e0ecto se detiene en ese "reakpoint para en*iarme directamente a la secci,n del chico malo.

3(&+ se p&eden *er dos "lo(&es de instr&cciones interesantes# &rar+a (&e son "&cles# as+ Nitr0K1ller Re*ersing Research Center 2 re*ersing.&ni.cc

Rompiendo el Crackme #1 By D4ph1 por Nitr0K1ller (&e pongo &n "reakpoint en la direcci,n de 4011@A y e ec&to de n&e*o el crackme. 3l llegar a(&+ *oy traceando con >@ y al llegar a la comparaci,n en 4011=4# re*isa los *alores BC :en 3%CII es DeE; y F1 :D1E;# no toma el salto y me en*+a directo al salto del chico malo. 3s+ (&e cam"io el serial D1?F4CB@A=E por De?F4C@A=E# de n&e*o e ec&to el crackme y traceo esta secci,n. 3l llegar a la compro"aci,n de 4011=4 am"os *alores son ig&ales# tomo el salto (&e me en*+a al inicio del "&cle para contin&ar con el sig&iente car<cter del serial. C!NC)G%I!N1 en este "&cle se compr&e"a el serial 43% no se genera ac<# lo se por(&e toma tanto el serial (&e introd&-co como el serial *erdadero de la memoria# la estr&ct&ra (&e he ded&cido de este "&cle es la sig&iente1
004011@A 4!H%I EDI#B6JE $JR D%1KEDIL40FFCCM 004011@> 4!H%I EBI#B6JE $JR D%1KEDIL40FFACM 004011AB INC EDI 004011A@ C4$ EDI#EBI 004011A= OE %'!RJ D4ph1PQP.004011@A Ntoma el car<cter del serial Ntoma el car<cter del serial *erdadero Nincrementa el contador del "&cle Ncompr&e"a am"os caracteres Nsi son ig&ales# *a al inicio del "&cle

$ara compro"ar mi teor+a# al llegar a la instr&cci,n en 4011@> *oy al panel de in0ormaci,n del !lly :el (&e esta de"a o del panel de desensam"lado; hago clic derecho so"re la primera l+nea y en el men/ esco o Follow address in Dump#

En el panel del d&mp *eo esto1

6 p&es como dir+a &n gringo# 8'oly shitRRR9# 5D. Copio esa cadena :ecS-@m4hogsQ; y pr&e"o este serial :(&itando el "reakpoint# o sino parar+a en cada car<cter del serial; y p&es no 0&nciona de primera-o# pr&e"o entonces con DecS-@m4hogsE y sale este mensa e1

Nitr0K1ller Re*ersing Research Center 2 re*ersing.&ni.cc

Rompiendo el Crackme #1 By D4ph1 por Nitr0K1ller

'e dado con el serial correcto.

Lock on

6a sa"iendo donde compr&e"a el serial# ahora hay (&e "&scar la -ona donde lo genera# as+ (&e pongo &n "reakpoint en 4011FD y e ec&to de n&e*o el crackme# esta *e- con el serial 0also 1?F4CB@A=# !lly para en el "reakpoint y comien-o a tracear con >@# el an<lisis se p&ede *er en la imagen# la primera *e- (&e paro EDI era 11 y 0&e dismin&yendo hasta 0.

'ice &na ta"la con las operaciones (&e reali-o en la direcci,n 40114D# de esta 0orma p&de in0erir el algoritmo (&e genera el serial1 1. ?. F. 4. Joma el *alor 3%CII de &n car<cter del nom"re# DcE $re*iamente ha calc&lado la longit&d del nom"re# D5E calc&la c I!R :5 Q i;# donde DiE es la posici,n del car<cter act&al decrece el contador del "&cle# DiE

En pocas pala"ras# a cada car<cter hace &n I!R con el n/mero de caracteres (&e (&edan del nom"re.
3%CII I!R 3%CII I!R EBI EBI EDI EBI# EDI EBI# EDI BEh n Bh BCh e B=h i 3h BFh c @4h t =h @Dh S @?h r Ah @3h F0h 0 @h F@h @ BBh k Bh BDh m F1h 1 Ch F4h 4 BCh l 4h BAh h BCh l Fh B>h o BCh e ?h B@h g @?h r 1h @Fh s

Nitr0K1ller Re*ersing Research Center 2 re*ersing.&ni.cc

Rompiendo el Crackme #1 By D4ph1 por Nitr0K1ller

Landing

6a he desc&"ierto los l&gares donde este crackme compr&e"a y genera el serial# as+ como el algoritmo con el c&al crea los seriales# legalmente con esto "astar+a para resol*er el crackme. )o /nico (&e hace 0alta es desc&"rir el mensa e secreto al (&e hace re0erencia. $&es "ien# mientras esc&lca"a el d&mp del crackme me encontr7 esto1

8Tho recei*ed the No"el$ri-e in 1=?1 0or his Uork on the photoelectric e00ectV9# o sea# W(&ien reci"i, el premio no*el en 1=?1 por s& tra"a o so"re el e0ecto 0otoel7ctricoV# lo de o de tarea para el (&e lo (&iera resol*er# en todo caso# al introd&cir la resp&esta al acerti o como nom"re sale este mensa e1

MISSION ACCOMPLISHED!!!!

!tro crackme res&elto e e e. $ara terminar (&iero mandar los sal&dos de siempre a toda la gente del C&J y a los dem<s entes (&e ha"itan s& 0oro# a a a.

Suerte Pues

Nitr0K1ller Re*ersing Research Center 2 re*ersing.&ni.cc

Rompiendo el Crackme #1 By D4ph1 por Nitr0K1ller

Anexo: como programar el keygen


$ara programar el keygen teniendo ya el algoritmo es "ien "re*e# como soy medio *ago e ignorante lo *oy a programar en HB# 5D. El chiste se red&ce a poner &n c&adro de te5to para escri"ir el nom"re# &na eti(&eta & otro c&adro de te5to en el c&al aparecer< el serial y el "ot,n para (&e haga el tra"a o s&cio# este es el c,digo (&e *a en el "ot,n1
Private Sub Command1_Click() Dim nombre, serial As String Dim x, i As Integer i = 1 tomar el nombre nombre = CStr(txtnombre!"ext) Calcular el serial #or x = $en(nombre) "o 1 Ste% &1 serial = serial ' C(r(Asc()id(nombre, i, 1)) *or x) i = i + 1 ,ext x txtserial!"ext = serial -nd Sub

la parte mas 8comple a9 es la generaci,n del serial (&e *a dentro del 0or# los pasos son estos 1. se toma el car<cter del nom"re1 )id(nombre, i, 1)) ?. se "&sca el c,digo 3%CII del car<cter1 Asc()id(nombre, i, 1)) F. tanto el c,digo como 5 son n/meros# as+ (&e se hace el I!R1 Asc()id(nombre, i,
1)) *or x

4. Con el res&ltado del I!R se "&sca el car<cter 3%CII (&e le corresponde1


C(r(Asc()id(nombre, i, 1)) *or x)

C. se *an ac&m&lando los caracteres1


serial ' C(r(Asc()id(nombre, i, 1)) *or x)

)isto# es "ien 0<cil. 4i keygen lo de e as+1

6 esto es todo# l,gicamente se p&ede hacer con c&al(&ier leng&a e# pero como no cono-co por el momento ning/n leng&a e de escritorio mas decente :CLL ni loco# le tengo p<nico 5D; 0ig&ro HB. Nitr0K1ller Re*ersing Research Center 2 re*ersing.&ni.cc

S-ar putea să vă placă și