亚洲色一色噜一噜噜噜_在线国产精品一区二区_91国自产拍 精品_国产伦三级一区二区

<address id="xly8e"><var id="xly8e"><center id="xly8e"></center></var></address>
<kbd id="xly8e"><dl id="xly8e"></dl></kbd>
<bdo id="xly8e"><mark id="xly8e"><legend id="xly8e"></legend></mark></bdo>
  • <span id="xly8e"><delect id="xly8e"></delect></span>

    汶上信息港

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

    作者: 雜七雜八    時(shí)間: 2011-1-13 17:02
    標(biāo)題: 冰河淺析 - 揭開(kāi)木馬的神秘面紗(上)
    在網(wǎng)上,大家最關(guān)心的事情之一就是木馬:最近出了新的木馬嗎?木馬究竟能實(shí)現(xiàn)哪些功能?木馬如何防治?木馬究竟是如何工作的?本文試圖以我國(guó)最著名的木馬之一 冰河為例,向大家剖析木馬的基本原理,為大家揭開(kāi)木馬的神秘面紗。
    ' \; ]/ n+ Q7 [* e+ Y1 |& C
    - d6 i, H" u1 O' N$ K' `+ _  木馬冰河是用C++Builder寫(xiě)的,為了便于大家理解,我將用相對(duì)比較簡(jiǎn)單的VB來(lái)說(shuō)明它,其中涉及到一些WinSock編程和Windows API的知識(shí),如果你不是很了解的話,請(qǐng)去查閱相關(guān)的資料。- k( |1 ^2 X; o3 w  }8 Y
    : q7 P( s; |/ h6 M; e: x
                       一、基礎(chǔ)篇(揭開(kāi)木馬的神秘面紗)
    9 i2 }) ^+ B3 Z, v  l+ \
    % c3 @! p4 S) I4 W  I( \$ e  無(wú)論大家把木馬看得多神秘,也無(wú)論木馬能實(shí)現(xiàn)多么強(qiáng)大的功能,木馬,其實(shí)質(zhì)只是一個(gè)網(wǎng)絡(luò)客戶/服務(wù)程序。那么,就讓我們從網(wǎng)絡(luò)客戶/服務(wù)程序的編寫(xiě)開(kāi)始。( W6 B9 C' _$ J+ j- Y
      1.基本概念:
    3 M( J* A: I  e% A& q% y   網(wǎng)絡(luò)客戶/服務(wù)模式的原理是一臺(tái)主機(jī)提供服務(wù)(服務(wù)器),另一臺(tái)主機(jī)接受服務(wù)(客戶機(jī))。作為服務(wù)器的主機(jī)一般會(huì)打開(kāi)一個(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è)程序我們稱(chēng)為守護(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)得面紅耳赤,昏倒!!)
    . c- J% G: L' B* K+ ?2 l   
    4 L+ v, F. D, L" n  2.程序?qū)崿F(xiàn):
    ( H! U, C) C4 q3 P9 |   在VB中,可以使用Winsock控件來(lái)編寫(xiě)網(wǎng)絡(luò)客戶/服務(wù)程序, 實(shí)現(xiàn)方法如下:- Q- [: {( @# O* T! j
       (其中,G_Server和G_Client均為Winsock控件)
    4 X# p; x1 G! j   服務(wù)端:
    1 `7 G2 |+ a+ ^7 I6 G1 k   G_Server.LocalPort=7626(冰河的默認(rèn)端口,可以改為別的值)
    " N/ o' r5 X* x   G_Server.Listen(等待連接)1 r9 R( p0 |. I" a- W
       
    * A. ?/ G6 _' H. |: Q/ x4 c. `   客戶端:2 f- ~* o* z& @" S9 T/ |5 j! i
       G_Client.RemoteHost=ServerIP(設(shè)遠(yuǎn)端地址為服務(wù)器地址)* s( F! r- y  F) @+ H
       G_Client.RemotePort=7626  (設(shè)遠(yuǎn)程端口為冰河的默認(rèn)端口,呵呵,知道嗎?這是冰河的生日哦)
    ' n: H, L/ g) O; ~( M   (在這里可以分配一個(gè)本地端口給G_Client, 如果不分配, 計(jì)算機(jī)將會(huì)自動(dòng)分配一個(gè), 建議讓計(jì)算機(jī)自動(dòng)分配)' G: S6 y% m. |4 i* ^: x, A
       G_Client.Connect      (調(diào)用Winsock控件的連接方法)
    - n5 |" z' o0 d* b  Y! `- W' L; A   
    8 D6 U! p: ^7 v" ]5 L   一旦服務(wù)端接到客戶端的連接請(qǐng)求ConnectionRequest,就接受連接# D' m/ j- R, @, U% S% L
       Private Sub G_Server_ConnectionRequest(ByVal requestID As Long)
    ! ^, ]+ f" p. O& ]* {" J       G_Server.Accept requestID
    ( Y8 B3 q6 [; ^+ \6 F5 R   End Sub3 G! A; J) A4 {; g: |
       
    % X. e3 K$ i* g* W- O! G! O   客戶機(jī)端用G_Client.SendData發(fā)送命令,而服務(wù)器在G_Server_DateArrive事件中接受并執(zhí)行命令(幾乎所有的木馬功能都在這個(gè)事件處理程序中實(shí)現(xiàn))
    5 L! p0 q1 D3 e# C  r: P! e  k  C" q/ f5 k/ c0 Y$ ]
       如果客戶斷開(kāi)連接,則關(guān)閉連接并重新監(jiān)聽(tīng)端口   
    / g. ^. h/ ^8 Q/ h0 q: R. w   Private Sub G_Server_Close(), T+ e- q% T/ t' Y) s: n0 }+ G
           G_Server.Close  (關(guān)閉連接)& I! S0 T. q! i( b! n
           G_Server.Listen (再次監(jiān)聽(tīng))( Z( O, `9 S8 ^# Z) ~3 f
       End Sub
    3 Q4 B& m1 l2 f; r1 B3 O2 G
    , F1 F* I; N* ^  Q9 ]   其他的部分可以用命令傳遞來(lái)進(jìn)行,客戶端上傳一個(gè)命令,服務(wù)端解釋并執(zhí)行命令......
    1 y3 |7 X: Z6 Q0 F  X; U( @    
    4 A( `, [6 c: a
    ! d# x( g. W+ U; L2 B/ g




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