LdrResSearchResource を解析してみた
Windows Vista 以降の ntdll にある関数LdrResSearchResource を解析してみました
関数の仕様
NTSTATUS LdrResSearchResource(HINSANCE hDllBase, DWORD sizeTYPE, DWORD []Resource_TYPE, DWORD unknown, DWORD *resAdr, DWORD *resSize, wchar_t *resFolder, DWORD *resFolSize);
hDllBase 対象のファイルのbaseアドレス
sizeTYPE
後述のリソースタイプの配列の大きさ
Resource_TYPE
スキャンするリソースのタイプを配列で格納
大概、{RT_MANIFEST, CREATEPROCESS_MANIFEST_RESOURCE_ID, 0}が格納されてる
unknown
0だったり、0x1100だったり 0x1108が格納されてる
FILE_VER_GET_LOCALISED の場合は 0x1108だった
resAdr
ロードしたリソースの格納アドレス
resFolder
リソースの言語ローケルで格納すべき MUIフォルダ。
そこにリソースがあるとは限らない。NULLでもOK
resFolSize
リソースフォルダを格納するのに必要なwchar_t のサイズ。NULLでもOK
返り値
0 成功
Comments