2011-09-08 12 views
2

私はほとんどmy last questionの答えを持っていますが、私は助けが必要です。dllファイルへのレジストリデータ参照の負のオフセットを理解する

Windowsファイアウォールのルール(アップVistaとは)レジストリに格納されているHKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules

ルールの例:v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Domain|RPort=5722|App=%SystemRoot%\system32\dfsr.exe|Svc=Dfsr|[email protected],-32257|[email protected],-32260|[email protected],-32252|Edge=FALSE|

私はデコードする必要があるフィールドが、私はそれがC:\WINDOWS\System32\FirewallAPI.dllを参照すると思う[email protected],-32252

ですが、私はその数字の仕組みを理解できません。ファイルは〜400KBです。

私はそれが符号なしshortであると思われるようないくつかのバリエーションを試しましたが、それは負ではないふりをして、最後からオフセットされているようなふりをしていました。

誰かに私のアイデアを教えてもらえますか?この数字は何を意味するのでしょうか? DLLファイルについてはほとんど知りません。私が知っているすべてのセクション番号でもあります。

また、期待される出力のテキストを検索しようとしましたが、それは文字単位のバイトでもなく、UTF-16でもないか、間違っています。

+0

これは文字列リソースIDを表し、負の数ではなく絶対値にします。 LoadLibrary + LoadString + FreeLibraryを読むにはwinapiを使う必要があります。 –

答えて

2

レイモンドはそれをカバーしますhere。正の数はリソースのインデックスです。マイナス記号(マイナス記号を削除した後)はリソース識別子です。

関連する問題