Título: ya logre obtener PEB de kernel32.. y ahora como continuo? Publicado por: Belial & Grimoire en 14 Junio 2012, 06:00 am hola
bueno, estoy aprendiendo asm, acabo de entender como encontrar PEB de kernel32.dll Código
estuve revisndo sobre la estructura PEB, apuntar a InLoadOrderModuleList de LDR, etc... ya lo intente y si me funciono, pero despues que tengo que hacer para encontrar LoadLibraryA?, y como podria utilizarlo para obtener la direccion con GetProcAddress de MessageBoxA y poder ejecutar un MessageBox con un mensaje? y porcierto, porque ese mismo codigo en asm no me funciona en fasm?, cual es la diferencia? espero me puedan orientar, salu2 Título: Re: ya logre obtener PEB de kernel32.. y ahora como continuo? Publicado por: _Enko en 14 Junio 2012, 22:20 pm En cuanto a la parte de fasm:
Código: [fs:0x30] Saludos. Título: Re: ya logre obtener PEB de kernel32.. y ahora como continuo? Publicado por: Belial & Grimoire en 15 Junio 2012, 06:06 am hola
gracias por responder asi pongo el codigo con [fs:0x30], pero me aparece un error al ejecutarlo, intente depurarlo pero la verdad no entendi cual seria el error :( Código
y encontre esto Código
pero no entiendo donde o como hizo una llamada a la Api GetProcAddress, solo tiene esto Código
y no veo como llamo a la API, talvez es porque estoy acostumbrado a que en C se escribe que api necesitas porque aqui no lo veo y tambien encontre Código
crees que si hago algo asi funcione? Código
XD... bueno la verdad no se que hice, espero me puedan ayudar, porke no se como mas podria empezar salu2 Título: Re: ya logre obtener PEB de kernel32.. y ahora como continuo? Publicado por: x64core en 15 Junio 2012, 09:25 am El problema es que solo estas haciendo copy - paste y quiza ni sabes lo basico de lenguaje ensamblador ( no lo digo de mal forma )
solo viendo tu codigo y eso de... Citar crees que si hago algo asi funcione? que es eso? crees que no seria mucho más seguro y rapido comprobarlo por vos mismo y tratar de ensamblar y depurar el codigo para ver si funciona? si se obtiene lo que esperas es porque funciona no? sino hay que depurar. para saber como usar la W32 esta la MSDN. Título: Re: ya logre obtener PEB de kernel32.. y ahora como continuo? Publicado por: fary en 15 Junio 2012, 13:34 pm http://el-blog-de-thor.blogspot.com.es/2011/05/usando-getprocaddress-y-loadlibrary_07.html
Título: Re: ya logre obtener PEB de kernel32.. y ahora como continuo? Publicado por: _Enko en 15 Junio 2012, 15:42 pm Tampoco dices que es lo que quieres lograr.
No pudes utilizar win32ax.inc si no quieres tener una sección de imports. Porque ese conjunto de macros te agrega todos los imports automáticamente. A ningún antivirus le gustan las ejecutables que no tengan una sección con imports. Título: Re: ya logre obtener PEB de kernel32.. y ahora como continuo? Publicado por: Иōҳ en 15 Junio 2012, 17:29 pm Tienes que estudiar el Formato PE.
Saludos, Nox. Título: Re: ya logre obtener PEB de kernel32.. y ahora como continuo? Publicado por: MCKSys Argentina en 15 Junio 2012, 22:34 pm Esto esta en los ejemplos del paquete MASM: \masm32\examples\exampl06\mob\noimport
Aca se saca la base del Kernel del stack. Creo que sacarlo de la PEB es mejor.. :) Espero te sirva Código: ; ======================================= Título: Re: ya logre obtener PEB de kernel32.. y ahora como continuo? Publicado por: Belial & Grimoire en 16 Junio 2012, 05:51 am Citar RHL El problema es que solo estas haciendo copy - paste y quiza ni sabes lo basico de lenguaje ensamblador ( no lo digo de mal forma ) solo viendo tu codigo que es eso? crees que no seria mucho más seguro y rapido comprobarlo por vos mismo y tratar de ensamblar y depurar el codigo para ver si funciona? si se obtiene lo que esperas es porque funciona no? sino hay que depurar. jeje yo se que parece un copy - paste, pero si e investigado sobre la estructura PEB, incluso en el primer post describo que estudie el como encontrarlo, talvez hay formas mas optimas pero apenas estoy empezando con ASM por eso no puedo hacer todavia algo mas optimo el problema tambien esta en que no encuentro tutoriales ASM con ejercicios, solo encuentro con 3 ejercicios, un "hola mundo", un MessageBoxA y una GUI asi que pues decidi, hacer cosas que hago en C, pero en ensamblador para irme acostumbrando Y si trate de comprobarlo pero no me funciono, y preferi poner un intento fallido, a no poner nada y que piensen que estoy esperando que alguien me haga todo Citar mDrinky http://el-blog-de-thor.blogspot.com.es/2011/05/usando-getprocaddress-y-loadlibrary_07.html gracias, de aqui encontre la explicacion de la estructura PEB y esta parte no la habia visto Citar _Enko Tampoco dices que es lo que quieres lograr. No pudes utilizar win32ax.inc si no quieres tener una sección de imports. Porque ese conjunto de macros te agrega todos los imports automáticamente. A ningún antivirus le gustan las ejecutables que no tengan una sección con imports. pues de hecho si lo hice, en el primer post comente que queria saber como encontrar las direcciones para ejecutar un messagebox con un mensaje algo parecido a C Este codigo sencillo es mio, no vayan a pensar que lo copie ;D Código
a lo de win32ax solo lo puse porque me dijeron que si ponia eso, ya no era necesario imports, pero entonces creo mejor lo quitare y me acostumbrare a los imports ;D Citar Иōҳ Tienes que estudiar el Formato PE. pues si los estuve estudiando, de hecho fui el que mas pregunto en el taller de "The Swash", la verdad me ayudo mucho su taller, logre aprender bastante Citar MCKSys Argentina Esto esta en los ejemplos del paquete MASM: \masm32\examples\exampl06\mob\noimport Aca se saca la base del Kernel del stack. Creo que sacarlo de la PEB es mejor.. :) gracias, pero eso es lo que estoy tratando de encontrar es despues de kernel32, que mas sigue, por eso pedia saber que mas necesito estudiar o entender para poder continuar, digo no busco que me pongan el codigo, sino que tengo que aprender o buscar para poder avanzar y si llegara a tener problemas, esperar que alguien aqui me pueda orientar, sobre que podria estar haciendo mal bueno, espero me pudan ayudar salu2 Título: Re: ya logre obtener PEB de kernel32.. y ahora como continuo? Publicado por: _Enko en 16 Junio 2012, 16:07 pm Si quieres un MessageBox haces esto:
Citar ; example of simplified Windows programming using complex macro features Y todo el demás embrollo es innecesario.include '%fasminc%\win32ax.inc' ; you can simply switch between win32ax, win32wx, win64ax and win64wx here .data msg db '..........',0 .code start: invoke MessageBox,HWND_DESKTOP,msg,msg,MB_OK invoke ExitProcess,0 .end start Ahora, si quieres un Messagebox sin tener que usar el import de MessageBoxA ... no lo has dicho en su momento. El codigo de C que pasaste en assembly se va a ver muy parecido. Importas LoadLibrary y la usas para conseguir el resto de las direcciones. Código: invoke LoadLibrary, szUSER32 Título: Re: ya logre obtener PEB de kernel32.. y ahora como continuo? Publicado por: MCKSys Argentina en 18 Junio 2012, 20:00 pm @Belial & Grimoire: Creo que te has confundido. La forma en que estas obteniendo la base del Kernel es normalmente usada en shellcodes: http://en.wikipedia.org/wiki/Shellcode
En ASM "Normal", no es necesario hacer esto porque tienes todas las APIs de Windows a tu disposicion. Como si estuvieras programando en cualquier otro lenguaje. Me refiero a que no necesitas acceder a la PEB para obtener la base del kernel, cuando puedes hacer LoadLibrary de la DLL. Consulta los ejemplos basico del asm que estes viendo. Los tutoriales de iczelion tambien son un buen punto de partida. Saludos! |