Título: Parchear un ejecutable,posible en asm? Publicado por: Monica_Barcelona en 21 Abril 2010, 21:47 pm Hola chicos como estais??¿¿ bueno espero que muy bien,primero querria agradeceros todo lo qu haceis pro mi
pues bueno busco en google pero no encuenrto nada,lo mas que encontre e sun post que hablaba de parchera una dll peor no es exactamente lo que quiero,yo solo quiero saber si es posible parchear un exe (programado por mi misma) i poderle agregar funciones tales como un MessageBox, etc etc dede otro ejecutable que tambien programare yo previamente,i ya que estoi preguntanto esto para no abrir otro hilo aprovecho y pregunto si es posible mandar i/o recibir datos por el puerto USB 2.0 un saludo chicos! Título: Re: Parchear un ejecutable,posible en asm? Publicado por: tena en 21 Abril 2010, 22:17 pm Queres hacer un loader?
Para pachar un exe? Aqui tienes un tute, salteate la parte del asprotect y fijate como usa Radasma para crear el loader. http://ricardonarvaja.info/WEB/CURSO%20NUEVO/TEORIAS%20NUMERADAS/701-800/770-ASProtect%201.22%20+%20LoaderDebuger%20+%20RadASM.zip (http://ricardonarvaja.info/WEB/CURSO%20NUEVO/TEORIAS%20NUMERADAS/701-800/770-ASProtect%201.22%20+%20LoaderDebuger%20+%20RadASM.zip) Otra de como crear un parche con Radasm. http://ricardonarvaja.info/WEB/OTROS/PROGRAMACION/TEORIAS%20SOBRE%20PROGRAMACION%20EN%20ASSEMBLER/40-Creando%20un%20parche%20en%20RadAsm%202.rar (http://ricardonarvaja.info/WEB/OTROS/PROGRAMACION/TEORIAS%20SOBRE%20PROGRAMACION%20EN%20ASSEMBLER/40-Creando%20un%20parche%20en%20RadAsm%202.rar) Ejemplo de MessageBox con Radasm http://ricardonarvaja.info/WEB/OTROS/PROGRAMACION/TEORIAS%20SOBRE%20PROGRAMACION%20EN%20ASSEMBLER/Ejemplo_MessageBox_de_color_en_RadAsm.zip (http://ricardonarvaja.info/WEB/OTROS/PROGRAMACION/TEORIAS%20SOBRE%20PROGRAMACION%20EN%20ASSEMBLER/Ejemplo_MessageBox_de_color_en_RadAsm.zip) Tutes varios uso de Radasm http://ricardonarvaja.info/WEB/OTROS/PROGRAMACION/TEORIAS%20SOBRE%20PROGRAMACION%20EN%20ASSEMBLER/ (http://ricardonarvaja.info/WEB/OTROS/PROGRAMACION/TEORIAS%20SOBRE%20PROGRAMACION%20EN%20ASSEMBLER/) Tambien tenes estos otros: 349-COMO HACER UN LOADER DEBUGGER PARTE 1.rar 350-COMO HACER UN LOADER DEBUGGER PARTE 2.rar 351-COMO HACER UN LOADER DEBUGGER PARTE 3.rar 352-COMO HACER UN LOADER DEBUGGER PARTE 4.rar 353-COMO HACER UN LOADER DEBUGGER PARTE 5 y final.rar Los descargas de aqui por numero de teoria: http://ricardonarvaja.info/WEB/CURSO%20NUEVO/TEORIAS%20NUMERADAS/301-400/ (http://ricardonarvaja.info/WEB/CURSO%20NUEVO/TEORIAS%20NUMERADAS/301-400/) espero te sirva slds tena Título: Re: Parchear un ejecutable,posible en asm? Publicado por: Monica_Barcelona en 22 Abril 2010, 12:50 pm Hola tena (K) gracias por tu enlaces,pero aun asin no lo entiendo muy bien,necesitaria de un code claro i sencillo de añadir una instruccion tipo MessageBox a otro exe desde otro ejecutable ,vaya un poco lioso todo ee ^^
algo como esto quiero hacer pero sin usar el OlllyDbg http://foro.latinohack.com/f395/inline-patching-notepad-asm-ollydbg-23401/ (http://foro.latinohack.com/f395/inline-patching-notepad-asm-ollydbg-23401/) un saludo y gracias igualmente de verdad (K) Título: Re: Parchear un ejecutable,posible en asm? Publicado por: bizco en 22 Abril 2010, 13:04 pm Bueno para hacer eso por codigo vas a tener que leer un poquito y llegar al punto de entender los tutoriales que te pusieron o minimo entender el formato de los ejecutables. pero yo me pregunto, si los 2 programas los haces tu ¿pq no cargas una dll directamente?. si no es asi, no encuentro la logica a querer meter codigo "embutido" en un programa el cual estas haciendo tu.
Título: Re: Parchear un ejecutable,posible en asm? Publicado por: Monica_Barcelona en 22 Abril 2010, 13:10 pm Te refieres a que ponga las funciones a un dll i que el exe que programo yo pueda utilizar dichas funciones??? osea hacer una libreria dinamica normlal i corriente i que ambox Programas puedan usarlas???
un saludo ctlon Título: Re: Parchear un ejecutable,posible en asm? Publicado por: bizco en 22 Abril 2010, 13:32 pm si, eso exactamente.
Título: Re: Parchear un ejecutable,posible en asm? Publicado por: Monica_Barcelona en 22 Abril 2010, 13:38 pm Hola chiko,veras no es mala idea lo que dices,pero es que no me gustaria que el ejecutable que quiero aprchear (o modificar) dependa de una dll,ya saves si se pierde esa dll el exe deja de funcionar,y nose me gustria apredner a hacer eso,he visto ttoriales donde escriben con al api WriteProcessMemory,eos ya sabia hacerlo cuando hacia Cheats,pero bueno,estoi buscando info pero lo mas que encuentro es genteque lo hace con el OllyDbg,o que hace eso,escribir en la memoria del Processo :(
un saludo ctlon (K)! y gracias por atender a esta pesada :P Título: Re: Parchear un ejecutable,posible en asm? Publicado por: bizco en 22 Abril 2010, 13:47 pm No tiene porque perderse la dll o depender de ella, no linkes el ejecutable a la dll. metela como recurso en el ejecutable y la sacas al disco cuando este se ejecute, luego cargas la dll y obtienes las direcciones de las funciones que necesites. Otra opcion es como dices con WriteProcessMemory, pero eso implica que tendras que leer un poquito mas.
Título: Re: Parchear un ejecutable,posible en asm? Publicado por: Monica_Barcelona en 22 Abril 2010, 13:50 pm Anda me lles el pensamiento? xD mientras escribira la respuesta anteriorpensava en eso del recurso,de inscrustar la dll en el ejecutable pero no se hacerlo,antes cuando programaba en Delphi 7 si savia hacaerlo,pero en ASM no tengo ni idea,nose que apis hay que utilizar para incsrutar un archivo! en delphi almenos tenias que crear con el bloc de notas algo como RCDATA "NOMBRE ARCHIVO" i algo mas creo peor no recuerdo,saves la forma tu?
gracias ctlon! (K) Título: Re: Parchear un ejecutable,posible en asm? Publicado por: bizco en 22 Abril 2010, 13:55 pm que ensamblador utilizas? comente lo del archivo de recursos por decir algo no necesariamente tiene que estar en uno.
Título: Re: Parchear un ejecutable,posible en asm? Publicado por: Monica_Barcelona en 22 Abril 2010, 13:57 pm Utilizo MASM32,imagino que debo crear un RC,depues compilarlo para que me quede un RES i de alli ya nse pero nose como hacer todo eso,si hay algun tuto te lo agradecere un saludo ctlon (K)
Título: Re: Parchear un ejecutable,posible en asm? Publicado por: bizco en 22 Abril 2010, 14:04 pm en masm32 en los ejemplos se usan archivos de recursos.
Título: Re: Parchear un ejecutable,posible en asm? Publicado por: tena en 22 Abril 2010, 16:57 pm Anda me lles el pensamiento? xD mientras escribira la respuesta anteriorpensava en eso del recurso,de inscrustar la dll en el ejecutable pero no se hacerlo,antes cuando programaba en Delphi 7 si savia hacaerlo,pero en ASM no tengo ni idea,nose que apis hay que utilizar para incsrutar un archivo! en delphi almenos tenias que crear con el bloc de notas algo como RCDATA "NOMBRE ARCHIVO" i algo mas creo peor no recuerdo,saves la forma tu? gracias ctlon! (K) Para meter una dll dentro de un exe puedes usar Molebox http://www.molebox.com/ slds EI: juntando mensajes. Este es para hacer el parche, pero no en ejecucion. void __fastcall TForm1::Button1Click(TObject *Sender) { if(OpenDialog1->Execute()) // Mostramos el dialogo abrir { LblPath->Caption=OpenDialog1->FileName; } } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { //VARIABLES// HANDLE exe; unsigned long BytesRead,BytesWrite; Byte buf; // HACEMOS UN BACKUP// if (CheckBox1->Checked==true) { int sizePath=LblPath->Caption.Length()+7; char * newExe=new char[sizePath]; StrCopy(newExe,LblPath->Caption.c_str()); // copio el path StrCat(newExe,".backup"); CopyFile(LblPath->Caption.c_str(),newExe,1); // guardo en disco delete [] newExe; // libero el buffer } // Abro el exe y le doy permisos de esritura y lectura exe=CreateFile(LblPath->Caption.c_str(),GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0); if(exe!=INVALID_HANDLE_VALUE) { int offset=0x105AAC; Byte parche[]={0x50,0xB8,0xEF,0x21,0x43,0x00,0xC7,0x00,0x90,0x90,0x90,0x90,0x83,0xC0,0x04,0x3D,0xFB,0x21,0x43,0x00,0x75,0xF0,0x66,0xC7,0x00,0x90,0x90,0x58,0xE9,0x3B,0xF3,0xF7,0xFF}; SetFilePointer(exe,offset,0,FILE_BEGIN); //seteo el offset WriteFile(exe,parche,21,&BytesWrite,0); } } Si quieres hacerlo con WriteProcessMemory, sera en ejecuion entonces, y debes crear un Loader que lo parche en ejecucion. Sobre lo de meter la dll dentro del exe, para que la dll muestre por ejemplo un MessageBox no le veo mucho sentido, tendrias que hacer un injerto en el exe para poder invocar a la dll y cargar sus funciones. En vez de eso podrias hacer un injerto en el exe para invocar a MessageBox de la User32. Osea, podria funcionar, si lo que quieres es parchar el exe con la dll, deberias tener en cuenta en que punto del exe en ejecucion los vas a parchear, y para saber la direccion en que lo vas a parchear tenes que usar el ollydbg Otra cosa, en un exe sin ninguna proteccion, es sencillo, pero ya si esta empacado es mas dificil. Todo eso si el exe no es tuyo. slds EI: juntando mensajes. Aqui tienes un tutorial sobre como hacer un Loader Simple en Assembler (MASM) http://ricardonarvaja.info/WEB/OTROS/COLABORACIONES/COLABORACIONES/Como%20construir%20un%20loader%20simple%20-%20por%20marciano.rar Viene con el codigo del esqueleto del Loader. slds EI: juntando mensajes, el proximo lo borro. Una buena pagina con tutoriales de assembler http://win32assembly.online.fr/tutorials.html Título: Re: Parchear un ejecutable,posible en asm? Publicado por: Иōҳ en 22 Abril 2010, 18:34 pm mira esto...
los tutos de zeropad, seguramente te serviran http://ricardonarvaja.info/WEB/OTROS/PROGRAMACION%20DE%20VIRUS/ trata sobre la estructura PE y seguramente lo que tu buscas... en el tuto 6 si no me equivoco o mayor trata como obtener la dll Kernel32.DLL asi obtener la funcion getprocaddress y con eso obtienes el manejador de instancia de si tu deseas User32.DLL y obtener la funcion MessageBoxA :D PD: si me Equivoco corriganme u.u PD2: mira aqui tambien postee el tuto http://foro.elhacker.net/ingenieria_inversa/inyeccion_notepad_asm_ollydbg-t270582.0.html;msg1326753#msg1326753 Título: Re: Parchear un ejecutable,posible en asm? Publicado por: Eternal Idol en 22 Abril 2010, 19:53 pm Monica_Barcelona: ya te dejaron muchos enlaces, por favor leelos con detenimiento.
|