亚洲字符注册表值

亚洲字符注册表值

有人知道这些注册表值是什么以及适用于哪种软件吗? 在此处输入图片描述

删除它们安全吗?它们位于当前用户下

答案1

这些字符串可能是被解释为 Unicode 的 ASCII 文本。大多数采用字符串参数的 Windows API 函数都有两个版本,一个用于 8 位“ANSI”文本,一个用于 Unicode (UTF-16) 文本。如果犯了错误,保存 8 位文本的缓冲区可能会被解释为保存 Unicode,从而导致字符对拼凑在一起成为 16 位 Unicode 字符。由于 Unicode 代码点空间的布局,这几乎总是会产生亚洲字符。我怀疑有些程序使用了错误的版本RegCreateKeyEx,将其漂亮的 ASCII 键名扭曲成毫无意义的亚洲文本。

例如,如果你This is a test string以这种方式进行混淆,则会得到桔獩椠⁳⁡整瑳猠牴湩�。混淆Awesome program v2.0会产生睁獥浯⁥牰杯慲㉶〮

为了尝试扭转损害,您可以使用 PowerShell!

[System.Text.Encoding]::ASCII.GetString([System.Text.Encoding]::Unicode.GetBytes((gcb)))

打开 PowerShell 窗口(Windows+R,powershell),粘贴该命令,从注册表编辑器复制神秘的键名,切换回 PowerShell,然后按 Enter。(该命令会从剪贴板中提取文本。)它将打印或多或少原始的版本;某些 ASCII 字符组合可能会创建无效的 UTF-16 序列,并且无法在往返过程中存活下来。??如果原始字符串包含奇数个字符,则其最后一个字符可能会被替换为。

删除这些键可能会导致文本错误处理程序停止工作。一旦您知道它们的名称,它们的用途可能就会变得更加清晰。

相关内容