본문 바로가기
반응형

Programming/System Programming12

VirtualProtectEx메모리 속성변경 size 특정 메모리의 몇 바이트만 메모리 속성변경하고 에러 핸들링을 싶었는데 이부분이 변경되지 않아 삽질이 시작했습니다....그러면서 알게된 내용들은 정리해보겠습니다 먼저, VirtualProtectEx API에 대해서 알아본다. BOOL WINAPI VirtualProtectEx( _In_ HANDLE hProcess, _In_ LPVOID lpAddress, _In_ SIZE_T dwSize, _In_ DWORD flNewProtect, _Out_ PDWORD lpflOldProtect ); - hProcess : 메모리 속성 변경 프로세스- lpAddress : 변경 메모리- dwSize : 변경메모리 size- flNewProtect : 변경할 메모리 속성- lpflOldProtect : 기존 메모리 속.. 2018. 5. 24.
[Driver]프로세스/DLL로드 및 소멸 모니터링 프로그래밍 이번에는 유투브 강의를 통해 간단하게 배운 프로세스/DLL로드 및 소멸 모니터링하는 프로그램을 코딩해보았습니다. 개발하게 된 Driver는 PsSetCreateProcessNotifyRoutine와 PsRemoveLoadImageNotifyRoutine를 통하여 진행되었습니다. 우선, 프로세스 생성및 소멸에 관련된 정보를 얻기위해 다음의 함수를 사용합니다. ※ PsSetCreateProcessNotifyRoutine함수 - Windows는 위 함수를 통하여 드라이버에 전달을 프로세스가 생성/소멸될때 SetCreateProcessNotifyRoutine가 CallBack Routine에 추가합니다. NTSTATUS PsSetCreateProcessNotifyRoutine( _In_ PCREATE_PROCE.. 2017. 7. 6.
[WIN32 / C]모든 프로세스 모듈 스캔 코드 Process의 하위 Module Name을 검색하는 코드입니다. 출력 결과입니다. 2017. 5. 4.
[WIN32 / C] 권한상승 코드 bool levelup_privileges() { HANDLE hProc = NULL; HANDLE hToken = NULL; LUID luid; TOKEN_PRIVILEGES tp; if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) { if (LookupPrivilegeValue(NULL, "SeDebugPrivilege", &luid)) { tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; tp.Privileges[0].Luid = luid; tp.PrivilegeCount = 1; AdjustTokenPrivileges(hToken, FALSE,.. 2017. 5. 3.
반응형