• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    用VB學做“黑客”程序

    發布: 2007-7-14 20:28 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 44次 | 進入軟件測試論壇討論

    領測軟件測試網 張紅

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

      一、所用控件

      在程序中將使用Winsock控件。Winsock控件是一個ActiveX控件,使用TCP協議或UDP協  
    議連接到遠程計算機上并與之交換數據。和定時器控件一樣,Winsock控件在運行時是不可見的。Winsock的工作原理是:客戶端向服務器端發出連接請求,服務器端則不停地監聽客戶端的請求,當兩者的協議溝通時,客戶端和服務器端之間就建立了連接,這時客戶端和服務器端就可以實現雙向數據傳輸。實際編程中,必須分別建立一個服務器端應用程序和一個客戶端應用程序,兩個應用程序中分別有自己的Winsock控件。首先設置Winsock控件使用的協議,這里我們使用TCP協議,F在,讓我們開始用VB建立兩個程序,一個是客戶端程序myclient,另一個是服務器端程序myserver。

      二、編寫客戶端程序

      首先來建客戶端程序myclient。在myclient程序中建立一個窗體,加載Winsock控件,稱為tcpclient,表示使用的是TCP協議,再加入兩個文本框(text1和text2),用來輸入服務器的IP地址和端口號,然后建立一個按鈕(cd1),用來建立連接,按下之后就可以對連接進行初始化了,代碼如下:

      private sub cd1_click()

      tcpclient.romotehost=text1.text

      tcpclient.romoteport=val(text2.text)'端口號,缺省為1001

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

      cd1.enabled=false

      end sub

      連接之后就是如何處理所收到的數據的問題了?蛻舳撕头⻊掌鞫私⑦B接后,如果有任何一端接收到新的數據,就會觸發該端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事件中添加以下代碼,以便讓服務器端程序可以接收客戶機端的指令,并運行相應的程序。

      四、測試遠程控制程序

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

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>