• <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

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

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 色偷偷尼玛图亚洲综合| 亚洲精彩视频在线观看| 国产成人综合亚洲| 日韩a在线观看免费观看| 亚洲精品理论电影在线观看| 无人在线观看免费高清视频| 亚洲а∨天堂久久精品9966| 妞干网手机免费视频| 亚洲成a人无码亚洲成av无码| 妞干网免费观看视频| 亚洲AV色无码乱码在线观看 | 西西人体免费视频| 亚洲日韩精品射精日| 国产精品免费福利久久| 亚洲天天做日日做天天看| 97精品免费视频| 久久亚洲精品专区蓝色区| 成人免费无码大片A毛片抽搐 | 美女内射无套日韩免费播放| 久久久久亚洲精品天堂| 黄色片在线免费观看| 麻豆亚洲AV成人无码久久精品 | 免费在线观看黄色毛片| 国产精品福利在线观看免费不卡| 亚洲精品自在在线观看| 日韩精品无码一区二区三区免费 | 亚洲精品国精品久久99热| 最近国语视频在线观看免费播放| 久久久婷婷五月亚洲97号色| 岛国片在线免费观看| 一级美国片免费看| 久久久久久久亚洲Av无码| 天天看免费高清影视| CAOPORN国产精品免费视频| 亚洲人成电影亚洲人成9999网| 国产麻豆视频免费观看| 一级毛片aa高清免费观看| 亚洲高清中文字幕| 国产性生交xxxxx免费| 先锋影音资源片午夜在线观看视频免费播放| 亚洲中字慕日产2020|