私はほとんど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でもないか、間違っています。
これは文字列リソースIDを表し、負の数ではなく絶対値にします。 LoadLibrary + LoadString + FreeLibraryを読むにはwinapiを使う必要があります。 –