본문 바로가기

코드82

윈도우 화면 잠금 Window + L #include #define IsWin2000Plus() ((DWORD)(LOBYTE(LOWORD(GetVersion()))) >= 5) int (__stdcall * MyLockWorkStation)(); int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { HINSTANCE hinstLib; if (IsWin2000Plus()) { hinstLib = LoadLibrary("USER32.DLL"); if (hinstLib) { MyLockWorkStation = (int (__stdcall *)()) GetProcAddress(hinstLib, "LockWorkStation.. 2013. 6. 25.
NtQueryVirtualMemory MappedImageFileName 옵션 이해 코드 RectOs 로 부터 NTSTATUS NTAPI NtQueryVirtualMemory ( IN HANDLE ProcessHandle, IN PVOID BaseAddress, IN MEMORY_INFORMATION_CLASS MemoryInformationClass, OUT PVOID MemoryInformation, IN SIZE_T MemoryInformationLength, OUT PSIZE_T ReturnLength ) Definition at line 3549 of file virtual.c. { NTSTATUS Status = STATUS_SUCCESS; KPROCESSOR_MODE PreviousMode; DPRINT("Querying class %d about address: %p\n", M.. 2013. 3. 15.
PEB32, PEB64 Templete #define PEBTEB_BITS 32 #include "pebteb.h" #undef PEBTEB_BITS #define PEBTEB_BITS 64 #include "pebteb.h" #undef PEBTEB_BITS #pragma pack(push) #pragma pack(1) template struct LIST_ENTRY_T { T Flink; T Blink; }; template struct UNICODE_STRING_T { union { struct { WORD Length; WORD MaximumLength; }; T dummy; }; T _Buffer; }; template struct _PEB_T { union { struct { BYTE InheritedAddressSpace; BYT.. 2013. 2. 15.
프로세스의 PEB 의 Parameter의 필드의 정보를 가져오기 typedef NTSTATUS(WINAPI *NtQueryInformationProcessT)(HANDLE,PROCESSINFOCLASS,PVOID,ULONG,PULONG); typedef NTSTATUS (WINAPI * NtReadVirtualMemoryT)(HANDLE,PVOID,PVOID,ULONG,PULONG); enum { PhpoCurrentDirectory = 0, PhpoDllPath, PhpoImagePathName, PhpoCommandLine, PhpoWindowTitle, PhpoDesktopName, PhpoShellInfo, PhpoRuntimeData, }; typedef struct _XRTL_USER_PROCESS_PARAMETERS { ULONG MaximumLength.. 2013. 2. 14.
DNS cache 도메인 네임 얻기 typedef struct _DNS_CACHE_ENTRY { struct _DNS_CACHE_ENTRY* next; PWSTRname; USHORTtype; USHORTdata_length; ULONGflag; } DNS_CACHE_ENTRY, *PDNS_CACHE_ENTRY; typedef int(WINAPI *fpDnsGetCacheDataTable)(PDNS_CACHE_ENTRY); int GetDnsCachedDomainName() { PDNS_CACHE_ENTRY entry = (PDNS_CACHE_ENTRY)malloc(sizeof(DNS_CACHE_ENTRY)); HINSTANCE h = LoadLibrary(TEXT("DNSAPI.dll")); fpDnsGetCacheDataTable Dn.. 2012. 12. 20.
[NTSTATUS] Win32 오류 코드 NT 상태 오류 코드 매핑 커널 모드 드라이버를 입/출력 (I/O) 요청 때문에 Win32 하위 시스템에서 호출되면 커널 모드 드라이버에서 반환한 상태 코드가 변환됩니다 상태 코드는 Win32 오류 코드를 해당하는. 다음 표에서는 Windows NT 상태 코드는 Win32 오류 코드는 매핑을 보여 줍니다. WINDOWS NT STATUS CODE WIN32 ERROR CODE ------------------------------------------------------------------ STATUS_DATATYPE_MISALIGNMENT ERROR_NOACCESS STATUS_ACCESS_VIOLATION ERROR_NOACCESS STATUS_DATATYPE_MISALIGNMENT_ERROR ERROR_NOACCESS S.. 2012. 4. 12.