Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 고정 IP주소를 가진 네트워크 어댑터를 검색할 수 없습니다.
- VMWare View Connection Serve
- 멀티테넌시
- IT 자원
- DHCP 설정
- Virtual Private Cloud
- DHCP 설치
- dhcp
- 정수형 데이터타입
- 가상 프라이빗 클라우드
- 클라우드 보안 취약성
- 클라우드 제공자
- 클라우드 자원 관리자
- 수직적 확장
- 제한된 이식성
- Error 1720
- Community Cloud
- 온 프레미스
- 도메인 사용자 또는 그룹을 확인할 수 없습니다.
- 커뮤니티 클라우드
- 클라우드 소비자
- 이 컴퓨터는 도메인의 구성원이 아닙니다.
- View Connection
- VMware
- 클라우드 서비스 소유자
- 자원 풀링
- VMWare vSphere
- 수평적 확장
- 운영관리제어의 축소
- 온디맨드식
Archives
- Today
- Total
한 걸음씩..
드라이버에서 프로세스 검색 본문
반응형
PsSetLoadImageNotifyRoutine, PsRemoveLoadImageNotifyRoutine 함수를 사용하면
새롭게 Load 되는 프로세스 정보를 알 수 있다.
하지만 현재 시스템의 모든 프로세스 정보를 알아낼 수는 없다!
현재 시스템의 모든 프로세스를 알아내기 위해서는
ZwQuerySystemInformation 함수를 사용하면 된다.
UnDocument 함수이기 때문에
NTSTATUS ZwQuerySystemInformation(
ULONG SystemInformationClass,
PVOID SystemInformation,
ULONG SystemInformationLength,
PULONG ReturnLength
);
위와 같은 정의를 미리 해 줘야 한다.
사용방법은 아래와 같다.
PSYSTEM_PROCESSES pSysBuffer = NULL;
ULONG ulRet = 0;
NTSTATUS NtStatus = STATUS_UNSUCCESSFUL;
int i = 0;
while( 1 )
{
i += 1;
ulRet = i * sizeof(SYSTEM_PROCESSES); // 현재 프로세스가 몇 개나 떠 있는지 모르기 때문에 while 구문을 사용한다.
pSysBuffer = ExAllocatePool( NonPagedPool, ulRet );
if ( pSysBuffer == NULL )
break;
RtlZeroMemory( pSysBuffer, ulRet );
NtStatus = ZwQuerySystemInformation( 5, (PVOID)pSysBuffer, ulRet, &ulRet );
if ( NT_SUCCESS(NtStatus) ) 
{
PSYSTEM_PROCESSES curr = (struct _SYSTEM_PROCESSES *)pSysBuffer;
PSYSTEM_PROCESSES prev = NULL;
while( curr != NULL )
{
//
// 상황에 맞는 코드
//
prev = curr;
if( curr->NextEntryDelta )
((char *)curr += curr->NextEntryDelta);
else
curr = NULL;
}
}
ExFreePool( pSysBuffer );
}
반응형
'프로그래밍' 카테고리의 다른 글
Keyboard Memory Dump 발생시키기 (0) | 2013.07.19 |
---|---|
Linux Driver 메모리 할당 - kmalloc / kfree (0) | 2013.07.18 |
[VxWorks] Critical Section 구현 (0) | 2013.07.15 |
EUC-KR 과 KSC5601 의 차이점 (0) | 2013.07.15 |
[MFC]SendInput 사용시 주의 점 (0) | 2013.07.15 |