Objetivo: Generar un codigo valido, hacer tutorial
nadie me ha enviado soluciones aun...
(opcional): Eliminar Nag, parchear para que funcione con OllyDbg limpio (sin plugins ni modificaciones) , hacer tutorial
06/06/06 ^A|aN M0R3n0^ Eliminada Nag y Parcheado para que funcione con OllyDBG limpio
(http://foro.elhacker.net/Themes/default/images/bbc/url.gif)Descargar CrackMe03.rar (http://personal.telefonica.terra.es/web/carlos-ea/ie/CrackMe03.rar)
a ver si me impresionais :P
El archivo descomprimido no anda, esta roto. :huh:
Subilo denuevo que me parece que no anda, pues ya lo baje en dos maquinas diferentes y sigue saliendo el error.
TENA
Bueno ya lo baje y lo he testeado en tres segundos, todo pinta bien, aunque mi primera impresion es ¿que le han hecho a la cabezera de este crackme? De seguro nada... je, je. Bueno ya veremos.
Cita de: tena en 4 Abril 2006, 00:01 AM
El archivo descomprimido no anda, esta roto. :huh:
Subilo denuevo que me parece que no anda, pues ya lo baje en dos maquinas diferentes y sigue saliendo el error.
TENA
que error te da??
yo volvi a bajar y probar y todo bien (yo tengo WinXP sp2 puede que tenga algo que ver), si lo estas intentando abrir desde el mismo WinRAR no abrira, copialo a una caperta y abrelo desde alli.
Tambien cierra todos los debuggers antes de abrirlo ;)
Un saludo
Cita de: x4uth en 4 Abril 2006, 09:33 AM
yo volvi a bajar y probar y todo bien (yo tengo WinXP sp2 puede que tenga algo que ver)
Tienes razon ahi esta el problema. Lo he probado en wi98.
Saludos tena
como vais?
Como voy? El crackme me cerro mi antivirus, entonces dije este revenger se las viene con todo. Bueno como estoy en examen de botanica tropical, seguro en una semana nuevamente arremeto con todo lo habido y por haber, ja, ja, ja. Saludos crackternos.
10 dias 0 soluciones..
*bump* 38 dias ...
Cita de: x4uth en 11 Mayo 2006, 10:31 AM
*bump* 38 dias ...
0040113C |. FF15 E8BC4000 CALL NEAR DWORD PTR DS:[40BCE8] ; kernel32.77E72ED3
en esta linea revienta, no se si lo has querido hacer así pero he tenido que modificar la tabla y restarle dos bytes, y dejarlo así...
0040113C |. FF15 E8BC4000 CALL NEAR DWORD PTR DS:[40BCE8] ; kernel32.CreateToolhelp32Snapshot
así que si buscas realmente el problema está en ésta línea ¬¬..
004010A3 83C0 02 ADD EAX,2
que añade 2 bytes en la tabla de importaciones..
y así en diversas situaciones, luego busca procesos en varios bucles a través de la discreta API OpenProcess xD.. pero weno, supongo que todo esto forma parte de la protección.. en fin, lo interesante de un crackme es que si lo haces correr sin debugger funcione, no se si esto os pasa a vosotros pero a mi no me fuciona.. a menos que le parchee lo de los 2 bytes.. en fin..
Salu2..
logicamente sin debugger funciona, tiene varias protecciones puede que haya algun problema de compatibilidad, yo tengo windows Xp service pack 2 y me funciona bien, en todo si ese es el unico que error que te da puedo arreglarlo si hay otros entonces tendria que verlos todos :/
http://www.freeuploader.com/out.php/i3728_kernel32.rar
hola yo tambien soy oberon cuantos oberon hay :S, pero soy oberon de rvlcn
www.rvlcnsecurity.com
www.rvlcn.com
www.revolucion7000.com
mi mail es Oberoncracker@gmail.com :D, no puedo escargar tu crackme para intentar crackearlo :D sobelo en otro lado
Cita de: ^A|aN M0R3n0^ en 4 Junio 2006, 20:26 PM
hola yo tambien soy oberon cuantos oberon hay :S, pero soy oberon de rvlcn
www.rvlcnsecurity.com
www.rvlcn.com
www.revolucion7000.com
mi mail es Oberoncracker@gmail.com :D, no puedo escargar tu crackme para intentar crackearlo :D sobelo en otro lado
no se a mi me va perfectamente el link , = ahi te lo envie al correo ese
00401C0E . 68 FF0F1F00 PUSH 1F0FFF ; |Access = PROCESS_ALL_ACCESS
00401C13 . FF15 10904000 CALL DWORD PTR DS:[<&KERNEL32.OpenProces>; \OpenProcess
00401C19 . 8985 B8FDFFFF MOV DWORD PTR SS:[EBP-248],EAX
00401C1F . 6A 00 PUSH 0 ; /ExitCode = 0
00401C21 . 8B95 B8FDFFFF MOV EDX,DWORD PTR SS:[EBP-248] ; |
00401C27 . 52 PUSH EDX ; |hProcess
00401C28 . FF15 0C904000 CALL DWORD PTR DS:[<&KERNEL32.TerminateP>; \TerminateProcess
lo que hace es buscar el nombre del ollydbg en los procesos luego cerrarlo :D. luego presionamos
la tecla ctrl+f9 para saltar hasta el ret y seguimos el paso con la tecla f8 hasta llegar :
004011D0 55 PUSH EBP
traceamos y encontramos algo interesante:
004011D7 |. 64:A1 3000000>MOV EAX,DWORD PTR FS:[30]
004011DD 05 C980418E ADD EAX,8E4180C9
004011E2 05 9F7FBE71 ADD EAX,71BE7F9F
004011E7 3E:8B00 MOV EAX,DWORD PTR DS:[EAX] -> contiene el resultado 0x70
004011EA 3C 70 CMP AL,70
004011EC 74 10 JE SHORT CrackMe0.004011FE
asi que nopeamos los ADD y Los MOv Y reemplazamo por un MOV eax,0 y quedara asi
004011DD B8 00000000 MOV EAX,0
004011E2 90 NOP
004011E3 90 NOP
004011E4 90 NOP
004011E5 90 NOP
004011E6 90 NOP
004011E7 90 NOP
004011E8 90 NOP
004011E9 90 NOP
004011EA 3C 70 CMP AL,70
presionamos f9 y el programa se ha ejecutado correctamente
crackme patchado:
http://rapidshare.de/files/22308452/CrackMe03_patchado.rar.html
ahora si se puede ejcutar con el ollydbg :D
saludos
Oberon MiEMBRO De RVLCN
www.rvlcnsecurity.com
www.rvlcn.com
www.revolucion7000.com
aun no se ejecuta el crackme , solo sale la nag, pero vas por buen camino :)
hola, si tienes razon ya vi el error jejeje :)
que nos queda mas que continuar!!!!!
00403060 . 61 POPAD
00403061 . 6A 00 PUSH 0 ; /lParam = NULL
00403063 . 68 F01F4000 PUSH CrackMe0.00401FF0 ; |DlgProc = CrackMe0.00401FF0
00403068 . A1 04B84000 MOV EAX,DWORD PTR DS:[40B804] ; |
0040306D . 50 PUSH EAX ; |hOwner => NULL
0040306E . 6A 6C PUSH 6C ; |pTemplate = 6C
00403070 . 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8] ; |
00403073 . 51 PUSH ECX ; |hInst
00403074 . FF15 E8904000 CALL DWORD PTR DS:[<&USER32.DialogBoxPar>; \DialogBoxParamA
0040307A . 68 90304000 PUSH CrackMe0.00403090
esta es la nag colocamos un bp a esta api:
00402091 |. FF15 00904000 CALL DWORD PTR DS:[<&KERNEL32.GetProcAdd>; \GetProcAddress
traceamos hasta :
00402091 |. FF15 00904000 CALL DWORD PTR DS:[<&KERNEL32.GetProcAdd>; \GetProcAddress -> coje la direccion de la api msbox
00402097 |. A3 D4BC4000 MOV DWORD PTR DS:[40BCD4],EAX
0040209C 68 ECB64000 PUSH CrackMe0.0040B6EC
lo uqe debemos hacer es que cierre la ventana si miramos un poco mas abajo observamos lo siguiente
004021F0 |. 6A 00 PUSH 0 ; /Result = 0
004021F2 |. 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8] ; |
004021F5 |. 51 PUSH ECX ; |hWnd
004021F6 |. FF15 10914000 CALL DWORD PTR DS:[<&USER32.EndDialog>] ; \EndDialog
justo la api que necesitamos entonces donde esta el PUSH CrackMe0.0040B6EC colocaremos un salto asi
0040209C /E9 4F010000 JMP CrackMe0.004021F0
y listo seguimos traceando con f8 y caemos aka ->
00403090 . 6A 00 PUSH 0 ; /lParam = NULL
00403092 . 68 D0264000 PUSH CrackMe0.004026D0 ; |DlgProc = CrackMe0.004026D0
00403097 . 8B15 04B84000 MOV EDX,DWORD PTR DS:[40B804] ; |
0040309D . 52 PUSH EDX ; |hOwner => NULL
0040309E . 6A 65 PUSH 65 ; |pTemplate = 65
004030A0 . 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] ; |
004030A3 . 50 PUSH EAX ; |hInst
004030A4 . FF15 E8904000 CALL DWORD PTR DS:[<&USER32.DialogBoxPar>; \DialogBoxParamA
presionamos ctrl+G y tipeamos esta direccion 004026D0, miramos un poc mas abajo a la direcion
00402749 . 833D 08B84000>CMP DWORD PTR DS:[40B808],32 -> colocamos un bp
00402750 . 74 08 JE SHORT CrackMe0.0040275A -> cambiamos je a jmp 0xeb
00402752 . 6A 00 PUSH 0
00402754 . FF15 48BC4000 CALL DWORD PTR DS:[40BC48] ; kernel32.7C81CAA4
0040275A > 68 69274000 PUSH CrackMe0.00402769
y traceamos hasta llegar
004027EC . 50 PUSH EAX ; |hWnd
004027ED . FF15 04914000 CALL DWORD PTR DS:[<&USER32.SetWindowPos>; \SetWindowPos
004027F3 E8 78FDFFFF CALL CrackMe0.00402570 -> nopeamos este CALL que es donde
004027F8 . B8 01000000 MOV EAX,1
004027FD . E9 62070000 JMP CrackMe0.00402F64
vee todo nuestros procesos, para llegar a esa Conclusión debemos poner un bp a la apì createoolhelper
y quedaria asi
004027F3 90 NOP
004027F4 90 NOP
004027F5 90 NOP
004027F6 90 NOP
004027F7 90 NOP
004027F8 . B8 01000000 MOV EAX,1
004027FD . E9 62070000 JMP CrackMe0.00402F64
Guardamos los cambios y ahora si el crackme se ejecuta directamenta
:D.
http://rapidshare.de/files/22319791/CrackMe03_patchado22.rar.html
MiEMBRO DE RVLCN
Oberon
www.rvlcnsecurity.com
www.rvlcn.com
www.revolucion7000.com
Lo lograste OberonCracker se ve que las clases de botanica tropical te hicieron bien, he, jajaja.
;D ;D ;D
Saludos (a ver si nos das la leccion de como hallar el serial)
este te estas confundindo de oberon de RVLCN :S
Que acaso no eres oberoncracker el popular creg? :P
De todos modos oberon, pluton, saturno, seria ideal que nos des la mano con el serial de x4uth que esta bien bravo...
;D ;D ;D
que paso con el viejo y Kerido OberonCracker? Sigue con lecciones de Botanica? Estan de moda los OBERON jeje
SALUDOS TENA
buen trabajo :D aunque aun necesita plugins para funcionar....
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
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?
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/
(http://www.freewebtown.com/amoreno/alan.gif)
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%
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..
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..
sip, entonces serai mejor, comparar y debes investigar, como comienzan las demas librerias para que decuardo a la comparacion puedas leer :D...