Título: [ASM][?] Que significa esto? Publicado por: Erik# en 11 Mayo 2009, 21:39 pm mov eax,dword[fs:18h]
mov eax,dword[eax+30h] movzx eax,byte[eax+2] Lo vi en un anti debugger de krakwar y querría saber para que sirve y que hace. Título: Re: [ASM][?] Que significa esto? Publicado por: Eternal Idol en 11 Mayo 2009, 21:45 pm En fs:[0x18] hay un puntero a la estructura TEB (Thread Environment Block), cuyo campo ProcessEnvironmentBlock (puntero a PEB esta en el offset 0x30). A su vez el campo BeingDebugged (un BYTE) esta en el offset 2 de la estructura PEB. Cuando el proceso este siendo depurado eax sera 1 :P
0:000> dt _TEB +0x000 NtTib : _NT_TIB +0x01c EnvironmentPointer : Ptr32 Void +0x020 ClientId : _CLIENT_ID +0x028 ActiveRpcHandle : Ptr32 Void +0x02c ThreadLocalStoragePointer : Ptr32 Void +0x030 ProcessEnvironmentBlock : Ptr32 _PEB +0x034 LastErrorValue : Uint4B ... sigue 0:000> dt _peb ntdll!_PEB +0x000 InheritedAddressSpace : UChar +0x001 ReadImageFileExecOptions : UChar +0x002 BeingDebugged : UChar +0x003 SpareBool : UChar +0x004 Mutant : Ptr32 Void +0x008 ImageBaseAddress : Ptr32 Void +0x00c Ldr : Ptr32 _PEB_LDR_DATA +0x010 ProcessParameters : Ptr32 _RTL_USER_PROCESS_PARAMETERS ... sigue PD. Estas estructuras las podes ver con el comando dt del WinDbg por ejemplo. |