ИМЯ НЕ НАЙДЕНО показывает в результаты-столбец Контролировать Процесс, поэтому я собирался создать ценность сам. Но я не знаю, если это Binary,строка или, скажем, DWORD к которому пытались получить доступ. Кто-нибудь знает, есть ли способ узнать это в случае RegQueryValue?
Есть ли способ узнать, какое значение реестра было запрошено в Process Monitor?
1 ответ
не совсем, но в некоторых случаях мы можем сделать хорошее предположение.
на RegQueryValue
работа в Process Monitor по существу соответствует RegQueryValueEx
функция вызывается. Эта функция имеет параметр lpType
, но это...
указатель на переменную, которая получает код, указывающий тип данных, хранящихся в указанном значении.
выделено мной. Оно там так, что применения смогут быть сказал тип значения, которое они получили. (RegQueryValueEx
не заботится о типах данных, он просто передает байты. Задача программы-интерпретировать байты.) Даже если программа по какой-то причине указала тип, Process Monitor не сообщает значение при вводе функции, только при успешном выходе.
он, однако, сообщает " length."По непонятным причинам, это на самом деле не lpcbData
значение, предоставляемое приложением для указания размера буфера для результата-в 64-разрядной версии системы, нужно вычесть 12, чтобы получить оригинал. Значение DWord занимает 4 байта, значение QWord - 8 байт, а все остальные типы имеют переменную длину. (Программы могут также вообще не подготавливать память перед вызовом функции, чтобы проверить, существует ли значение.) Поэтому, если" длина", о которой сообщает Process Monitor, составляет 16, программа ожидает 4-байтовый кусок данных, что почти наверняка является DWord.
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]