2011-09-13 80 views
3

我正在尋找一種可以將註冊表項的二進制值轉換爲sting的方式或Vbscript。將註冊表BINARY值轉換爲有意義的字符串

例如覺得這是我的鑰匙:

[HKEY_CURRENT_USER\System\Majid] 
"FilePath"=hex:50,4f,2b,2a,90,93,e0,11,80,01,44,45,53,54,00,00 

它被翻譯爲:PO + *گ「à€DEST

但是這是什麼意思真的嗎?我想把這個奇怪的價值解碼成有意義的詞。 如果你能給我一個簡單的vbscript,我可以取代我的密鑰,並收到結果,我會非常感激你很多:)

回答

3

好的。使用這一點代碼來做你的事情。 查看我如何獲取註冊表值並將其轉換。

Const HKEY_CURRENT_USER = &H80000001 
objreg = GetObject("winmgmts:" & _ 
     "{impersonationLevel=impersonate}!\\" & _ 
     strComputer & "\root\default:StdRegProv") 


objreg.GetBinaryValue HKEY_CURRENT_USER, "System\Majid", "FilePath", strRetVal 

MsgBox RegBinaryToString(strRetVal) 

function RegBinaryToString(arrValue) 
strInfo="" 
    for i=0 to ubound(arrValue) 
    if arrValue(i)<>0 then strInfo=strInfo & chr(arrValue(i)) 
    next 
RegBinaryToString=strInfo 
end function 
+0

嗨roch,感謝您的答覆,但我應該在哪裏我的二進制代碼轉換? – Nofuzy

+0

CONST HKEY_CURRENT_USER =&H80000001 objreg = GetObject的( 「winmgmts:」 &_ 「{impersonationLevel =冒充} \\!」 &_ strComputer的& 「\根\默認:的StdRegProv」) objreg.GetBinaryValue HKEY_CURRENT_USER「系統\馬吉德」, 「文件路徑」,strRetVal MSGBOX RegBinaryToString(strRetVal) 函數RegBinaryToString(arrValue) strInfo = 「」 對於i = 0至UBOUND(arrValue) 如果arrValue(ⅰ)<> 0,則strInfo = strInfo&chr(arrValue(i)) next RegBinaryToString = strInfo end functi在 – roch

+0

對不起,關於上面的代碼。試圖格式化它,但不能得到這個工作:〜所以我改變了原來的答案。 – roch