CrackMe03 by x4uth

Iniciado por x4uth, 3 Abril 2006, 14:46 PM

0 Miembros y 2 Visitantes están viendo este tema.

tena

que paso con el viejo y Kerido OberonCracker? Sigue con lecciones de Botanica? Estan de moda los OBERON jeje

SALUDOS              TENA
   
 

x4uth

#21
buen trabajo :D aunque aun necesita plugins para funcionar....

^A|aN M0R3n0^

#22
y para que sea al 100% el otro no lo pase porq ue no me di cuenta jejejeje bueno aki dejo la solcuion :D

004011EE  |.  64:A1 3000000>MOV EAX,DWORD PTR FS:[30] -> Isdebupresent
004011F4  |.  83C0 02       ADD EAX,2
004011F7  |.  3E:8B00       MOV EAX,DWORD PTR DS:[EAX]
004011FA  |.  84C0          TEST AL,AL
004011FC      74 16         JE SHORT CrackMe0.00401214 -> cambiamos este salto a jmp  0xEB

ahora si espero haberme dado cuenta de todo  :D

http://rapidshare.de/files/22413517/CrackMe03_patchado33.rar.html

pues si soy el tal creg :D popular? no creo aprendiz soy

por que salia error en 98 y algunos xp que no tenian el sp2 :

Bueno por que  x4uth  sumaba   unos bytes para que se pasara el bp  que ponia el ollydb a las librerias, y esas librerias por ejemplo el kernel3.dll son diferentes a las de 98 y xp sin sp2, bueno es un metodo anti bp hace tiempo hice un fuente  con la misma tecnica en el foro rvlcn

http://www.rvlcnsecurity.com/foro/showthread.php?t=77




06/06/06

MiEMBRO DE RVLCN
Oberon
www.rvlcnsecurity.com
www.rvlcn.com
www.revolucion7000.com

x4uth

#23
muy bien ,  a si sacas un serial ahora..

Citar
por que salia error en 98 y algunos xp que no tenian el sp2 :

Bueno por que  x4uth  sumaba   unos bytes para que se pasara el bp  que ponia el ollydb a las librerias, y esas librerias por ejemplo el kernel3.dll son diferentes a las de 98 y xp sin sp2, bueno es un metodo anti bp hace tiempo hice un fuente  con la misma tecnica en el foro rvlcn

si, los bytes despues los recostruia en este caso manual, tenia pensado hacer un ReadProcessMemory de esos bytes y ejecutarlos en mi programa antes de saltar pero no se como distinguir el final de una instruccion xk si pillas una instruccion a la mitad te quedas=, alguna idea?

^A|aN M0R3n0^

#24
buena man pero ya no es necesario de poner la instruccion readproceesmemory para leer los bytes, por que si tenemos la direccion podemos leer apartir de ahi por ejemplo:

depues de la api gerpocAddres masm :

invoke GetProcAddress,DIR_USER,addr FunciON
mov dir,eax
como sabes esta api nos devuelve la direccion donde se ecuentra la libreria, entonces para leer  el primer byte seria asi

xor eax,eax
mov  al, byte ptr [dir]

y  en eax tendremos los priemros bytes con eso ya podemos darnos cuenta que libereria puede pertenecer  a win98 sp2, pero para estar seguro  se tien que leer la primera instrucion y si eres astuto  lo que lees puedes escribirlo en tu programa y luego saltarte esa isnturcicon de  libreria de window

saludos

Oberon

www.rvlcn.com
www.rvlcnsecurity.com
www.revolucion7000.com

Listas-RVLCN : http://rvlcnsubscribir.tk/   (google)
              http://www.egrupos.net/grupo/rvlcn/alta    (egrupos)

FORO - CHAT  :
           http://www.rvlcnsecurity.com/foro/




x4uth

si bueno el tema no es con que metodo se leen los bytes, en ese CrackMe la intruccion que se salta esta escrita, el problema es que la instruccion varia segun las versiones del kernel, se podria identificar el kernel segun los bytes o incluso hacerle un checksum pero ad+ de ser un coñaso sigue sin ser compatible al 100%

^A|aN M0R3n0^

por que no lees lo de la libreria y lo que lees lo escribes en tu programa claro que a la sección tienes que dale el flag write para que puedas hacer eso..

x4uth

esa es la idea, no tengo que darle flag write con un alocar un pedaso de memoria basta, el problema es que hay instrucciones que usan mas bytes que otras y si no sabes que intruccion va a haber toncs no sabes cuantos bytes tienes que leer, si cortas una instruccion por la mitad la cagaste..

^A|aN M0R3n0^

sip, entonces serai mejor, comparar y debes investigar, como comienzan las demas librerias para que decuardo a la comparacion puedas leer :D...