У меня почти есть ответ my last question, но мне нужна помощь.Понимание отрицательного смещения ссылки данных реестра на файл dll
окна Правило брандмауэра (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|
поле мне нужно декодировать это [email protected],-32252
Я думаю, что он ссылается C:\WINDOWS\System32\FirewallAPI.dll
, но Я не могу понять, как работает число. Размер файла ~ 400 КБ.
Я пробовал несколько вариантов, например, притворяясь, что это был неподписанный short
, притворяясь, что он не отрицательный, притворяясь, что он был смещен с конца, но они не выглядели правильно, когда я добрался до места с моим шестнадцатеричным редактором.
Может ли кто-нибудь дать мне свои идеи? Что это может означать? Я почти ничего не знаю о файлах DLL. Это может быть даже номер раздела, который я знаю.
Я также попытался найти текст для ожидаемого вывода, но, похоже, он не является ни байтом на символ, ни UTF-16, ни то, что я делаю что-то неправильно.
Он представляет идентификатор ресурса строки, отрицательный, чтобы сделать его абсолютным числом вместо относительного. Вам нужно будет использовать winapi для его чтения, LoadLibrary + LoadString + FreeLibrary. –