windows - Forståelse af en negativ forskydning af en registreringsdatabase reference til en dll-fil

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har næsten svar på mit sidste spørgsmål, men jeg har brug for hjælp.


Windows Firewall-reglerne (Vista og op) er gemt i registreringsdatabasen HKLMSYSTEMCurrentControlSetServicesSharedAccessParametersFirewallPolicyFirewallRules


Eksempelregel: v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Domain|RPort=5722|App=\%SystemRoot\%system32dfsr.exe|Svc=Dfsr|Name=@FirewallAPI.dll,-32257|Desc=@FirewallAPI.dll,-32260|EmbedCtxt=@FirewallAPI.dll,-32252|Edge=FALSE|


Det felt, jeg skal afkode, er EmbedCtxt=@FirewallAPI.dll,-32252


Jeg tror det refererer til C:WINDOWSSystem32FirewallAPI.dll, men jeg kan ikke regne ud, hvordan nummeret fungerer. Filen er ~ 400KB afhængig.


Jeg forsøgte nogle få varianter som at lade ud som om det var en usigneret short, lade ud som om det ikke var negativt, som det var udlignet fra slutningen, men de så ikke rigtigt ud, da jeg ankom til stedet med min hex editor.


Kunne nogen give mig deres ideer? Hvad dette tal kan betyde? Jeg ved næppe noget om DLL-filer. Det kan endda være et sektionsnummer for alt, hvad jeg kender.


Jeg har også forsøgt at søge i teksten for den forventede produktion, men det ser ud til, at det hverken er byte pr. Tegn, og det er heller ikke UTF-16, heller ikke det, eller jeg gør noget forkert.

Bedste reference


Raymond dækker det her. Positive tal er ressourceindekser. Negative tal (når du har fjernet minustegnet) er ressourceidentifikatorer. [7]