Windows에서 사용되는 구조체 일람
Hidden Process 탐지 방법
( 왠만한 루트킷들은 이 값을 조작하므로 별로 소용없을지도 모르지만,
ZwQuerySystemInformation()을 후킹하여 결과값을 조작하는 식으로 숨기는 경우는
이 방법으로 손쉽게 찾아낼 수 있습니다. )
2. ZwOpenProcess() Brute-Force Detection
유효 PID인 0L부터 0xFFFFL까지 4의 배수들을 모두 Open해서 성공적으로 열어지는 프로세스를
감지합니다. 단, 프로세스가 종료되었으나 핸들이 닫히지 않은 경우에도 Open되므로 추가적인
확인이 필요합니다.
3. PspCidTable Traverse
Windows NT에는 PspCidTable이라는 Unexported Symbol이 존재하는데, 프로세스와 스레드에
대한 개체 포인터들을 저장하고 있는 핸들 테이블의 일종입니다. 이를 트레버싱하여 숨겨진
프로세스를 찾을 수도 있습니다.
( 개체 포인터만 저장되어있으므로, 포인터-0x18 한 값이 가리키는 OBJECT_HEADER 헤더의
Type 필드가 PsProcessType인지 검사해줄 필요가 있습니다. )
4. Process Handle Table Link Traverse
EPROCESS에는 HandleTable 필드가 존재하고 이 안에는 링크드 리스트가 존재합니다.
이 리스트를 이용해서 트레버싱하면 모든 EPROCESS를 찾을 수 있습니다.
5. CSRSS.EXE의 Handle Table Traversing
CSRSS.EXE 프로세스는 프로세스 시작을 커널에 통지하고 그 뒷처리를 하는 역할을 하기도 합니다.
(BaseSetProcessCreateNotify라는 Unexported/Undocumented Symbol을 이용합니다.
[출처] 제가 알고있는 숨겨진 프로세스를 찾는 방법들|작성자 에버어어
긴 인자를 갖는 OPCODE
EA 907CEF3D 927C JMP FAR 7C92:3DEF7C90 ; Far jump
8192 7C43D690 7CE94B92 ADC DWORD PTR DS:[EDX+90D6437C],924BE97C
6943 07 00895B07 IMUL EAX,DWORD PTR DS:[EBX+7],75B8900
C005 0010C105 00 ROL BYTE PTR DS:[5C11000],0 ; Shift constant out of range 1..31
699403 00889000 00EBE805 IMUL EDX,DWORD PTR DS:[EBX+EAX+908800],5>
8005 00B83A07 00 ADD BYTE PTR DS:[73AB800],0
C705 00B81C03 00A1C705 MOV DWORD PTR DS:[31CB800],5C7A100
9A 510000AB 5100 CALL FAR 0051:AB000051 ; Far call
6980 00008280 00009880 IMUL EAX,DWORD PTR DS:[EAX+80820000],8098>
Visual Studio 프로젝트의 불필요한 파일들 일괄 삭제하기
첨부된 레지스트리를 설치하면,
마우스 오른버튼 기능에 다음과 같이
"Delete Temp Files For SVN" 이라는 메뉴가 추가된다.
해당 기능을 실행하면,
프로젝트의 불필요한 파일들이 삭제된다.
삭제를 등록한 확장자는 다음과 같다.
Unnecessary Visual Studio Files
*.plg : ProgramLoG 파일. 컴파일과 링크 결과등의 정보 기록
*.ncb : Workspace View Class Browsing 파일. 소스 편집 정보를 담고 있음
*.aps
*.opt
*.clw
Intermediate Files
*.obj : .cpp의 컴파일 결과로 생성된 오브젝트 파일
*.idb : incremental link DataBase 파일
*.pch : PreCompiledHeader
*.res : .rc 의 컴파일 결과로 생성된 리소스 바이너리 파일
*.pdb : Program DataBase 파일
*.scc : SourceSafe 정보 파일
*.sbr
*.exp
*.bsc
*.ilk
etc
*.tmp : 임시파일
*.log : 각종 로그파일