Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: B@RTY en 10 Julio 2007, 03:11 am



Título: Trial verison...(Regmon)
Publicado por: B@RTY en 10 Julio 2007, 03:11 am
Hola,
tengo un programilla el qual deja unos pocos dias de evaluacion,
no encuentro cracks, i tampoko me interesa mucho el encontrarlo,

Tengo entendido que borrando cierto registro, el perido de evaluacion se anula,
Explicare brevemente lo que e leido en un tutorial y haber si me podeis ayudar ya que me pierdo un poco:

lo primero que dice es bajarse el "Regmon"
i azerlo funcionar,
una vez echo esto arrancamos el programa a crackear y detenemos la busqueda con el Regmon

Llegado este punto el tutorial dice que devemos abrir el "regedit"
acontinuacion buscar los "binari keys" del programa a crackear i posteriormente eliminarlos.
pareze facil...
pero la cantidad de registros relacionados con el proceso es enorme i soy incapaz de encontralo...


pues aqui queda la pregunta..
me e enrollado un poco por la cuestion de que no quiero crackear el programa simplemente, si no que me gustaria entender un poco los registros que se crean y todo esto...



gracias por adelantado


salu2 ;)


Título: Re: Trial verison...(Regmon)
Publicado por: Shaddy en 10 Julio 2007, 08:41 am
Hola,
tengo un programilla el qual deja unos pocos dias de evaluacion,
no encuentro cracks, i tampoko me interesa mucho el encontrarlo,

Tengo entendido que borrando cierto registro, el perido de evaluacion se anula,
Explicare brevemente lo que e leido en un tutorial y haber si me podeis ayudar ya que me pierdo un poco:

lo primero que dice es bajarse el "Regmon"
i azerlo funcionar,
una vez echo esto arrancamos el programa a crackear y detenemos la busqueda con el Regmon

Llegado este punto el tutorial dice que devemos abrir el "regedit"
acontinuacion buscar los "binari keys" del programa a crackear i posteriormente eliminarlos.
pareze facil...
pero la cantidad de registros relacionados con el proceso es enorme i soy incapaz de encontralo...


pues aqui queda la pregunta..
me e enrollado un poco por la cuestion de que no quiero crackear el programa simplemente, si no que me gustaria entender un poco los registros que se crean y todo esto...



gracias por adelantado


salu2 ;)

lo primero que tienes que hacer es analizarlo, por ejemplo con RDG Packer Detector v0.6.5, y luego nos dices que clase de compilador / protección utiliza y lo abres posteriormente con:

http://shaddy.co.nr/OllyDBG.rar

y ahi es donde empieza todo ;).

Salu2..


Título: Re: Trial verison...(Regmon)
Publicado por: B@RTY en 10 Julio 2007, 13:03 pm
Ya lo e escaneado con el RDG y el resultado es

Borland delphi (v 6-7)
y como proteccion  Armadillo deteccion Heuristica


(entonces todo lo que e dicho de los registros no sirve en este caso?)





salu2 ;)


Título: Re: Trial verison...(Regmon)
Publicado por: Shaddy en 10 Julio 2007, 20:17 pm
Ya lo e escaneado con el RDG y el resultado es

Borland delphi (v 6-7)
y como proteccion  Armadillo deteccion Heuristica


(entonces todo lo que e dicho de los registros no sirve en este caso?)





salu2 ;)


buah, yo lo dejaría xD, no se porque to2 los programas que intentáis son armadillo jajaja, tu mismo, lee un topic que dice restorator y bajate el mismo tute probablemente te valga...

Salu2..


Título: Re: Trial verison...(Regmon)
Publicado por: B@RTY en 10 Julio 2007, 21:57 pm
donde esta ese topic :S?
e usado la busqueda y no lo encuentro

de todas maneras si es un programa tipo el resourcehacker no creo que sirva
ya que con estos programas no me deja tocar nada :(
(la cosa esta complicada XD)




salu2 ;)



Título: Re: Trial verison...(Regmon)
Publicado por: Shaddy en 10 Julio 2007, 22:31 pm
donde esta ese topic :S?
e usado la busqueda y no lo encuentro

de todas maneras si es un programa tipo el resourcehacker no creo que sirva
ya que con estos programas no me deja tocar nada :(
(la cosa esta complicada XD)




salu2 ;)



