• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        破解Windows屏幕保護密碼

        破解Windows屏幕保護密碼

        更新時間:2022-05-03 文章作者:未知 信息來源:網絡 閱讀次數:

        作者:田茂均

          大家都知道,屏幕保護密碼最多為16個字符。微軟內置了16字節的密鑰:48 EE 76 1D 67 69 A1 1B 7A 8C 47 F8 54 95 97 5F。Windows便用上述密鑰加密你輸入的密碼。其加密過程為:首先將你輸入的密碼字符逐位轉換為其16進制的ASCⅡ碼值(小寫字母先轉為大寫字母),再依次與對應密鑰逐位進行異或運算,把所得16進制值的每一位當作字符,轉換為其16進制ASCII碼,并在其尾加上00作為結束標志,存入注冊表HKEY_CURRENT_USER\Control Panel\desktop下的二進制鍵ScreenSave_Data中。
          懂得其加密原理后,便不難編程破解我的屏幕保護密碼(即上網密碼)了。本人用VB6.0編制了一讀取注冊表中ScrrenSave_Data值的函數GetBinaryValue(Entry As String),讀出其值為31 43 41 33 33 43 35 35 33 34 32 31 00,去掉其結束標志00,把余下字節轉換為對應的ASCII字符,并把每兩個字符組成一16進制數:1C A3 3C 55 34 21,顯然,密碼為6位,將其與前6字節密鑰逐一異或后便得出密碼的ASCII碼(16進制值):54 4D 4A 48 53 48,對應的密碼明文為TMJHSH,破解成功!用它拔號一試,呵,立刻傳來Modem歡快的叫聲。
          附VB源程序:(程序中使用了窗體Form1,文本框Text1,命令按鈕Command1)
          1、窗體代碼:
          Option Explicit
          Dim Cryptograph As String
          Dim i As Integer
          Dim j As Integer
          Dim k As Integer
          Dim CryptographStr(32) As Integer
          Dim PWstr As String
          Dim PassWord As String
          Private Sub Command1_Click()
          PWstr = “"
          PassWord = “"
          Text1.Text =“"
          Cryptograph = GetBinaryValue(“ScreenSave_Data")
          k = Len(Cryptograph)
          For j = 1 To k - 1
           For i = 32 To 126
           If Mid(Cryptograph, j, 1) = Chr(i) Then
           CryptographStr(j) = i
           End If
           Next i
          Next j
          i = (k - 1) / 2 '密碼位數為(h-1)/2,根據位數選擇解密過程。
          Select Case i
          Case 16
           GoTo 16
          Case 15
           GoTo 15
          Case 14
           GoTo 14
          Case 13
           GoTo 13
          Case 12
           GoTo 12
          Case 11
           GoTo 11
          Case 10
           GoTo 10
          Case 9
           GoTo 9
          Case 8
           GoTo 8
          Case 7
           GoTo 7
          Case 6
           GoTo 6
          Case 5
           GoTo 5
          Case 4
           GoTo 4
          Case 3
           GoTo 3
          Case 2
           GoTo 2
          Case 1
           GoTo 1
          Case Else
           End
          End Select
          16: PWstr = PWstr & Chr((“&H" & Chr(CryptographStr(31)) & Chr(CryptographStr(32))) Xor &H5F)
          15: PWstr = PWstr & Chr((“&H" & Chr(CryptographStr(29)) & Chr(CryptographStr(30))) Xor &H97)
          14: PWstr = PWstr & Chr((“&H" & Chr(CryptographStr(27)) & Chr(CryptographStr(28))) Xor &H95)
          13: PWstr = PWstr & Chr((“&H" & Chr(CryptographStr(25)) & Chr(CryptographStr(26))) Xor &H54)
          12: PWstr = PWstr & Chr((“&H" & Chr(CryptographStr(23)) & Chr(CryptographStr(24))) Xor &HF8)
          11: PWstr = PWstr & Chr((“&H" & Chr(CryptographStr(21)) & Chr(CryptographStr(22))) Xor &H47)
          10: PWstr = PWstr & Chr((“&H" & Chr(CryptographStr(19)) & Chr(CryptographStr(20))) Xor &H8C)
          9: PWstr = PWstr & Chr((“&H" & Chr(CryptographStr(17)) & Chr(CryptographStr(18))) Xor &H7A)
          8: PWstr = PWstr & Chr((“&H" & Chr(CryptographStr(15)) & Chr(CryptographStr(16))) Xor &H1B)
          7: PWstr = PWstr & Chr((“&H" & Chr(CryptographStr(13)) & Chr(CryptographStr(14))) Xor &HA1)
          6: PWstr = PWstr & Chr((“&H" & Chr(CryptographStr(11)) & Chr(CryptographStr(12))) Xor &H69)
          5: PWstr = PWstr & Chr((“&H" & Chr(CryptographStr(9)) & Chr(CryptographStr(10))) Xor &H67)
          4: PWstr = PWstr & Chr((“&H" & Chr(CryptographStr(7)) & Chr(CryptographStr(8))) Xor &H1D)
          3: PWstr = PWstr & Chr((“&H" & Chr(CryptographStr(5)) & Chr(CryptographStr(6))) Xor &H76)
          2: PWstr = PWstr & Chr((“&H" & Chr(CryptographStr(3)) & Chr(CryptographStr(4))) Xor &HEE)
          1: PWstr = PWstr & Chr((“&H" & Chr(CryptographStr(1)) & Chr(CryptographStr(2))) Xor &H48)
          For i = i To 1 Step -1 '所得PWstr的值為密碼的倒序列,將其倒置便得出密碼。
           PassWord = PassWord & Mid(PWstr, i, 1)
          Next i
          Text1.Text = PassWord '在文本框內顯示密碼。
          End Sub
          2、模塊代碼:
          Option Explicit
          Const ERROR_SUCCESS = 0&
          Const ERROR_BADDB = 1009&
          Const ERROR_BADKEY = 1010&
          Const REG_EXPAND_SZ = 2&
          Const REG_BINARY = 3&
          Const KEY_QUERY_VALUE = &H1&
          Const KEY_ENUMERATE_SUB_KEYS = &H8&
          Const KEY_NOTIFY = &H10&
          Const READ_CONTROL = &H20000
          Const STANDARD_RIGHTS_READ = READ_CONTROL
          Const KEY_READ = STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY
          Const HKEY_CURRENT_USER = &H80000001
          Dim hKey As Long, MainKeyHandle As Long
          Dim rtn As Long, lBuffer As Long, sBuffer As String, SubKey As String
          Dim lBufferSize As Long
          Declare Function RegOpenKeyEx Lib “advapi32.dll" Alias “RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
          Declare Function RegCloseKey Lib “advapi32.dll" (ByVal hKey As Long) As Long
          Declare Function RegQueryValueEx Lib“advapi32.dll" Alias“Reg QueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As String, lpcbData As Long) As Long
          Function GetBinaryValue(Entry As String)
          MainKeyHandle = HKEY_CURRENT_USER
          SubKey = “Control Panel\desktop\"
          rtn = RegOpenKeyEx(MainKeyHandle, SubKey, 0, KEY_READ, hKey)
           If rtn = ERROR_SUCCESS Then '如果HKEY_CURRENT_USER\Control Panel\desktop鍵被成功打開
           lBufferSize = 1
           rtn = RegQueryValueEx(hKey, Entry, 0, REG_BINARY, 0, lBufferSize) '讀取ScreenSave_Data的值
           sBuffer = Space(lBufferSize)
           rtn = RegQueryValueEx(hKey, Entry, 0, REG_BINARY, sBuffer, lBufferSize)
           If rtn = ERROR_SUCCESS Then '如果讀取ScreenSave_Data的值成功
           rtn = RegCloseKey(hKey)
           GetBinaryValue = sBuffer '函數返回ScreenSave_Data的值
           Else '如果讀取ScreenSave_Data的值不成功
           Call ErrorMsg
           End
           End If
          Else '如果HKEY_CURRENT_USER\Control Panel\desktop鍵不能打開
           Call ErrorMsg '調用ErrorMsg()過程
           End
           End If
          End Function
          Private Sub ErrorMsg() '顯示錯誤信息過程
           Select Case rtn
           Case ERROR_BADDB
           MsgBox (“您的計算機注冊表有錯誤!")
          Case ERROR_BADKEY, REG_EXPAND_SZ
           MsgBox (“您的計算機未設屏保密碼!")
          Case Else
           MsgBox (“破解過程中遇到未知錯誤,錯誤號:" & Str$(rtn))
           End Select
          End Sub

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 久久精品国产亚洲av成人| 国产在线观看免费不卡 | 色欲aⅴ亚洲情无码AV蜜桃| 国产∨亚洲V天堂无码久久久| 老外毛片免费视频播放| 一本色道久久88亚洲综合| 日韩成人精品日本亚洲| 亚洲国产精品毛片av不卡在线| 老司机福利在线免费观看| 久久亚洲色一区二区三区| 你懂的在线免费观看| 婷婷亚洲综合五月天小说| 午夜影院免费观看| 亚洲人妖女同在线播放| 免费毛片在线视频| 黄色大片免费网站| 亚洲精品无码专区在线在线播放| 久久er国产精品免费观看2| 亚洲毛片无码专区亚洲乱| 日韩一区二区a片免费观看| 亚洲人色婷婷成人网站在线观看 | 四虎影视在线看免费观看| 狠狠色婷婷狠狠狠亚洲综合| 成av免费大片黄在线观看| 亚洲国产精品久久久久久| 特级毛片全部免费播放a一级| 亚洲国产成人精品无码久久久久久综合| 国产福利电影一区二区三区,免费久久久久久久精 | 69国产精品视频免费| 色老板亚洲视频免在线观| 91青青国产在线观看免费| 丁香婷婷亚洲六月综合色| 亚洲AV无码乱码在线观看性色扶| www免费黄色网| 亚洲一区二区三区精品视频| 国产传媒在线观看视频免费观看| 色播在线永久免费视频网站| 亚洲日日做天天做日日谢| 国产午夜亚洲不卡| 9久9久女女免费精品视频在线观看 | 亚洲www77777|