HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.<extension>UserChoice 中的哈希是

2023-09-06 06:04:36 作者:青稚

在 Windows 8 中,用户对于为给定文档类型打开哪个应用程序的选择似乎保留在

With Windows 8, the user's choice for which application to open for a given document type seems to be kept in

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts<extension>UserChoice

对于我机器上的 PDF,它包含:

For PDFs on my machine, this contains:

[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.pdfUserChoice]
"Hash"="xh8KhPWlZL0="
"ProgId"="AcroExch.Document"

然而在另一台机器上哈希是不同的.什么被散列了,有什么方法可以创建一个 .reg 文件,该文件可以应用于另一台机器来设置这个首选项?

Yet on another machine the hash is different. What's being hashed, and is there any way to create a .reg file which can be applied to another machine to set this preference?

推荐答案

有人对哈希进行逆向工程,并编写了一个 CLI 工具来设置文件关联:

Someone reverse engineered the hash and wrote a CLI tool to set file associations:

http://kolbi.cz/blog/?p=346

extension = ".txt"; the file extension
sid = "S-1-5-21-463486358-3398762107-1964875780-1001" ; the SID of the current user
progid = "txtfile"; the ProgId of the desired association
regdate = "01d3442a29887400"; timestamp of the UserChoice registry key
experience = "a microsoft secret string"; a static string (this is a dummy example, not the real string
hash = Base64(MicrosoftHash(MD5(toLower(extension, sid, progid, regdate, experience))))

并未透露所有细节,但可能足以对其余部分进行逆向工程.

Not all details are revealed but probably enough to reverse engineer the rest.