no me referia a eso. aqui esta.

http://ricardonarvaja.info/WEB/CURSO%20NUEVO/TEORIAS%20NUMERADAS/801-900/847-Armadillo%204.62%20+%20Debug%20Blocker%20+%20CopyMem%20II%20+%20Import%20Table%20Elimination%20+%20Code%20Splicing%20+%20Nanomites%20%96%20PARA%20PRINCIPIANTES%20%96%20USANDO%20TOOLS%20%96%20Por%20Solid.rar

aun así analizalo con el ArmaFind que le pongo en el Topic "armadillo tocando las..." era ese me confundí de topic. sigue los pasos mas o menos.

Salu2..


Título: Re: Trial verison...(Regmon)
Publicado por: B@RTY en 11 Julio 2007, 11:50 am
Hola ShadowDark
ante todo gracias por irme a aconsejando, el tutorial que me e bajado trabaja con una proteccion muy similar a la que yo tengo

pero como soy bastante novato me encayo aqui (se que se trata de algo muy basico  :-[)

dice "poner un bp en WriteProcessMemory"

yo no se como se busca dicha llamada, lo unico referente a WriteProcessMemory
que e encontrado es esto

0061634A   .  FF15 0CC16400 call ds:[<&KERNEL32.WriteProcessMemory>] ; \WriteProcessMemory


de todas maneras al ponerle un bp (que no se qual poner ya que no lo especifican
,yo le pongo el toggle)
i al darle al run me salta un error i se me cierra todo...

pues asi esta la cosa..
me gustaria seguir ya que el tutorial como ya e dicho trabaja con una proteccion muy similar a la que me interesa



salu2 ;)


Título: Re: Trial verison...(Regmon)
Publicado por: Shaddy en 11 Julio 2007, 15:04 pm
Hola ShadowDark
ante todo gracias por irme a aconsejando, el tutorial que me e bajado trabaja con una proteccion muy similar a la que yo tengo

pero como soy bastante novato me encayo aqui (se que se trata de algo muy basico  :-[)

dice "poner un bp en WriteProcessMemory"

yo no se como se busca dicha llamada, lo unico referente a WriteProcessMemory
que e encontrado es esto

0061634A   .  FF15 0CC16400 call ds:[<&KERNEL32.WriteProcessMemory>] ; \WriteProcessMemory


de todas maneras al ponerle un bp (que no se qual poner ya que no lo especifican
,yo le pongo el toggle)
i al darle al run me salta un error i se me cierra todo...

pues asi esta la cosa..
me gustaria seguir ya que el tutorial como ya e dicho trabaja con una proteccion muy similar a la que me interesa



salu2 ;)

antes de nada busca en ese mismo topic el programa ArmaFP o algo así se llama que le puse es para detectar la protección exacta de armadillo y me la pegas.

Salu2..


Título: Re: Trial verison...(Regmon)
Publicado por: B@RTY en 11 Julio 2007, 20:03 pm
!- Protected Armadillo
Protection system (Professional)
!- <Protection Options>
Debug-Blocker
CopyMem-II
Enable Import Table Elimination
Enable Strategic Code Splicing
Enable Memory-Patching Protections
!- <Backup Key Options>
Fixed Backup Keys
!- <Compression Options>
Better/Slower Compression
!- <Other Options>
Store Environment Vars Externally
Allow Only One Copy
?- Signature 466F3380 13-06-2007





Aqui lo tienes
gracias por tu tiempo ;)


Título: Re: Trial verison...(Regmon)
Publicado por: Shaddy en 11 Julio 2007, 20:38 pm
!- Protected Armadillo
Protection system (Professional)
!- <Protection Options>
Debug-Blocker
CopyMem-II
Enable Import Table Elimination
Enable Strategic Code Splicing
Enable Memory-Patching Protections
!- <Backup Key Options>
Fixed Backup Keys
!- <Compression Options>
Better/Slower Compression
!- <Other Options>
Store Environment Vars Externally
Allow Only One Copy
?- Signature 466F3380 13-06-2007





Aqui lo tienes
gracias por tu tiempo ;)

bien, parece que si que te valdrá el tute.

por lo del bp, no se si bajaste mi ollydbg, está preparado para funcionar en "C:\".

