Chunnomi Online
ノード数取得
最終更新:
chunnomi
-
view
RtlNumberGenericTableElements
おそらくは単純な関数であろうRtlNumberGenericTableElementsを見てみよう。
もしも、ルートのデータ構造がテーブル中の全要素数を表すメンバ変数を持つならば、
単にそれを返すだけだろう。そうでない場合は、全要素を繰り返したどって数え上げるに違いない。
RtlNumberGenericTableElementsのコード列を次に示す。
もしも、ルートのデータ構造がテーブル中の全要素数を表すメンバ変数を持つならば、
単にそれを返すだけだろう。そうでない場合は、全要素を繰り返したどって数え上げるに違いない。
RtlNumberGenericTableElementsのコード列を次に示す。
RtlNumberGenericTableElements: 7C923FD2 PUSH EBP 7C923FD3 MOV EBP, ESP 7C923FD5 MOV EAX, DWORD PTR [EBP+8] 7C923FD8 MOV EAX, DWORD PTR [EAX+14] 7C923FDB POP EBP,
答えは既に出たようだ。前回と同じデータ構造へのポインタを受け取り、そのオフセット0x14にある値、
つまり、第6メンバ変数の値を返している。TABLE構造体の定義を更新するとしよう。
つまり、第6メンバ変数の値を返している。TABLE構造体の定義を更新するとしよう。
struct TABLE { UNKNOWN Member1; UNKNOWN_PTR Member2; UNKNOWN_PTR Member3; UNKNOWN_PTR Member4; UNKNOWN Member5; ULONG NumberOfElements; UNKNOWN Member7; UNKNOWN Member8; UNKNOWN Member9; UNKNOWN Member10; }