Есть ли способ узнать, какое значение реестра было запрошено в Process Monitor?

ИМЯ НЕ НАЙДЕНО показывает в результаты-столбец Контролировать Процесс, поэтому я собирался создать ценность сам. Но я не знаю, если это Binary,строка или, скажем, DWORD к которому пытались получить доступ. Кто-нибудь знает, есть ли способ узнать это в случае RegQueryValue?

RegQueryValue

28
задан Starhowl
16.05.2023 13:58 Количество просмотров материала 3087
Распечатать страницу

1 ответ

не совсем, но в некоторых случаях мы можем сделать хорошее предположение.

на RegQueryValue работа в Process Monitor по существу соответствует RegQueryValueEx функция вызывается. Эта функция имеет параметр lpType, но это...

указатель на переменную, которая получает код, указывающий тип данных, хранящихся в указанном значении.

выделено мной. Оно там так, что применения смогут быть сказал тип значения, которое они получили. (RegQueryValueEx не заботится о типах данных, он просто передает байты. Задача программы-интерпретировать байты.) Даже если программа по какой-то причине указала тип, Process Monitor не сообщает значение при вводе функции, только при успешном выходе.

он, однако, сообщает " length."По непонятным причинам, это на самом деле не lpcbData значение, предоставляемое приложением для указания размера буфера для результата-в 64-разрядной версии системы, нужно вычесть 12, чтобы получить оригинал. Значение DWord занимает 4 байта, значение QWord - 8 байт, а все остальные типы имеют переменную длину. (Программы могут также вообще не подготавливать память перед вызовом функции, чтобы проверить, существует ли значение.) Поэтому, если" длина", о которой сообщает Process Monitor, составляет 16, программа ожидает 4-байтовый кусок данных, что почти наверняка является DWord.

1
отвечен Ben N 2023-05-17 21:46

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх