강백호...핸들에 대해 설명해봐~~! by 미친감자

img1.gif 핸들요..저를 무시하는겁니까????

 img2.gif 핸들
핸들 이 핸들이죠...자동차 운전할때 사용하는 핸들요...
이게...

무식한것 자랑하냐???

음...알죠...
핸들이 뭔지...

음...
핸들이라는것이 말이죠....커널 오브젝트로 가는 인덱스 값이 잖아요...ㅋㅋㅋ
..
그런데...

예전에 듀얼님이 강의 올린 내용이 너무 좋더라구요...

제가 다시 한번 설명해 볼께요....


단도 직입적으로다....

일단 EPROCESS의 핸들 테이블을 얻어 보죠~~!!

 

lkd> dt _EPROCESS
  +0x000 Pcb              : _KPROCESS
  +0x06c ProcessLock      : _EX_PUSH_LOCK
  +0x070 CreateTime       : _LARGE_INTEGER
  +0x078 ExitTime         : _LARGE_INTEGER
  +0x080 RundownProtect   : _EX_RUNDOWN_REF
  +0x084 UniqueProcessId  : Ptr32 Void
  +0x088 ActiveProcessLinks : _LIST_ENTRY
  +0x090 QuotaUsage       : [3] Uint4B
  +0x09c QuotaPeak        : [3] Uint4B
  +0x0a8 CommitCharge     : Uint4B
  +0x0ac PeakVirtualSize  : Uint4B
  +0x0b0 VirtualSize      : Uint4B
  +0x0b4 SessionProcessLinks : _LIST_ENTRY
  +0x0bc DebugPort        : Ptr32 Void
  +0x0c0 ExceptionPort    : Ptr32 Void
  +0x0c4 ObjectTable      : Ptr32 _HANDLE_TABLE //HANDLE_TABLE포인터
  +0x0c8 Token            : _EX_FAST_REF
   .......................
} EPROCESS, *PEPROCESS;


Copyright All Right Reserved.

EPROCESS에서 ObjectTable 이라는 놈이 핸들 테이블 포인터라구 하는군요...

이놈을 알아와 주는 함수는 다음과 같이 만들수 있겠죠..이것 듀얼님이 만든것 가져온겁니다.

ㅋㅋ
PHANDLE_TABLE GetObjectTable(DWORD Pid)
{
  NTSTATUS status;
  PEPROCESS Process;
  PHANDLE_TABLE ObjectTable;

status = PsLookupProcessByProcessId(Pid,&Process);
if(NT_SUCCESS(status))
{
  ObjectTable = (PHANDLE_TABLE)(*(ULONG*)((ULONG)Process + 0xC4));
  DbgPrint("Pid : %X PEPROCESS : %X ObjectTable :
                      %X ",Pid,Process,ObjectTable);
   ObDereferenceObject(Process);
   return ObjectTable;
}
else
{
  DbgPrint("PsLookup error ");
}
  ObDereferenceObject(Process);
  return 0;
}


오늘도 방문해주신들을 위해 오늘은 여기까지.....낼을 기대해주세요~~!!!
 


덧글

  • 마로 2008/01/09 11:30 # 삭제 답글

    우와.. 항상 좋은 글 감사합니다 :)
    언제나 배우고 가요~
  • suban 2008/01/10 17:03 # 삭제 답글

    전 요즘 영어공부하느라 handle이 생각나네요...'처리하다'...
  • homecafe 2008/01/30 22:25 # 답글

    저기 위에있는 자동차의 핸들은 핸들이 아니라.. 스티어링 휠이라죠 ㅡ0ㅡ; ㅌㅌㅌ
  • 미친감자 2008/01/31 10:01 # 답글

    homecafe 님 그렇군요..스티어링 휠~
※ 이 포스트는 더 이상 덧글을 남길 수 없습니다.