久久综合伊人噜噜色,日本三级香港三级人妇电影精品,亚洲中文色资源,国产高清一区二区三区人妖

      <small id="r7w9x"></small>
          <td id="r7w9x"></td><sub id="r7w9x"><menu id="r7w9x"><samp id="r7w9x"></samp></menu></sub>
        1. <th id="r7w9x"></th>
          1. 汶上信息港

            標(biāo)題: 冰河淺析 - 揭開木馬的神秘面紗(上) [打印本頁]

            作者: 雜七雜八    時(shí)間: 2011-1-13 17:02
            標(biāo)題: 冰河淺析 - 揭開木馬的神秘面紗(上)
            在網(wǎng)上,大家最關(guān)心的事情之一就是木馬:最近出了新的木馬嗎?木馬究竟能實(shí)現(xiàn)哪些功能?木馬如何防治?木馬究竟是如何工作的?本文試圖以我國最著名的木馬之一 冰河為例,向大家剖析木馬的基本原理,為大家揭開木馬的神秘面紗。  G% q/ J+ ?. M! Q
            - I. e' v. v. `% @0 v# [
              木馬冰河是用C++Builder寫的,為了便于大家理解,我將用相對(duì)比較簡單的VB來說明它,其中涉及到一些WinSock編程和Windows API的知識(shí),如果你不是很了解的話,請(qǐng)去查閱相關(guān)的資料。
            : X% v' `) w3 j  f. ~5 z
            & Q6 w% a, o+ G4 M2 i6 O                   一、基礎(chǔ)篇(揭開木馬的神秘面紗)
            * y, m0 \- P, l9 N! M/ T2 ]! z4 t' p% H5 C: M
              無論大家把木馬看得多神秘,也無論木馬能實(shí)現(xiàn)多么強(qiáng)大的功能,木馬,其實(shí)質(zhì)只是一個(gè)網(wǎng)絡(luò)客戶/服務(wù)程序。那么,就讓我們從網(wǎng)絡(luò)客戶/服務(wù)程序的編寫開始。% r' j- Y- \. z- d. C
              1.基本概念:7 |3 _/ N/ M; z4 L5 f- o
               網(wǎng)絡(luò)客戶/服務(wù)模式的原理是一臺(tái)主機(jī)提供服務(wù)(服務(wù)器),另一臺(tái)主機(jī)接受服務(wù)(客戶機(jī))。作為服務(wù)器的主機(jī)一般會(huì)打開一個(gè)默認(rèn)的端口并進(jìn)行監(jiān)聽(Listen), 如果有客戶機(jī)向服務(wù)器的這一端口提出連接請(qǐng)求(Connect Request), 服務(wù)器上的相應(yīng)程序就會(huì)自動(dòng)運(yùn)行,來應(yīng)答客戶機(jī)的請(qǐng)求,這個(gè)程序我們稱為守護(hù)進(jìn)程(UNIX的術(shù)語,不過已經(jīng)被移植到了MS系統(tǒng)上)。對(duì)于冰河,被控制端就成為一臺(tái)服務(wù)器,控制端則是一臺(tái)客戶機(jī),G_server.exe是守護(hù)進(jìn)程, G_client是客戶端應(yīng)用程序。(這一點(diǎn)經(jīng)常有人混淆,而且往往會(huì)給自己種了木馬!甚至還有人跟我爭(zhēng)得面紅耳赤,昏倒!!)# O* R- t/ ^% A$ ^- Q+ i
               
              A" N* L7 _) f3 v  2.程序?qū)崿F(xiàn):/ z9 b$ p# Y; Y; J6 o
               在VB中,可以使用Winsock控件來編寫網(wǎng)絡(luò)客戶/服務(wù)程序, 實(shí)現(xiàn)方法如下:
            6 o( O8 |6 g3 w/ c2 k' a   (其中,G_Server和G_Client均為Winsock控件)
            - s/ d/ W2 A7 _% O/ k   服務(wù)端:6 ^5 }0 V) v& s$ [7 I
               G_Server.LocalPort=7626(冰河的默認(rèn)端口,可以改為別的值)
            ) _4 c) [( r: E   G_Server.Listen(等待連接)
            , u: Y$ m8 k- w/ Y$ R   
            : q+ H8 H7 k( k" t# F! Q/ J( H   客戶端:
            & Y# u# L+ D( u- d7 g   G_Client.RemoteHost=ServerIP(設(shè)遠(yuǎn)端地址為服務(wù)器地址)
            ' }" p' C% Y  V/ G  R: h# s   G_Client.RemotePort=7626  (設(shè)遠(yuǎn)程端口為冰河的默認(rèn)端口,呵呵,知道嗎?這是冰河的生日哦)
            ) b$ y- v7 S2 _9 c7 ~0 s   (在這里可以分配一個(gè)本地端口給G_Client, 如果不分配, 計(jì)算機(jī)將會(huì)自動(dòng)分配一個(gè), 建議讓計(jì)算機(jī)自動(dòng)分配)
            % p. j3 q* X+ u: F- {   G_Client.Connect      (調(diào)用Winsock控件的連接方法)/ Z* M/ w; Q7 u
               
              I& ~+ I( S* J$ s   一旦服務(wù)端接到客戶端的連接請(qǐng)求ConnectionRequest,就接受連接% t5 ?1 F; M  T+ z
               Private Sub G_Server_ConnectionRequest(ByVal requestID As Long)
            ( B+ T8 I4 S* a4 R3 W% V. K% W       G_Server.Accept requestID
              C) n' Q2 k" L6 ]' ]' X- U   End Sub
            7 m6 }, r/ ]! Y: \( b   8 e& l2 N( A! E- Z: f
               客戶機(jī)端用G_Client.SendData發(fā)送命令,而服務(wù)器在G_Server_DateArrive事件中接受并執(zhí)行命令(幾乎所有的木馬功能都在這個(gè)事件處理程序中實(shí)現(xiàn))
            + }6 p3 F3 H/ K5 R9 y8 V) a+ u0 W" v& n6 @
               如果客戶斷開連接,則關(guān)閉連接并重新監(jiān)聽端口   
            ) X9 b8 n9 H, A! y) W   Private Sub G_Server_Close()
            + p; ?2 g2 A; m+ F  ^       G_Server.Close  (關(guān)閉連接)
            8 g* M7 C0 T' F       G_Server.Listen (再次監(jiān)聽)
            - p/ M% u: I+ G+ B1 h   End Sub6 X! r5 L- T+ \( {2 V7 ?$ `' M

            : O) i) O$ [, Z( r9 }1 I   其他的部分可以用命令傳遞來進(jìn)行,客戶端上傳一個(gè)命令,服務(wù)端解釋并執(zhí)行命令......2 L. x# f1 w7 Z( @
                
            " |# c6 [! Q* {# K  \4 @7 S* o  w" P) [# ]





            歡迎光臨 汶上信息港 (http://m.junkejituan.com/) Powered by Discuz! X3.5