首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

VBScript 讀取 Radmin 註冊表參數與連接埠解碼範例

     編輯:Java 相關知識

ASP/VBScript 存取登錄檔實作

本範例示範如何使用 VBScript 的 WScript.Shell 物件讀取 Radmin 伺服器的註冊表設定,並將儲存的十六進位密碼與連接埠解碼為可讀格式。

完整程式碼

<%
'========================================Main======================================
Set WSH = Server.CreateObject("Wscript.shell")
RadminPath = "HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters\"
Parameter = "Parameter"
Port = "Port"

ParameterArray = WSH.RegRead(RadminPath & Parameter)
Response.write "The Result of Radmin Hash"
Response.write "<br><br>"
Response.write Parameter & ":"

'=========== ReadPassWord =========
If IsArray(ParameterArray) Then
    For i = 0 To UBound(ParameterArray)
        If Len(hex(ParameterArray(i))) = 1 Then
            strObj = strObj & "0" & CStr(Hex(ParameterArray(i)))
        Else
            strObj = strObj & Hex(ParameterArray(i))
        End If
    Next
    response.write Lcase(strObj)
Else
    response.write "Error! Can't Read!"
End If
Response.write "<br><br>"

'=========== ReadPort =========
PortArray = WSH.RegRead(RadminPath & Port)
If IsArray(PortArray) Then
    Response.write Port & ":"
    Response.write hextointer(CStr(Hex(PortArray(1))) & CStr(Hex(PortArray(0))))
Else
    Response.write "Error! Can't Read!"
End If

'============= hex TO int==========
Function hextointer(strin)
    Dim i, j, k, result
    result = 0
    For i = 1 To Len(strin)
        Select Case Mid(strin, i, 1)
            Case "f", "F": j = 15
            Case "e", "E": j = 14
            Case "d", "D": j = 13
            Case "c", "C": j = 12
            Case "b", "B": j = 11
            Case "a", "A": j = 10
            Case Else:
                If Mid(strin, i, 1) >= "0" And Mid(strin, i, 1) <= "9" Then
                    j = CInt(Mid(strin, i, 1))
                End If
        End Select
        For k = 1 To Len(strin) - i
            j = j * 16
        Next
        result = result + j
    Next
    hextointer = result
End Function
'================ End ==========
%>

關鍵點解析

  1. 建立 WScript.Shell:Server.CreateObject("Wscript.shell") 需伺服器啟用腳本執行權限。
  2. 讀取註冊表:RegRead 回傳陣列(二進位資料),需逐位元轉十六進位字串。
  3. 密碼解碼:將每個位元組轉為兩位十六進位,補零後合併並轉小寫。
  4. 連接埠解碼:註冊表以 Little-Endian 儲存(低位元組在前),需交換 PortArray(1) 與 PortArray(0) 後轉十進位。
  5. hextointer 函式:手動實作十六進位字串轉整數,支援大小寫字母。

安全性與部署注意事項

  • 此腳本需在 IIS 執行身分具備登錄檔讀取權限(通常為 SYSTEM 或管理員)。
  • 生產環境建議改用 PowerShell 或 C# 管理工具,避免經典 ASP 安全風險。
  • Radmin 密碼雜湊非明文,僅供驗證設定是否正確,不可逆向破解。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved