#windows-registry #settings #local #user #tool #search #hives

app reggie

快速Windows注册表搜索工具

2个版本

0.1.1 2023年4月23日
0.1.0 2023年4月23日

#199Windows API

每月 21 次下载

GPL-3.0-or-later

24KB
254 代码行

Reggie

概述

reggie 是一个快速的Windows注册表搜索器。

目前,它只能按名称搜索键。它通过 rayon 并行化,尽管也可以在没有它的情况下以单线程模式运行。

运行 reggie -h 查看帮助。

示例

列出可用的注册表分区的名称

$ reggie -l
HKLM, HKEY_LOCAL_MACHINE, -2147483646
HKCR, HKEY_CLASSES_ROOT, -2147483648
HKCC, HKEY_CURRENT_CONFIG, -2147483643
HKCU, HKEY_CURRENT_USER, -2147483647
HKCULL, HKEY_CURRENT_USER_LOCAL_SETTINGS, -2147483641
HKDD, HKEY_DYN_DATA, -2147483642
HKPD, HKEY_PERFORMANCE_DATA, -2147483644
HKPL, HKEY_PERFORMANCE_NLSTEXT, -2147483552
HKPT, HKEY_PERFORMANCE_TEXT, -2147483568
HKU, HKEY_USERS, -2147483645

默认列出 HKEY_LOCAL_MACHINE 分区中的注册表键

$ reggie -p | head
HKLM
HKLM\HARDWARE
HKLM\HARDWARE\ACPI
HKLM\HARDWARE\ACPI\DSDT
HKLM\HARDWARE\ACPI\DSDT\ALASKA
HKLM\HARDWARE\ACPI\DSDT\ALASKA\A_M_I_
HKLM\HARDWARE\ACPI\DSDT\ALASKA\A_M_I_\01072009
HKLM\HARDWARE\ACPI\FACS
HKLM\HARDWARE\ACPI\FADT
HKLM\HARDWARE\ACPI\FADT\ALASKA
Error: Os { code: 232, kind: BrokenPipe, message: "The pipe is being closed." }

$ reggie -H HKLM -p | head
HKLM
HKLM\HARDWARE
HKLM\HARDWARE\ACPI
HKLM\HARDWARE\ACPI\DSDT
HKLM\HARDWARE\ACPI\DSDT\ALASKA
HKLM\HARDWARE\ACPI\DSDT\ALASKA\A_M_I_
HKLM\HARDWARE\ACPI\DSDT\ALASKA\A_M_I_\01072009
HKLM\HARDWARE\ACPI\FACS
HKLM\HARDWARE\ACPI\FADT
HKLM\HARDWARE\ACPI\FADT\ALASKA
Error: Os { code: 232, kind: BrokenPipe, message: "The pipe is being closed." }

(注意:示例在 MINGW64 环境中运行)

HKEY_LOCAL_MACHINE 分区中搜索包含 "mozilla" 的注册表键(不区分大小写)

$ reggie -H HKLM -f "mozilla"
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox 112.0.1 (x64 en-US)
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MozillaMaintenanceService
HKLM\SOFTWARE\Mozilla
HKLM\SOFTWARE\Mozilla\Firefox
HKLM\SOFTWARE\Mozilla\Firefox\TaskBarIDs
HKLM\SOFTWARE\Mozilla\MaintenanceService
HKLM\SOFTWARE\Mozilla\MaintenanceService\f9b87e891978e3145f0f8f9953eadc00
HKLM\SOFTWARE\Mozilla\MaintenanceService\f9b87e891978e3145f0f8f9953eadc00\0
HKLM\SOFTWARE\Mozilla\MaintenanceService\f9b87e891978e3145f0f8f9953eadc00\1
HKLM\SOFTWARE\Mozilla\Mozilla Firefox
HKLM\SOFTWARE\Mozilla\Mozilla Firefox 112.0.1
HKLM\SOFTWARE\Mozilla\Mozilla Firefox 112.0.1\bin
HKLM\SOFTWARE\Mozilla\Mozilla Firefox 112.0.1\extensions
HKLM\SOFTWARE\Mozilla\Mozilla Firefox\112.0.1 (x64 en-US)
HKLM\SOFTWARE\Mozilla\Mozilla Firefox\112.0.1 (x64 en-US)\Main
HKLM\SOFTWARE\Mozilla\Mozilla Firefox\112.0.1 (x64 en-US)\Uninstall
HKLM\SOFTWARE\Mozilla\NativeMessagingHosts
HKLM\SOFTWARE\Mozilla\NativeMessagingHosts\com.microsoft.defender.browser_extension.native_message_host
HKLM\SOFTWARE\mozilla.org
HKLM\SOFTWARE\mozilla.org\Mozilla
HKLM\SYSTEM\ControlSet001\Services\MozillaMaintenance
HKLM\SYSTEM\CurrentControlSet\Services\MozillaMaintenance

相同,但区分大小写

$ reggie -H HKLM -f "(?-i)mozilla"
HKLM\SOFTWARE\mozilla.org
HKLM\SOFTWARE\mozilla.org\Mozilla

正则表达式过滤器,如果没有给出,则默认为 ""(将匹配所有内容),如果给出,则默认添加 "(?i)" 以关闭大小写敏感。

有关如何自定义正则表达式的更多信息,请参阅 regex crate 文档

通过指定计数和时间开关来基准注册表搜索

$ reggie -H HKLM -ct
There are 400790 keys in HKLM.
Took 2.4652453 seconds
162576 keys/second

更改用于搜索的线程数

$ reggie -H HKCR -ct -T 16
There are 122138 keys in HKCR.
Took 6.5700107 seconds
18590 keys/second

$ reggie -H HKCR -ct -T 2
There are 176456 keys in HKCR.
Took 4.010996 seconds
43993 keys/second

$ reggie -H HKCR -ct -T 1
There are 176485 keys in HKCR.
Took 5.0277161 seconds
35102 keys/second

HKEY_CLASSES_ROOT 虽然键的数量较少,但似乎比 HKLM 慢。此外,键的数量似乎变化很大。作者将这归因于自己对 HKEY_CLASSES_ROOT 实际包含的内容的了解不足。

不要使用线程后端,这通常与将线程数设置为1时的性能相同

$ reggie -H HKLM -ct -B v1
There are 400790 keys in HKLM.
Took 5.7450432 seconds
69762 keys/second

$ reggie -H HKLM -ct -T 1
There are 400790 keys in HKLM.
Took 5.9761852 seconds
67064 keys/second

许可证

请参阅 LICENSE.txt,或导航到 https://www.gnu.org/licenses/gpl-3.0.en.html

依赖项

~26–36MB
~516K SLoC