5
Programa Creando un parche en RadAsm 2 Protecció n Descripci ón Pues eso Dificulta d Minima eso creo :-p DownLoad Herramien ta RadAsm y Olly Cracker Daniel – La Calavera - Fecha 17/12/200 4 INTRODUCCION Bueno en este tute tratare de explicar lo mas sencillo posible como crear un parche en RadAsm. Bueno espero que le sea útil a alguien AL ATAKE Bueno comencemos junto con el tute viene un crackme, llamado “crackme_parch.exe” bien mirémoslo cn el Olly a ver donde esta el salto que hay que invertir para que muestre el cartel de chico bueno

Tute Creando Un Parche en RadAsm

  • Upload
    rogncx

  • View
    23

  • Download
    6

Embed Size (px)

DESCRIPTION

parche radasm

Citation preview

Programa

ProgramaCreando un parche en RadAsm 2

Proteccin

DescripcinPues eso

DificultadMinima eso creo :-p

DownLoad

HerramientaRadAsm y Olly

CrackerDaniel La Calavera -Fecha17/12/2004

INTRODUCCION

Bueno en este tute tratare de explicar lo mas sencillo posible como crear un parche en RadAsm.

Bueno espero que le sea til a alguien (

AL ATAKE

Bueno comencemos junto con el tute viene un crackme, llamado crackme_parch.exe bien mirmoslo cn el Olly a ver donde esta el salto que hay que invertir para que muestre el cartel de chico bueno

bueno all en la imagen tenemos en 401073 el salto, ahora hacemos clic derecho view(Executable File y veremos el Offset de donde esta ubicado el salto y como vemos esta en

00000473 75 13 JNZ SHORT 00000488

o sea que el Offset es 473 bien ya tenemos los datos que necesitamos para nuestro parche, tenemos el Offset 473 y el byte a cambiar 75 por 74 as que vallamos a la programacin directamente que para eso es este tute jejeje.

Bueno comenzamos, abrimos un nuevo proyecto como lo venamos asiendo y colocamos un par de controles, un visor de AVI, Un Edit Text, 2 Botones, una etiqueta, en el men Proyect( resource agregamos el icono y el AVI, y nos quedara algo as

Bonito no :-P, bueno la interface la pueden crear a su gusto ;-)

Bueno vallamos a lo principal de todo esto, a tipiar cdigo de maquina ;-)

Bueno el cdigo necesario para crear el parche es este

.if eax==WM_INITDIALOG

invoke LoadIcon,hInstance,501

mov icon, eax

invoke SendMessage,hWin,WM_SETICON,NULL,icon

invoke SetDlgItemText,hWin,1004, offset leyenda

.elseif eax==WM_COMMAND

mov eax, wParam

.if eax==1001

invoke CopyFile,offset archivo, offset back,TRUE

invoke CreateFile, addr archivo,GENERIC_WRITE or GENERIC_READ , FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL

mov hFile, eax

invoke CreateFileMapping, hFile, NULL, PAGE_READWRITE,0,0,0

mov hMapping, eax

invoke MapViewOfFile,hMapping,FILE_MAP_WRITE,0,0,0

mov pMapping,eax

add eax, 473h

mov ecx, 74h

mov [eax], cl

mov eax, [eax]

.if al==74h

invoke MessageBox,0,offset texto, offset titulo,MB_OK

.endif

Bueno vamos a explicar esto un poco

invoke CopyFile,offset archivo, offset back,TRUE

bueno aqui lo que hacemos es crear una copia del archivo original por cualquier problema que halla, luego tenemos

invoke CreateFile, addr archivo,GENERIC_WRITE or GENERIC_READ ,FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL

Bueno con esto abrimos el archivo a crackear, luego tenemos

invoke CreateFileMapping, hFile, NULL, PAGE_READWRITE,0,0,0

mov hMapping, eax

Bueno esta api lo que hace es crear un mapa en memoria del archivo abierto por CreateFile, pasndole como parmetros el hande del archivo, y en forma de lectura y escritura, luego tenemos

invoke MapViewOfFile,hMapping,FILE_MAP_WRITE,0,0,0

mov pMapping,eax

Con esta api lo que hacemos es desbloquear el mapa creado anteriormente, pasndole el Handle del mapa creado, y habilitando el mapa para que se pueda escribir, si la API tubo xito la direccin donde fue cargado el archivo nos quedara en EAX si vamos a la direccin que esta en EAX veremos el archivo abierto, as que para aplicar el parche debemos sumar la direccin devuelta en EAX + 473 que era el Offset del salto a cambiar, lo cual hacemos aqu

add eax, 473h

mov ecx, 74h

mov [eax], cl

le sumamos a EAX, 473h luego movemos a ECX el valor a cambiar, y luego se lo movemos a la direccin que indica EAX, con esto estaria listo el parche, pero para dar un aviso si tuvo xito el parche agregamos esta parte

mov eax, [eax]

.if al==74h

invoke MessageBox,0,offset texto, offset titulo,MB_OK

.endif

movemos a EAX en DWORD de la direccin del que esta en EAX y comprobamos si AL es = a 74H si es = mostramos un mensaje de que el parche fue aplcicado.

Bueno eso es todo, por alguna razon que no se, haciendo esto el cambio ya queda echo en el archivo y no hace falta usar mas apis para crear el nuevo archivo.

Bueno solo faltan declarar los .data

.data

icon dd ?

archivo db "crackme_parch.exe",0

back db "crackme_parch.exe.bak",0

hFile dd ?

hMapping dd ?

pMapping dd ?

texto db "El Parche fue aplicado",0

titulo db "Atencion !!!",0

leyenda db "Parche creado por La Calavera, totalmente en RadAsm",0

Bueno eso es todo espero que se halla entendido, cualquier duda, cualquier otra cosa ya saben mandan un mail y listo.

Saludos a toda la lista de CracksLatinos.

Daniel - La Calavera

Mail: [email protected]