<font id="jntth"></font>
<dfn id="jntth"><i id="jntth"><form id="jntth"></form></i></dfn>
    <dfn id="jntth"><i id="jntth"></i></dfn>

<mark id="jntth"><ruby id="jntth"><big id="jntth"></big></ruby></mark>

    <dfn id="jntth"></dfn><dfn id="jntth"></dfn>

      <listing id="jntth"></listing>
    <dfn id="jntth"><dl id="jntth"><big id="jntth"></big></dl></dfn>

        <dfn id="jntth"><i id="jntth"></i></dfn>

                <meter id="jntth"><del id="jntth"></del></meter>
                  <listing id="jntth"></listing>

                    <dfn id="jntth"><ruby id="jntth"></ruby></dfn>

                  網頁木馬常見的簡單編碼方式

                  2023-03-13

                  大家好,給大家分享一下網頁木馬常見的簡單編碼方式有哪些,很多人還不知道這一點。下面詳細解釋一下。現在讓我們來看看!

                  網頁木馬常見的簡單編碼方式的相關圖片

                  電腦中木馬的簡單識別方法和對策。

                  如何識別木馬

                  木馬程序一般分為客戶端程序和服務端程序兩部分,客戶端程序用于遠程控制計算機。而服務端程序,則隱藏到遠程計算機中,接收并執行客戶端程序發出的命令。所以當黑客通過網絡控制一臺遠程計算機時,第一步就需要將服務端程序植入到遠程計算機。為了能夠讓用戶執行木馬程序,黑客常常通過各種方式對它進行偽裝,這種偽裝就是我們說的木馬畫皮。自木馬誕生以來,黑客們為了木馬的隱蔽性,各種偽裝伎倆可謂層出不窮,讓人防不勝防。那么就讓我們一起來練就一雙火眼金睛,拆穿木馬畫皮伎倆,將這些不速之客拒之門外。

                  畫皮第一計:圖標偽裝

                  偽裝等級:★★★★

                  在Windows系統中,每種文件類型使用不同的圖標進行表示,用戶通過一種圖標就可以輕易地判斷出這是那種文件類型。黑客為了迷惑用戶,將木馬服務端程序的圖標換成一些常見的文件類型的圖標,這樣當用戶運行以后,噩夢也就開始了。

                  實例:黑洞2001服務端的安裝程序使用了文件夾的圖標,當你隱藏了已知文件類型的擴展名時,這個文件看上去就是一個文件夾,當你好奇地點擊它,打算進去看看有什么文件的時候,潘多拉的盒子就打開了。

                  識別方法

                  平時我們在運行一個文件的時候,常常習慣于利用鼠標雙擊運行它,這樣Windows系統首先會判斷文件類型打開其關聯程序,然后再打開這個文件。這樣運行方法就很容易激活修改了圖標的木馬程序。其實,我們只需要換一種方式,就可以避免。比如我們看到一個文本文件的文件后,并不要雙擊打開它,而是首先打開記事本程序,然后通過“文件”菜單中的“打開”命令來打開這個文件,如果顯示出的是亂碼,那么這個“文本文件”就肯定有問題。

                  安全專家點評:更換圖標是最基本的木馬服務端的偽裝方式,但是只使用這一種方式是遠遠不夠的。黑客會將它和文件更名、文件捆綁等一系列的偽裝方式進行組合,這樣才能騙得用戶運行。所以不要隨意執行別人發來的文件,那怕他是你的朋友也要謹慎一些。

                  畫皮第二計:改名換姓

                  偽裝等級:★★★

                  圖標修改往往和文件改名是一起進行的,黑客往往將文件的名稱取得非常的誘人,比如“漂亮的妹妹”之類,騙用戶去運行它。當木馬服務端程序運行以后,服務端程序也會將自己的進程設置為和正常的系統進程相似的名稱,從而使用戶不容易產生懷疑,被其麻痹。

                  實例:如圖2所示,這是筆者制作的木馬服務端安裝程序,它在電腦上顯示為“漂亮的妹妹.bmp”。如果你把它當作一個圖像文件來打開的話,筆者的木馬也就在你的電腦中安營扎寨了。

                  識別方法

                  首先要明確,不論木馬如何偽裝自己的圖標和文件名,它的后綴部分必須是一個可執行的擴展名,比如EXE、COM、BAT等,否則木馬不會運行自己的代碼, 在Windows系統的默認設置下會隱藏已知文件的擴展名,如果木馬把自己的文件名改成了“XXX.bmp.exe”這個樣子,擴展名“.exe”隱藏后,木馬的文件名就會變成“XXX.bmp”,再給這個文件配一個圖像文件的圖標,這個文件就會變成“一只披著羊皮的狼”。在“文件夾選項”對話框中選取“隱藏已知文件類型的擴展名”選項,具體的操作為:打開資源管理器,在菜單欄選擇“工具→文件夾選擇”打開“文件夾選擇”對話框,去掉“隱藏已知文件類型的擴展名”復選框中的小鉤即可撕掉這部分木馬的畫皮。

                  安全專家點評:這種方式在利用P2P程序進行文件傳輸的時候常常用到,而且通常是和圖標偽裝一起使用,讓用戶防不勝防。所以無論從那里得到的文件,在使用以前都通過殺毒軟件對它進行一番查殺最好。

                  畫皮第三計:文件捆綁

                  偽裝等級:★★★★★

                  文件捆綁就是通過使用文件捆綁器將木馬服務端和正常的文件捆綁在一起,達到欺騙對方從而運行捆綁的木馬程序。捆綁后的文件很有迷惑性,而且加上木馬一般在后臺運行,用戶點擊后不會出現什么異狀,往往會在不知不覺中中招。

                  實例:筆者將木馬程序捆綁在電子書后得到的文件,和文件捆綁后得到的文件并沒有損害,用戶點擊后仍能夠看到電子書中的內容。這種方法有很大的迷惑性。

                  識別方法

                  使用木馬捆綁克星、FBFD等程序檢查可疑的可執行文件,當文件進行了捆綁,程序就會出現類似“文件可能經過捆綁,請小心使用!”這樣的提示。木馬捆綁克星除了能檢測出可執行文件中的其他程序,而且還能把捆綁在其中的程序分離出來。

                  安全專家點評:隨著人們網絡安全意識的提高,以前很多的黑客攻擊手段已經得到了有效的遏制,可是利用文件捆綁來進行木馬服務端程序的傳播,卻一直受到黑客的鐘愛。所以用戶在運行可執行文件時,一定要提高警惕。

                  畫皮第四計:出錯顯示

                  偽裝等級:★★★

                  絕大多數木馬服務端安裝時不會出現任何圖形界面,因此,如果一個程序雙擊后沒有任何反應,有經驗的網民就會懷疑它是木馬。為了消除這部分人心中的疑慮,黑客會讓木馬在被運行時彈出一個錯誤提示對話框。

                  實例:如今的木馬程序,很多都有“安裝完畢后顯示提示”的選項,例如木馬HDSPY,用戶在配置服務端程序后,在“提示內容”輸入框中輸入需要的提示內容,例如“文件已損壞,無法打開”等。當用戶運行服務端程序后,就會彈出我們設置的內容。

                  識別方法

                  如果該文件是木馬程序,用戶在看到了出錯信息的時候往往已經中招。所以用戶看到錯誤信息的時候要有所警覺,這個時候就要通過掃描系統端口判斷自己是否中了木馬。比如可以采用X-Scan對自己的系統進行掃描。如果發現可疑端口就要進行相應的查殺。

                  安全專家點評:這種方法雖然在早期可以騙得用戶,但隨著人們安全意識的提高,往往給人一種“畫蛇添足”的感覺。

                  畫皮第五計:自我銷毀

                  偽裝等級:★★★

                  大多數木馬本身只有一個文件,它的安裝程序其實就是木馬服務端程序,當你雙擊了一個木馬的安裝程序后,它會把自己拷貝到系統目錄或其它目錄,因此,一些有經驗的網民如果懷疑一個程序是木馬,它會根據安裝程序的大小在硬盤上搜索木馬文件。為了對付這部分網民,一些木馬設計了自我銷毀的功能,當它把自己拷貝到系統目錄或其它目錄后,它會把自己刪除,讓你無據可查。

                  識別方法

                  對于這種方法就需要對系統的注冊表進行即時監測和使用木馬利用殺毒軟件對系統以及注冊表進行及時監控。一般木馬會在系統注冊表中留下痕跡。這個時候我們就可以根據這些蛛絲馬跡揪出這些木馬。

                  安全專家點評:利用這種方式進行木馬種植的,主要是利用了網頁木馬和遠程溢出等方式。因為黑客利用網頁木馬或遠程溢出,都是在用戶不知情的情況下,將木馬植入遠程系統的。既然遠程用戶不知情,利用木馬的自我銷毀功能就可以做到“來無影去無蹤”。

                  畫皮第六計:網頁“嫁衣”

                  偽裝等級:★★★★

                  網頁木馬是黑客成功利用了系統以及一些程序的漏洞,誘騙用戶瀏覽某個特殊的網頁,在用戶瀏覽的時候,網頁木馬就會成功地利用系統的漏洞,從而將設置的木馬服務端程序“悄悄地”安裝到遠程系統中。

                  實例:制作網頁木馬有很多現成的工具,動鯊網頁木馬生成器就是很優秀的一款,該木馬生成器利用了微軟的IE Help ActiveX控件漏洞繞過本地安全域。

                  識別方法

                  如果你在訪問了一個不熟悉的網頁后,計算機上網的速度突然下降,甚至出現假死的情況,那么就可能是中了網頁木馬了。大家可以在訪問不熟悉的網頁前用“view-source”這個IE命令查看網頁的源代碼。如果發現源代碼中有<iframe src="ww.XXX.htm" name="zhu" width="0" height="0" frameborder="0">之類的就不要訪問了。

                  安全專家點評:利用網頁木馬傳播木馬服務端程序,是當前非常流行的一種方法。受害者在不經意之間就被種植了木馬程序。對不熟悉的網頁最好不要去訪問,如果訪問后系統出現問題要斷網查殺木馬。

                  畫皮第七計:郵件附件

                  偽裝等級:★★

                  通過電子郵件的附件,進行簡單的文件傳輸,本來是為了方便用戶。可黑客正是看中了這一點,通過偽造一些著名的企業或用戶好友的郵件來欺騙用戶,通過郵件附件來傳播木馬服務端程序。

                  實例:黑客在郵件附件中加入木馬后,一般會使用比較有迷惑性的語句來騙取用戶的信任。比如 “這是Windows最新的安全補丁程序,請運行后重新啟動系統。”

                  識別方法

                  不要立即運行郵件附件,而是將它“另存為”到一個文件夾,然后對文件夾進行查殺檢測,發現問題立即刪除。

                  安全專家點評:利用電子郵件的附件,是最常見的木馬和病毒的傳播方法。一般沒有經驗的用戶會上當中招。但是因為很多郵件系統自帶殺毒系統,所以現在已經不是很流行了。”

                  常見的編碼方式?

                  一、ASCII 碼

                  我們知道,計算機內部,所有信息最終都是一個二進制值。每一個二進制位(bit)有0和1兩種狀態,因此八個二進制位就可以組合出256種狀態,這被稱為一個字節(byte)。也就是說,一個字節一共可以用來表示256種不同的狀態,每一個狀態對應一個符號,就是256個符號,從00000000到11111111。

                  上個世紀60年代,美國制定了一套字符編碼,對英語字符與二進制位之間的關系,做了統一規定。這被稱為 ASCII 碼,一直沿用至今。

                  ASCII 碼一共規定了128個字符的編碼,比如空格SPACE是32(二進制00100000),大寫的字母A是65(二進制01000001)。這128個符號(包括32個不能打印出來的控制符號),只占用了一個字節的后面7位,最前面的一位統一規定為0。

                  二、非 ASCII 編碼

                  英語用128個符號編碼就夠了,但是用來表示其他語言,128個符號是不夠的。比如,在法語中,字母上方有注音符號,它就無法用 ASCII 碼表示。于是,一些歐洲國家就決定,利用字節中閑置的最高位編入新的符號。比如,法語中的é的編碼為130(二進制10000010)。這樣一來,這些歐洲國家使用的編碼體系,可以表示最多256個符號。

                  但是,這里又出現了新的問題。不同的國家有不同的字母,因此,哪怕它們都使用256個符號的編碼方式,代表的字母卻不一樣。比如,130在法語編碼中代表了é,在希伯來語編碼中卻代表了字母Gimel (?),在俄語編碼中又會代表另一個符號。但是不管怎樣,所有這些編碼方式中,0--127表示的符號是一樣的,不一樣的只是128--255的這一段。

                  至于亞洲國家的文字,使用的符號就更多了,漢字就多達10萬左右。一個字節只能表示256種符號,肯定是不夠的,就必須使用多個字節表達一個符號。比如,簡體中文常見的編碼方式是 GB2312,使用兩個字節表示一個漢字,所以理論上最多可以表示 256 x 256 = 65536 個符號。

                  中文編碼的問題需要專文討論,這篇筆記不涉及。這里只指出,雖然都是用多個字節表示一個符號,但是GB類的漢字編碼與后文的 Unicode 和 UTF-8 是毫無關系的。

                  三. Unicode

                  正如上一節所說,世界上存在著多種編碼方式,同一個二進制數字可以被解釋成不同的符號。因此,要想打開一個文本文件,就必須知道它的編碼方式,否則用錯誤的編碼方式解讀,就會出現亂碼。為什么電子郵件常常出現亂碼?就是因為發信人和收信人使用的編碼方式不一樣。

                  可以想象,如果有一種編碼,將世界上所有的符號都納入其中。每一個符號都給予一個獨一無二的編碼,那么亂碼問題就會消失。這就是 Unicode,就像它的名字都表示的,這是一種所有符號的編碼。

                  Unicode 當然是一個很大的集合,現在的規模可以容納100多萬個符號。每個符號的編碼都不一樣,比如,U+0639表示阿拉伯字母Ain,U+0041表示英語的大寫字母A,U+4E25表示漢字嚴。具體的符號對應表,可以查詢unicode.org,或者專門的漢字對應表。

                  請問誰知道 " WinSys64 " 這個木馬的原理和程序編碼? 小弟急用!!!

                  盜Q木馬 SysWin64.Jmp WinSys64.Sys解決 。

                  發掘網 (http://www.ITdigger.com) 數字生活互動門戶。

                  作者:C.I.S.R.T. 2007年8月20日 20:24 掘自:C.I.S.R.T.。

                  【CISRT2007131】盜Q木馬 SysWin64.Jmp WinSys64.Sys 解決方案。

                  檔案編號:CISRT2007131。

                  病毒名稱:Trojan-PSW.Win32.Agent.mi(Kaspersky)

                  病毒別名:Trojan.PSW.Win32.QQPass.tno(瑞星)

                  病毒大小:30,990 字節

                  加殼方式:FSG

                  樣本MD5:22c96ab10001486c8a96042feb190eb0。

                  樣本SHA1:29313e3477179dc1bed0c51150aa027e78c8b4ce。

                  發現時間:2007.8

                  更新時間:2007.8.8

                  關聯病毒:

                  傳播方式:通過惡意網頁傳播、其它木馬下載。

                  技術分析

                  ==========

                  變種:

                  【CISRT2006032】盜Q木馬 system.jmp system.sys 解決方案。

                  【CISRT2006056】盜Q木馬 system.jmp system16.sys 解決方案。

                  【CISRT2006073】盜Q木馬 system.jmp system18.sys 解決方案。

                  【CISRT2007020】盜Q木馬 system.jmp SystemKb.sys 解決方案。

                  【CISRT2007050】盜Q木馬 NewInfo.dll system.2dt 解決方案。

                  【CISRT2007082】木馬 NewInfo.bmt system.2dt 解決方案。

                  【CISRT2007091】木馬 System16.ins System16.jup 解決方案。

                  【CISRT2007092】盜Q木馬 SysWin64.Sys SysWin64.Jmp 解決方案。

                  【CISRT2007123】木馬 NewTemp.dll NewTemp.bak PegeFile.pif 解決方案。

                  木馬運行后將自身復制到:

                  %ProgramFiles%\Internet Explorer\PLUGINS\SysWin64.Jmp。

                  釋放dll注入進程:

                  %ProgramFiles%\Internet Explorer\PLUGINS\WinSys64.Sys。

                  創建ShellExecuteHooks啟動信息:

                  [Copy to clipboard] [ - ]。

                  CODE:

                  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks]。

                  "{40117B96-998D-4D80-8F89-5E9DBD9F3460}"=""。

                  [HKEY_CLASSES_ROOT\CLSID\{40117B96-998D-4D80-8F89-5E9DBD9F3460}\InProcServer32]。

                  @="%ProgramFiles%\Internet Explorer\PLUGINS\WinSys64.Sys"。

                  添加注冊表信息:

                  [Copy to clipboard] [ - ]。

                  CODE:

                  [HKEY_CURRENT_USER\Software\Tencent\Gm]。

                  "First"

                  清除步驟

                  ==========

                  1. 刪除木馬創建的ShellExecuteHooks項:

                  [Copy to clipboard] [ - ]。

                  CODE:

                  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks]。

                  "{40117B96-998D-4D80-8F89-5E9DBD9F3460}"。

                  [HKEY_CLASSES_ROOT\CLSID\{40117B96-998D-4D80-8F89-5E9DBD9F3460}]。

                  2. 重新啟動計算機

                  3. 刪除木馬文件:

                  %ProgramFiles%\Internet Explorer\PLUGINS\SysWin64.Jmp。

                  %ProgramFiles%\Internet Explorer\PLUGINS\WinSys64.Sys。

                  4. 刪除注冊表信息:

                  [Copy to clipboard] [ - ]。

                  CODE:

                  [HKEY_CURRENT_USER\Software\Tencent\Gm]。

                  編寫網頁我應該用什么編碼?

                  一般我們現在的網站都是使用utf-8的編碼 這樣的好處是版本的兼容和數據庫的通用。

                  但是你如果全是中午的話我建議你用gbk的。

                  因為gbk對中午漢字是一個字節而utf-8的是三個字節。

                  網頁的“編碼方式”是什么意思?比如“GB2312”和“UTF-8”

                  我們在網頁上看到的所有文字其實都是由2進制 0和1組成,”編碼方式“通俗的講就是將這些2進制數字轉換成我們看的懂的文字。國內一般用的是“GBK”和“GB2312”,而“utf-8”是大部分國家通用的編碼方式。

                  網頁編碼格式

                  UTF-8:Unicode TransformationFormat-8bit,允許含BOM,但通常不含BOM。是用以解決國際上字符的一種多字節編碼,它對英文使用8位(即一個字節),中文使用24為(三個字節)來編碼。UTF-8包含全世界所有國家需要用到的字符,是國際編碼,通用性強。UTF-8編碼的文字可以在各國支持UTF8字符集的瀏覽器上顯示。如,如果是UTF8編碼,則在外國人的英文IE上也能顯示中文,他們無需下載IE的中文語言支持包。

                  GBK是國家標準GB2312基礎上擴容后兼容GB2312的標準。GBK的文字編碼是用雙字節來表示的,即不論中、英文字符均使用雙字節來表示,為了區分中文,將其最高位都設定成1。GBK包含全部中文字符,是國家編碼,通用性比UTF8差,不過UTF8占用的數據庫比GBD大。

                  GBK、GB2312等與UTF8之間都必須通過Unicode編碼才能相互轉換。

                  什么是網頁木馬

                  什么是木馬?

                  特洛伊木馬(以下簡稱木馬),英文叫做“Trojan house”,其名稱取自希臘神話的特洛伊木馬記。

                  它是一種基于遠程控制的黑客工具,具有隱蔽性和非授權性的特點。

                  所謂隱蔽性是指木馬的設計者為了防止木馬被發現,會采用多種手段隱藏木馬,這樣服務端即使發現感染了木馬,由于不能確定其具體位置,往往只能望“馬”興嘆。

                  所謂非授權性是指一旦控制端與服務端連接后,控制端將享有服務端的大部分操作權限,包括修改文件,修改注冊表,控制鼠標,鍵盤等等,而這些權力并不是服務端賦予的,而是通過木馬程序竊取的。

                  從木馬的發展來看,基本上可以分為兩個階段。

                  最初網絡還處于以UNIX平臺為主的時期,木馬就產生了,當時的木馬程序的功能相對簡單,往往是將一段程序嵌入到系統文件中,用跳轉指令來執行一些木馬的功能,在這個時期木馬的設計者和使用者大都是些技術人員,必須具備相當的網絡和編程知識。

                  而后隨著WINDOWS平臺的日益普及,一些基于圖形操作的木馬程序出現了,用戶界面的改善,使使用者不用懂太多的專業知識就可以熟練的操作木馬,相對的木馬入侵事件也頻繁出現,而且由于這個時期木馬的功能已日趨完善,因此對服務端的破壞也更大了。

                  所以所木馬發展到今天,已經無所不用其極,一旦被木馬控制,你的電腦將毫無秘密可言。

                  DLL 木馬揭秘

                  相信經常玩木馬的朋友們都會知道一些木馬的特性,也會有自己最喜愛的木馬,不過,很多朋友依然不知道近年興起的“DLL木馬”為何物。什么是“DLL木馬”呢?它與一般的木馬有什么不同?

                  一、從DLL技術說起

                  要了解DLL木馬,就必須知道這個“DLL”是什么意思,所以,讓我們追溯到幾年前,DOS系統大行其道的日子里。在那時候,寫程序是一件繁瑣的事情,因為每個程序的代碼都是獨立的,有時候為了實現一個功能,就要為此寫很多代碼,后來隨著編程技術發展,程序員們把很多常用的代碼集合(通用代碼)放進一個獨立的文件里,并把這個文件稱為“庫”(Library),在寫程序的時候,把這個庫文件加入編譯器,就能使用這個庫包含的所有功能而不必自己再去寫一大堆代碼,這個技術被稱為“靜態鏈接”(Static Link)。靜態鏈接技術讓勞累的程序員松了口氣,一切似乎都很美好。可是事實證明,美好的事物不會存在太久,因為靜態鏈接就像一個粗魯的推銷員,不管你想不想要宣傳單,他都全部塞到你的手上來。寫一個程序只想用到一個庫文件包含的某個圖形效果,就因為這個,你不得不把這個庫文件攜帶的所有的圖形效果都加入程序,留著它們當花瓶擺設,這倒沒什么重要,可是這些花瓶卻把道路都阻塞了——靜態鏈接技術讓最終的程序成了大塊頭,因為編譯器把整個庫文件也算進去了。

                  時代在發展,靜態鏈接技術由于天生的弊端,不能滿足程序員的愿望,人們開始尋找一種更好的方法來解決代碼重復的難題。后來,Windows系統出現了,時代的分水嶺終于出現。Windows系統使用一種新的鏈接技術,這種被稱為“動態鏈接”(Dynamic Link)的新技術同樣也是使用庫文件,微軟稱它們為“動態鏈接庫”——Dynamic Link Library,DLL的名字就是這樣來的。動態鏈接本身和靜態鏈接沒什么區別,也是把通用代碼寫進一些獨立文件里,但是在編譯方面,微軟繞了個圈子,并沒有采取把庫文件加進程序的方法,而是把庫文件做成已經編譯好的程序文件,給它們開個交換數據的接口,程序員寫程序的時候,一旦要使用某個庫文件的一個功能函數,系統就把這個庫文件調入內存,連接上這個程序占有的任務進程,然后執行程序要用的功能函數,并把結果返回給程序顯示出來,在我們看來,就像是程序自己帶有的功能一樣。完成需要的功能后,這個DLL停止運行,整個調用過程結束。微軟讓這些庫文件能被多個程序調用,實現了比較完美的共享,程序員無論要寫什么程序,只要在代碼里加入對相關DLL的調用聲明就能使用它的全部功能。最重要的是,DLL絕對不會讓你多拿一個花瓶,你要什么它就給你什么,你不要的東西它才不會給你。這樣,寫出來的程序就不能再攜帶一大堆垃圾了——絕對不會讓你把吃剩的東西帶回家,否則罰款,這是自助餐。

                  DLL技術的誕生,使編寫程序變成一件簡單的事情,Windows為我們提供了幾千個函數接口,足以滿足大多數程序員的需要。而且,Windows系統自身就是由幾千個DLL文件組成,這些DLL相互扶持,組成了強大的Windows系統。如果Windows使用靜態鏈接技術,它的體積會有多大?我不敢想。

                  二、應用程序接口API

                  上面我們對DLL技術做了個大概分析,在里面我提到了“接口”,這又是什么呢?因為DLL不能像靜態庫文件那樣塞進程序里,所以,如何讓程序知道實現功能的代碼和文件成了問題,微軟就為DLL技術做了標準規范,讓一個DLL文件像奶酪一樣開了許多小洞,每個洞口都注明里面存放的功能的名字,程序只要根據標準規范找到相關洞口就可以取得它要的美味了,這個洞口就是“應用程序接口”(Application Programming Interface),每個DLL帶的接口都不相同,盡最大可能的減少了代碼的重復。用Steven的一句話:API就是一個工具箱,你根據需要取出螺絲刀、扳手,用完后再把它們放回原處。在Windows里,最基本的3個DLL文件是kernel32.dll、user32.dll、gdi32.dll。它們共同構成了基本的系統框架。

                  三、DLL與木馬

                  DLL是編譯好的代碼,與一般程序沒什么大差別,只是它不能獨立運行,需要程序調用。那么,DLL與木馬能扯上什么關系呢?如果你學過編程并且寫過DLL,就會發現,其實DLL的代碼和其他程序幾乎沒什么兩樣,僅僅是接口和啟動模式不同,只要改動一下代碼入口,DLL就變成一個獨立的程序了。當然,DLL文件是沒有程序邏輯的,這里并不是說DLL=EXE,不過,依然可以把DLL看做缺少了main入口的EXE,DLL帶的各個功能函數可以看作一個程序的幾個函數模塊。DLL木馬就是把一個實現了木馬功能的代碼,加上一些特殊代碼寫成DLL文件,導出相關的API,在別人看來,這只是一個普通的DLL,但是這個DLL卻攜帶了完整的木馬功能,這就是DLL木馬的概念。也許有人會問,既然同樣的代碼就可以實現木馬功能,那么直接做程序就可以,為什么還要多此一舉寫成DLL呢?這是為了隱藏,因為DLL運行時是直接掛在調用它的程序的進程里的,并不會另外產生進程,所以相對于傳統EXE木馬來說,它很難被查到。

                  四、DLL的運行

                  雖然DLL不能自己運行,可是Windows在加載DLL的時候,需要一個入口函數,就如同EXE的main一樣,否則系統無法引用DLL。所以根據編寫規范,Windows必須查找并執行DLL里的一個函數DllMain作為加載DLL的依據,這個函數不作為API導出,而是內部函數。DllMain函數使DLL得以保留在內存里,有的DLL里面沒有DllMain函數,可是依然能使用,這是因為Windows在找不到DllMain的時候,會從其它運行庫中找一個不做任何操作的缺省DllMain函數啟動這個DLL使它能被載入,并不是說DLL可以放棄DllMain函數。

                  五、DLL木馬技術分析

                  到了這里,您也許會想,既然DLL木馬有那么多好處,以后寫木馬都采用DLL方式不就好了嗎?話雖然是這么說沒錯,但是DLL木馬并不是一些人想象的那么容易寫的。要寫一個能用的DLL木馬,你需要了解更多知識。

                  1.木馬的主體

                  千萬別把木馬模塊寫得真的像個API庫一樣,這不是開發WINAPI。DLL木馬可以導出幾個輔助函數,但是必須有一個過程負責主要執行代碼,否則這個DLL只能是一堆零碎API函數,別提工作了。

                  如果涉及一些通用代碼,可以在DLL里寫一些內部函數,供自己的代碼使用,而不是把所有代碼都開放成接口,這樣它自己本身都難調用了,更不可能發揮作用。

                  DLL木馬的標準執行入口為DllMain,所以必須在DllMain里寫好DLL木馬運行的代碼,或者指向DLL木馬的執行模塊。

                  2.動態嵌入技術

                  Windows中,每個進程都有自己的私有內存空間,別的進程是不允許對這個私人領地進行操作的,但是,實際上我們仍然可以利用種種方法進入并操作進程的私有內存,這就是動態嵌入,它是將自己的代碼嵌入正在運行的進程中的技術。動態嵌入有很多種,最常見的是鉤子、API以及遠程線程技術,現在的大多數DLL木馬都采用遠程線程技術把自己掛在一個正常系統進程中。其實動態嵌入并不少見,羅技的MouseWare驅動就掛著每一個系統進程-_- 。

                  遠程線程技術就是通過在另一個進程中創建遠程線程(RemoteThread)的方法進入那個進程的內存地址空間。在DLL木馬的范疇里,這個技術也叫做“注入”,當載體在那個被注入的進程里創建了遠程線程并命令它加載DLL時,木馬就掛上去執行了,沒有新進程產生,要想讓木馬停止惟有讓掛接這個木馬DLL的進程退出運行。但是,很多時候我們只能束手無策——它和Explorer.exe掛在一起了,你確定要關閉Windows嗎?

                  3.木馬的啟動

                  有人也許會迫不及待的說,直接把這個DLL加入系統啟動項目不就可以了。答案是NO,前面說過,DLL不能獨立運行,所以無法在啟動項目里直接啟動它。要想讓木馬跑起來,就需要一個EXE使用動態嵌入技術讓DLL搭上其他正常進程的車,讓被嵌入的進程調用這個DLL的DllMain函數,激發木馬運行,最后啟動木馬的EXE結束運行,木馬啟動完畢。

                  啟動DLL木馬的EXE是個重要角色,它被稱為Loader,如果沒有Loader,DLL木馬就是破爛一堆,因此,一個算得上成熟的DLL木馬會想辦法保護它的Loader不會那么容易被毀滅。記得狼狽為奸的故事嗎?DLL木馬就是爬在狼Loader上的狽。

                  Loader可以是多種多樣的,Windows的rundll32.exe也被一些DLL木馬用來做了Loader,這種木馬一般不帶動態嵌入技術,它直接掛著rundll32進程運行,用rundll32的方法(rundll32.exe [DLL名],[函數] [參數])像調用API一樣去引用這個DLL的啟動函數激發木馬模塊開始執行,即使你殺了rundll32,木馬本體還是在的,一個最常見的例子就是3721中文實名,雖然它不是木馬。

                  注冊表的AppInit_DLLs鍵也被一些木馬用來啟動自己,如求職信病毒。利用注冊表啟動,就是讓系統執行DllMain來達到啟動木馬的目的。因為它是kernel調入的,對這個DLL的穩定性有很大要求,稍有錯誤就會導致系統崩潰,所以很少看到這種木馬。

                  有一些更復雜點的DLL木馬通過svchost.exe啟動,這種DLL木馬必須寫成NT-Service,入口函數是ServiceMain,一般很少見,但是這種木馬的隱蔽性也不錯,而且Loader有保障。

                  4.其它

                  到這里大家也應該對DLL木馬有個了解了,是不是很想寫一個?別急,不知道大家想過沒有,既然DLL木馬這么好,為什么到現在能找到的DLL木馬寥寥無幾?現在讓我來潑冷水,最重要的原因只有一個:由于DLL木馬掛著系統進程運行,如果它本身寫得不好,例如沒有防止運行錯誤的代碼或者沒有嚴格規范用戶的輸入,DLL就會出錯崩潰。別緊張,一般的EXE也是這樣完蛋的,但是DLL崩潰會導致它掛著的程序跟著遭殃,別忘記它掛接的是系統進程哦,結局就是……慘不忍睹。所以寫一個能公布的DLL木馬,在排錯檢查方面做的工作要比一般的EXE木馬多,寫得多了自己都煩躁……

                  六、DLL木馬的發現和查殺

                  經常看看啟動項有沒有多出莫名其妙的項目,這是Loader的所在,只要殺了狼,狽就不能再狂了。而DLL木馬本體比較難發現,需要你有一定編程知識和分析能力,在Loader里查找DLL名稱,或者從進程里看多掛接了什么陌生的DLL,可是對新手來說……總之就是比較難啊比較難,所以,最簡單的方法:殺毒軟件和防火墻(不是萬能藥,切忌長期服用)。

                  如何查看網頁某段代碼的編碼方式

                  首先打開目標網頁。

                  1、在網頁上單擊鼠標右鍵,選擇“查看網頁源代碼”。

                  2、在源代碼頭部找到如下代碼:

                  <meta?http-equiv="content-type"?content="text/html;charset=這里就是編碼"?/>。

                  如下圖,網頁編碼方式為gbk

                  文章來源:http://www.412cn.com/316ggk3k.html

                    <font id="jntth"></font>
                  <dfn id="jntth"><i id="jntth"><form id="jntth"></form></i></dfn>
                    <dfn id="jntth"><i id="jntth"></i></dfn>

                  <mark id="jntth"><ruby id="jntth"><big id="jntth"></big></ruby></mark>

                    <dfn id="jntth"></dfn><dfn id="jntth"></dfn>

                      <listing id="jntth"></listing>
                    <dfn id="jntth"><dl id="jntth"><big id="jntth"></big></dl></dfn>

                        <dfn id="jntth"><i id="jntth"></i></dfn>

                                <meter id="jntth"><del id="jntth"></del></meter>
                                  <listing id="jntth"></listing>

                                    <dfn id="jntth"><ruby id="jntth"></ruby></dfn>

                                  哎呦视频在线资源观看