用VB學做“駭客”程式 (轉)

gugu99發表於2008-07-11
用VB學做“駭客”程式 (轉)[@more@]

用VB學做“”

 

  只要掌握了原理,你也能寫出一個所謂的“駭客”程式。下面筆者帶領大家用VB親自編寫一個控制程式。從而揭開它的神秘面紗。

  一、所用

  在程式中將使用Winsock控制元件。Winsock控制元件是一個控制元件,使用TCP或UDP協
議連線到遠端上並與之資料。和定時器控制元件一樣,Winsock控制元件在執行時是不可見的。Winsock的工作原理是:客戶端向端發出連線請求,伺服器端則不停地客戶端的請求,當兩者的協議溝通時,客戶端和伺服器端之間就建立了連線,這時客戶端和伺服器端就可以實現雙向資料傳輸。實際中,必須分別建立一個伺服器端應用程式和一個客戶端應用程式,兩個應用程式中分別有自己的Winsock控制元件。首先設定Winsock控制元件使用的協議,這裡我們使用TCP協議。現在,讓我們開始用VB建立兩個程式,一個是客戶端程式myclient,另一個是伺服器端程式myserver。

  二、編寫客戶端程式

  首先來建客戶端程式myclient。在myclient程式中建立一個窗體,載入Winsock控制元件,稱為tcpclient,表示使用的是TCP協議,再加入兩個文字框(text1和text2),用來輸入伺服器的和埠號,然後建立一個按鈕(cd1),用來建立連線,按下之後就可以對連線進行初始化了,程式碼如下:

  private sub cd1_click()

  tcpclient.romotehost=text1.text

  tcpclient.romoteport=val(text2.text)'埠號,預設為1001

  tcpclient.connect 'connect方法,與指定IP地址的計算機進行連線

  cd1.enabled=false

  end sub

  連線之後就是如何處理所收到的資料的問題了。客戶端和伺服器端建立連線後,如果有任何一端接收到新的資料,就會觸發該端winsock控制元件的dataarrival事件,在響應這個事件時,可以使用getdata方法獲得傳送來的資料。比如可以在tcpclient的dataarrival事件中編寫程式碼如下:

  private sub tcpclient_dataarrival(byval bytestotal as long)

  dim x as string

  tcpclient.getdata x '使用getdata獲得傳送來的資料

  .......

  End sub

  後面的省略部分表示對接收到的資料進行的具體處理,讀者可以根據實際情況編寫。

  三、編寫伺服器端程式

  先建立一個窗體,載入Winsock控制元件,名稱為tcpserver。另外在窗體上加入一個文字框text1用來顯示客戶機的IP地址和客戶機傳送過來的資料資訊。

  當客戶端程式執行時,在客戶端程式按下連線按鈕後,客戶端向伺服器端程式請求連線,這時伺服器端的connectionrequest事件被觸發,所以伺服器端程式要解決連線問題,可以使用connectionrequest事件完成此功能。程式碼如下:

  '在窗體的load事件中對tcpserver控制元件進行初始化

  private sub form_load()

  tcpserver.localport=1001

  tcpserver.listen '把伺服器置於監聽檢測狀態

  end sub

  '伺服器端接收到客戶端的連線請求,首先檢查當前狀態是否處於連線關閉狀態

  Private sub tcpclient_connectionrequest(Byval requestID as long)

  If tcpserver.state<>sckclosed then '檢查控制元件的state屬性是否為關閉

  Tcpserver.close '

  Tcpserver.accept requestID '

  End if

  End sub

  現在我們在伺服器端程式tcpserver的dataarrival事件中新增以下程式碼,以便讓伺服器端程式可以接收客戶機端的指令,並執行相應的程式。

  四、測試遠端控制程式

  現在,你就可以將這兩個程式分別執行於兩臺使用協議聯網的機器了。在客戶機端你按下連線按鈕,再輸入“c: mmand.com”,可以看到在伺服器端立刻開啟一個DOS視窗,設想一下,如果它執行一些破壞性的命令會發生什麼事情?這就是一個最基本的遠端控制程式。當然,真正的駭客程式要複雜得多,但基本原理是相同的。現在你該恍然大悟了吧?


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1007115/,如需轉載,請註明出處,否則將追究法律責任。

相關文章