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

    1. <sub id="9pxky"></sub>
    2. <small id="9pxky"></small>

          汶上信息港

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

          作者: 雜七雜八    時(shí)間: 2011-1-13 17:02
          標(biāo)題: 冰河淺析 - 揭開木馬的神秘面紗(上)
          在網(wǎng)上,大家最關(guān)心的事情之一就是木馬:最近出了新的木馬嗎?木馬究竟能實(shí)現(xiàn)哪些功能?木馬如何防治?木馬究竟是如何工作的?本文試圖以我國(guó)最著名的木馬之一 冰河為例,向大家剖析木馬的基本原理,為大家揭開木馬的神秘面紗。* _: b0 ?; a- B+ O+ v4 {3 [7 l- c

          7 h) J, ^+ `1 h. H; C$ P/ s  木馬冰河是用C++Builder寫的,為了便于大家理解,我將用相對(duì)比較簡(jiǎn)單的VB來(lái)說(shuō)明它,其中涉及到一些WinSock編程和Windows API的知識(shí),如果你不是很了解的話,請(qǐng)去查閱相關(guān)的資料。0 p9 I" q9 L- P

          8 @& M7 [8 k! _8 E                   一、基礎(chǔ)篇(揭開木馬的神秘面紗)
          9 `, N$ g; _+ l3 x: L. l# N! _' q% e+ Z6 }0 j( Y, ^& T" j
            無(wú)論大家把木馬看得多神秘,也無(wú)論木馬能實(shí)現(xiàn)多么強(qiáng)大的功能,木馬,其實(shí)質(zhì)只是一個(gè)網(wǎng)絡(luò)客戶/服務(wù)程序。那么,就讓我們從網(wǎng)絡(luò)客戶/服務(wù)程序的編寫開始。4 J$ {, ^9 Q: ^
            1.基本概念:* d5 M/ j5 j% Z* j) a8 j* H
             網(wǎng)絡(luò)客戶/服務(wù)模式的原理是一臺(tái)主機(jī)提供服務(wù)(服務(wù)器),另一臺(tái)主機(jī)接受服務(wù)(客戶機(jī))。作為服務(wù)器的主機(jī)一般會(huì)打開一個(gè)默認(rèn)的端口并進(jìn)行監(jiān)聽(tīng)(Listen), 如果有客戶機(jī)向服務(wù)器的這一端口提出連接請(qǐng)求(Connect Request), 服務(wù)器上的相應(yīng)程序就會(huì)自動(dòng)運(yùn)行,來(lái)應(yīng)答客戶機(jī)的請(qǐng)求,這個(gè)程序我們稱為守護(hù)進(jìn)程(UNIX的術(shù)語(yǔ),不過(guò)已經(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)得面紅耳赤,昏倒!!)3 @5 b0 x, q/ @' V( B) d; W  o# L
             
          7 y8 R  k8 M/ M% B0 e5 |/ _; M  2.程序?qū)崿F(xiàn):" }: |1 Q- s7 b, v
             在VB中,可以使用Winsock控件來(lái)編寫網(wǎng)絡(luò)客戶/服務(wù)程序, 實(shí)現(xiàn)方法如下:
          8 e, r& a% B1 q, w3 I2 R$ _   (其中,G_Server和G_Client均為Winsock控件)
          ; |2 D' s# u7 @   服務(wù)端:) s/ D6 Q2 U5 s+ g
             G_Server.LocalPort=7626(冰河的默認(rèn)端口,可以改為別的值)
          % V- }9 g0 D) n- r% Y; a2 m   G_Server.Listen(等待連接): v, a/ c8 h. C( \/ C# e# r3 g
             2 i8 K. Z0 X" W
             客戶端:! U; W1 w. C1 w+ j8 `& Q
             G_Client.RemoteHost=ServerIP(設(shè)遠(yuǎn)端地址為服務(wù)器地址)
          0 ?$ ?5 a2 N/ }   G_Client.RemotePort=7626  (設(shè)遠(yuǎn)程端口為冰河的默認(rèn)端口,呵呵,知道嗎?這是冰河的生日哦)
          - v1 N; B. L( d/ h6 d0 Q& U/ S   (在這里可以分配一個(gè)本地端口給G_Client, 如果不分配, 計(jì)算機(jī)將會(huì)自動(dòng)分配一個(gè), 建議讓計(jì)算機(jī)自動(dòng)分配)8 l" b1 K1 e* n: V; N
             G_Client.Connect      (調(diào)用Winsock控件的連接方法)
          " o* ?$ ~% @2 p3 r. @& P. _   
          # k, F( o7 J* F7 `4 X, J   一旦服務(wù)端接到客戶端的連接請(qǐng)求ConnectionRequest,就接受連接
          7 }+ ~% `2 F) K! U   Private Sub G_Server_ConnectionRequest(ByVal requestID As Long)2 `4 a+ e, v" f; p  t- b; K
                 G_Server.Accept requestID
          " X6 `2 |) u+ {2 Q& X   End Sub- D4 D/ T$ X& k
             ) j; V: |; R0 x7 K1 f
             客戶機(jī)端用G_Client.SendData發(fā)送命令,而服務(wù)器在G_Server_DateArrive事件中接受并執(zhí)行命令(幾乎所有的木馬功能都在這個(gè)事件處理程序中實(shí)現(xiàn))
          9 t1 j6 f8 _9 R# a, C7 C+ j0 `7 l! I  t2 x1 w$ k1 i
             如果客戶斷開連接,則關(guān)閉連接并重新監(jiān)聽(tīng)端口   
          ( \# F/ I' z; G   Private Sub G_Server_Close()
          4 _$ b% B6 C2 r       G_Server.Close  (關(guān)閉連接)
          4 E: v3 S# \( u0 o       G_Server.Listen (再次監(jiān)聽(tīng))
          3 n; U& f. [$ n1 p5 Z: x   End Sub3 L+ \" e2 b8 S# w) `% [
          # g. L0 D; E  j9 S3 k
             其他的部分可以用命令傳遞來(lái)進(jìn)行,客戶端上傳一個(gè)命令,服務(wù)端解釋并執(zhí)行命令......
          ) Q* h# c3 D' K& o1 a    
          # I+ ]) J# M8 N2 r2 T$ _% w2 l7 _4 l2 x5 R8 K- k





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