elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: [1] 2
1  Informática / Electrónica / Re: Introducción a microcontroladores PIC [simulando nuestro programas en ASM y en: 6 Julio 2006, 08:50 am
neceiso un manual desde cero :( si tienes enviame a mi mail
xxxxxx@gmail.com

saludos cordiales

atte
alan moreno
2  Informática / Electrónica / AYuda con 16F84 en: 6 Julio 2006, 08:38 am
hola estimados, alguien me puede ayudar quiero aprender a programar estos microcontrladores  alguien tiene un tutorial o curso donde pueda iniciarme :)..

saludos a todos

msn+ mail: alanstr@gmail.com

atte
Alan Moreno
3  Programación / Ingeniería Inversa / Re: CrackMe03 by x4uth en: 10 Junio 2006, 00:12 am
sip, entonces serai mejor, comparar y debes investigar, como comienzan las demas librerias para que decuardo a la comparacion puedas leer :D...

4  Programación / Ingeniería Inversa / Re: CrackMe03 by x4uth en: 9 Junio 2006, 03:54 am
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..
5  Programación / Ingeniería Inversa / Re: CrackMe03 by x4uth en: 8 Junio 2006, 04:35 am
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/



6  Programación / Ingeniería Inversa / Re: CrackMe03 by x4uth en: 7 Junio 2006, 05:01 am
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
7  Programación / Ingeniería Inversa / Re: CrackMe03 by x4uth en: 6 Junio 2006, 03:56 am
este te estas confundindo de oberon de RVLCN  :S
8  Programación / Ingeniería Inversa / Re: CrackMe03 by x4uth en: 6 Junio 2006, 02:36 am
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
9  Programación / Ingeniería Inversa / Re: CrackMe03 by x4uth en: 6 Junio 2006, 02:09 am
hola, si tienes razon ya vi el error jejeje :) 
10  Programación / Ingeniería Inversa / Re: CrackMe03 by x4uth en: 5 Junio 2006, 23:28 pm
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


Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines