Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   obtener peb de mi proceso (https://www.clubdelphi.com/foros/showthread.php?t=86087)

aguml 15-06-2014 20:32:46

obtener peb de mi proceso
 
hola de nuevo amigos, pues lo que quiero es obtener la direccion del peb de mi mismo proceso. Usando asm embevido es algo como MOV EAX,FS:[0x18] //teb MOV PEB,DWORD PTR [EAX+0x30] //peb. Yo quiero hacerlo sin asm embevido pero no se que hace exactamente el mov eax,fs:[0x18]

Casimiro Notevi 15-06-2014 20:59:10

¿Cómo sería "no embebido" y qué es "peb"?

aguml 15-06-2014 21:34:10

cuando digo embebido me refiero a sin usar ensamblador. Y el peb es el block embironment process. Ya he estado leyendo y por lo visto no se puede ya que tendria que usar getthreadcontext y este necesita que el proceso esté suspendido y la cosa se complica porque para eso tendria que crear un thread y desde este suspender el principal que no se ni como se haria.

Casimiro Notevi 15-06-2014 22:29:52

Cita:

Empezado por aguml (Mensaje 477851)
cuando digo embebido me refiero a sin usar ensamblador. Y el peb es el block embironment process.

Bien, te refieres al process environment block, a ver si algún compañero puede ayudarte con eso.

escafandra 18-06-2014 02:02:58

Usa NtQueryInformationProcess

Código:

 
typedef struct _PROCESS_BASIC_INFORMATION {
    PVOID Reserved1;
    //PPEB PebBaseAddress;
    PVOID PebBaseAddress;
    PVOID Reserved2[2];
    ULONG_PTR UniqueProcessId;
    PVOID Reserved3;
} PROCESS_BASIC_INFORMATION;

PROCESS_BASIC_INFORMATION PBI;
NtQueryInformationProcess(GetCurrentProcess(), 0, &PBI, sizeof(PBI), 0);


Saludos.

aguml 18-06-2014 08:47:47

gracias amigo, ya lo pude conseguir. Lo tenia bien codeado pero lo tenia de forma que intentaba obtener el peb desde el evento CREATE_PROCESS_DEBUG_EVENT y, por lo que pude comprobar, en ese momento el peb no esta relleno asi que lo hice desde el oep y listo.


La franja horaria es GMT +2. Ahora son las 19:22:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi