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;
}