Process Monitor 3.10
Mar. 10th, 2014 01:04 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Коллеги, Process Monitor обновился до версии 3.10 и вот почему это важно:
Как вам может быть известно, открывать ключи реестра на чтение можно как минимум двумя функциями с противоположными по смыслу названиями: RegCreateKeyEx и RegOpenKeyEx. RegCreateKeyEx создаёт переданный ей ключ реестра, а если он уже существует, просто открывает его. При этом, функция записывает выполненное действие (создание/открытие) в отдельную переменную, которую ей тоже можно передать при вызове.
RegOpenKeyEx создавать ключи реестра не умеет и в случае отсутствия переданного ей ключа, возвращает ошибку.
Ранее, у нас не было возможности понять в Process Monitor'е, какую именно операцию выполнила функция RegCreateKeyEx, свойство Granted Access для вызова такой функции всегда содержало строку «Read/Write».

В последнем обновлении Process Monitor 3.10 наконец-то научили распознавать действие, произведённое функцией RegCreateKeyEx. Свойства Granted Access для операции RegСreateKey больше нет, зато есть новое свойство Disposition в котором будет указано:
REG_CREATED_NEW_KEY - если функция RegCreateKeyEx создала отсутствующий ключ реестра.

REG_OPENED_EXISTING_KEY - если ключ существовал до вызова функции RegCreateKeyEx и она его просто открыла.

Свойство Desired Access осталось неизменным - «Read/Write», что логично, т.к. до вызова функции неизвестно, что именно она будет делать.
Новая возможность Process Monitor позволит вам быстро фильтровать события. Для этого добавьте условие в котором колонка Detail содержит либо REG_CREATED_NEW_KEY, либо REG_OPENED_EXISTING_KEY.

Как вам может быть известно, открывать ключи реестра на чтение можно как минимум двумя функциями с противоположными по смыслу названиями: RegCreateKeyEx и RegOpenKeyEx. RegCreateKeyEx создаёт переданный ей ключ реестра, а если он уже существует, просто открывает его. При этом, функция записывает выполненное действие (создание/открытие) в отдельную переменную, которую ей тоже можно передать при вызове.
RegOpenKeyEx создавать ключи реестра не умеет и в случае отсутствия переданного ей ключа, возвращает ошибку.
Ранее, у нас не было возможности понять в Process Monitor'е, какую именно операцию выполнила функция RegCreateKeyEx, свойство Granted Access для вызова такой функции всегда содержало строку «Read/Write».

В последнем обновлении Process Monitor 3.10 наконец-то научили распознавать действие, произведённое функцией RegCreateKeyEx. Свойства Granted Access для операции RegСreateKey больше нет, зато есть новое свойство Disposition в котором будет указано:
REG_CREATED_NEW_KEY - если функция RegCreateKeyEx создала отсутствующий ключ реестра.

REG_OPENED_EXISTING_KEY - если ключ существовал до вызова функции RegCreateKeyEx и она его просто открыла.

Свойство Desired Access осталось неизменным - «Read/Write», что логично, т.к. до вызова функции неизвестно, что именно она будет делать.
Новая возможность Process Monitor позволит вам быстро фильтровать события. Для этого добавьте условие в котором колонка Detail содержит либо REG_CREATED_NEW_KEY, либо REG_OPENED_EXISTING_KEY.
