티스토리 뷰

RtlIsGenericTableEmpty 함수에 대해 살펴보면 아래와 같다.
RtlIsGenericTableEmpty:
7C92715B    PUSH EBP
7C92715C    MOV EBP,ESP
7C92715E    MOV ECX,DWORD PTR [EBP+8]
7C927161    XOR EAX,EAX
7C927163    CMP DWORD PTR [ECX],EAX
7C927165    SETE AL
7C927168    POP EBP
7C927169    RET 4
//--------------------------------------------------------
// 다시 살펴보면 아래와 같다.
7C92715B    PUSH EBP
7C92715C    MOV EBP,ESP
7C92715E    MOV ECX,DWORD PTR [EBP+8]
7C927161    XOR EAX,EAX
7C927163    CMP DWORD PTR [ECX],EAX
7C927165    SETE AL
/*
 struct _unknownstruct1
 {
   int element1;             // 이곳이 0 인지 검사해서 반환, 
                             // 이 변수가 정확히 어떤 값인지 알 수는 없으나 
                             // Table이 Empty 인지 여부를 확인 가능한 값이 담겨있다.
   struct _unknownstruct2
   {
     struct _unknownstruct2* element1;
     struct _unknownstruct2* element2;
   };
   struct _unknownstruct2* element3;
   int element4;
   ULONG NumberOfElements;
   unknown element6;
   unknown element7;
   unknown element8;
   unknown element9;
 } unknownstruct;
*/
7C927168    POP EBP
7C927169    RET 4
//--------------------------------------------------------
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
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
글 보관함