se baja aqúi, http://shaddy.co.nr/OllyDBG.rar, si ya lo tienes simplemente ponle en el command bar BP WriteProcessMemory respetando las mayúsculas y te lo pondra, le das a F9 y "debería" parar.

Salu2..


Título: Re: Trial verison...(Regmon)
Publicado por: B@RTY en 12 Julio 2007, 13:53 pm
bueno mas o menos vai avanzando :)

e encontrado el call encriptador y el OEP hijo
ahora llego un punto en el que tengo que nopear el call encriptador
pero no me queda claro.
como voi otra vez donde estaba el call?
i como se nopea?



gracias esto parece que tira aunque aun me queda mucho por delante

salu2 ;)


Título: Re: Trial verison...(Regmon)
Publicado por: Shaddy en 12 Julio 2007, 15:00 pm
bueno mas o menos vai avanzando :)

e encontrado el call encriptador y el OEP hijo
ahora llego un punto en el que tengo que nopear el call encriptador
pero no me queda claro.
como voi otra vez donde estaba el call?
i como se nopea?



gracias esto parece que tira aunque aun me queda mucho por delante

salu2 ;)

cuando le das a ALT + K, vas a el call, y para volver a donde estabas ALT + C (code) que te actualiza a donde estas en el momento, el ALT + K es el CALL STACK que quiere decir los CALL que llamaron, y tu ves quien te llamo, uno llamo el call encriptador y otro el desencriptador. ya lo dice bien en el tute, para nopear simplemente le pones el cursor en la linea le clickeas y escribes "nop" porque automáticamente te pondrá en modificar comando (si no barra espaciadora que es lo mismo).

Salu2..


Título: Re: Trial verison...(Regmon)
Publicado por: B@RTY en 12 Julio 2007, 19:45 pm
pues yo sigo aqui con mi proyecto...
me cuesta bastante i en muchos pasos me encayo
pero ahora aqui si que me e quedado


El proximo paso sera colocar el loop infinito en el OEP del HIJO, el cual obtenemos con una simple cuenta:
OEP      -    Zona Base = Desplazamiento
66B92C    -     66B000    =   92C

Zona Base + Desplazamiento = Zona de los bytes del OEP

0EC0048   +  92C           =  0EC0974


el OEP ya lo tengo, lo que no entiendo es la segunda operacion

0EC0048   +  92C           =  0EC0974



gracias por tu atencion de verdad




Título: Re: Trial verison...(Regmon)
Publicado por: Shaddy en 12 Julio 2007, 22:26 pm
pues yo sigo aqui con mi proyecto...
me cuesta bastante i en muchos pasos me encayo
pero ahora aqui si que me e quedado


El proximo paso sera colocar el loop infinito en el OEP del HIJO, el cual obtenemos con una simple cuenta:
OEP      -    Zona Base = Desplazamiento
66B92C    -     66B000    =   92C

Zona Base + Desplazamiento = Zona de los bytes del OEP

0EC0048   +  92C           =  0EC0974


el OEP ya lo tengo, lo que no entiendo es la segunda operacion

0EC0048   +  92C           =  0EC0974



gracias por tu atencion de verdad




el padre no tiene las mismas direcciones que el hijo, por lo tanto imagina que el padre tiene la dirección:

1000 y el hijo la 2000, y el OEP del padre es 1010, entonces lo que dice ahi es que mires la base del padre:

1000 y la del hijo 2000 y que calcules el desplazamiento del que sabes (el padre) que tiene desde la base hasta el OEP para poder añadirlo al hijo y calcular la dirección de su OEP, es decir, para hacer el loop tienes que saber donde comienza el hijo (OEP) y ahi hacerle un loop, el loop es simplemente que se quede todo el rato haciendo lo mismo y saltando a la misma direccion constantemente. así que el concepto es que le quites la base al oep:

1010 (OEP) - 1000 (BASE) = 10 (DESPLAZAMIENTO)

y 10 es el desplazamiento, osea, desde la base hasta el OEP hay 10 bytes, así que en el hijo sabiendo la base le sumas 10, y si la base es 2000 le sumas 10:

2000 (BASE) + 10 (DESPLAZAMIENTO) = 2010 (OEP DEL HIJO)

espero que lo entiendas, no se si te he liado mas o te lo he explicado cualquier cosa dime.

Salu2..