|
網(wǎng)絡(luò)技術(shù)是從1990年代中期發(fā)展起來的新技術(shù),它把互聯(lián)網(wǎng)上分散的資源融為有機整體,實現(xiàn)資源的全面共享和有機協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數(shù)據(jù)資源、信息資源、知識資源、專家資源、大型數(shù)據(jù)庫、網(wǎng)絡(luò)、傳感器等。 當(dāng)前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡(luò)則被認(rèn)為是互聯(lián)網(wǎng)發(fā)展的第三階段。 進程隱藏?干嗎用?你不知道?我暈!進程隱藏技術(shù)多用于木馬和病毒中(還用你說?!),用于提高其生存率。其實現(xiàn)方法因WIN系統(tǒng)架構(gòu)不同而各異,一些常用方法資料很多,我在這里也就不多說啦!這里的"偽隱藏"指的是,雖然在"WINDOWS任務(wù)管理器"進程列表中可以看到其進程存在,但在硬盤中卻找不到或者說不容易找到其相對應(yīng)的程序文件。 一:乾坤大挪移 大家都知道,當(dāng)一個程序正在運行時,WIN系統(tǒng)是不允許我們把其刪除的(所以才會有人尋找程序自刪除_blank>技術(shù)),但卻不知大家是否注意到,在WIN2000中,當(dāng)一個程序正在運行時,我們雖然不能把它刪除,但我們卻可以把程序文件在同一分區(qū)內(nèi)移動位置以及重命名,你可以自己試驗一下!這也就是"Windows文件保護"所使用的方法!試想,如果我們的程序在運行后,立即把自身移動位置并重命名,而在"WINDOWS任務(wù)管理器"進程列表中顯示的卻還是原來的程序名,那你又該如何來查找到其對應(yīng)的程序文件呢?當(dāng)然如果程序在內(nèi)存中沒有進行變形的話,你可以利用內(nèi)存查看_blank>軟件(如WINHEX)并利用查找功能來找到相對應(yīng)的程序文件,但如果程序在內(nèi)存中變形 ,也可以說解密,使得內(nèi)存映像和硬盤中的原程序文件不同,那我是暫時沒法找出來啦! 實現(xiàn)_blank>代碼如下(MASM): ;進程隱藏之乾坤大挪移(只能在同分區(qū)內(nèi)移動) .386 .model flat, stdcall option casemap:none include windows.inc include kernel32.inc includelib kernel32.lib include user32.inc includelib user32.lib .data? selfname db MAX_blank>_PATH dup(?) .data movename db "c:\mm.jpg",0 .code main: invoke GetModuleFileName,NULL,addr selfname,MAX_blank>_PATH ;得到自身路徑 mov al, byte ptr selfname ;得到所在分區(qū) mov byte ptr movename,al ;修正movename,使其在同分區(qū)內(nèi)移動 invoke MoveFile,addr selfname,addr movename ;把自身移動位置并改名 invoke MessageBox,NULL,offset selfname,offset movename,MB_blank>_OK invoke ExitProcess, NULL end main 本例程在WIN2000下調(diào)試通過,XP" target=_blank>XP和WIN2003應(yīng)該也可以,請有條件的弟兄測試,WIN98和WINME不能用,與硬盤格式無關(guān)! [page_break]二:程序自刪除(僅適用于NTFS硬盤分區(qū)格式) 在NTFS分區(qū)下存在文件流早已不是什么秘密啦,但大家主要用它來隱藏文件,我在一次測試中卻發(fā)現(xiàn)當(dāng)我運行一個文件流程序時,這個文件流程序所在的宿主文件卻是可以被刪除的!進一步測試發(fā)現(xiàn)文件流程序運行時并無法直接刪除這個文件流程序,只能刪除宿主文件,從而來刪除文件流程序。利用此特性,我們同樣可以實現(xiàn)類似于上例的效果,且比其隱藏效果要好點。方法為:判斷是否是NTFS格式分區(qū),如果是則把自身復(fù)制為一個文件流,并運行復(fù)制的文件流,運行時檢測到自己是存在于文件流中時就刪除宿主文件。 實現(xiàn)_blank>代碼如下(MASM): ;進程隱藏之文件流(只能用于NTFS分區(qū)格式) .386 .model flat, stdcall option casemap:none include windows.inc include kernel32.inc includelib kernel32.lib include user32.inc includelib user32.lib .data? selfname db MAX_blank>_PATH dup(?) szFileSystemName db 10 dup(?) .data delname db "`.`:icyfox.exe",0 ;此處的"`.`:icyfox.exe"可以改為其他文件名如"cs.txt:cs.exe" ;我這里用"`.`"的目的是為了防止刪除其他存在的文件 szErr db "我不在NTFS格式的分區(qū)內(nèi),退出!",0 szYes db "我在下面的流內(nèi),已被刪除!",0 .code main: invoke GetModuleFileName,NULL,addr selfname,MAX_blank>_PATH mov bl,byte ptr selfname+3 mov byte ptr selfname+3,0 xor eax,eax ;下面獲取自身所在分區(qū)格式,并判斷是否是NTFS格式 invoke GetVolumeInformation,addr selfname,eax,eax,\ eax,eax,eax,addr szFileSystemName, sizeof szFileSystemName mov byte ptr selfname+3,bl .if dword ptr szFileSystemName!='SFTN';NTFS invoke MessageBox,NULL,offset szErr,NULL,MB_blank>_OK invoke ExitProcess, NULL .endif ;下面判斷自己是否在流(STREAM)中 ;如果路徑中含有兩個:號,說明自己在文件流中 lea esi,selfname xor edx,edx @@: LODSB or al,al jz @F ;遇到0結(jié)束 .if al==":" INC edx .endif .if edx==2 mov byte ptr [esi-1],0 invoke DeleteFile,addr selfname ;刪除宿主文件 invoke MessageBox,NULL,offset delname,offset szYes,MB_blank>_OK invoke ExitProcess, NULL .endif jmp @B ;下面是當(dāng)自身不在文件流中時,把自身復(fù)制到流中并運行 @@: invoke CopyFile,addr selfname,addr delname,FALSE invoke WinExec,addr delname,NULL invoke ExitProcess, NULL end main 網(wǎng)絡(luò)的神奇作用吸引著越來越多的用戶加入其中,正因如此,網(wǎng)絡(luò)的承受能力也面臨著越來越嚴(yán)峻的考驗―從硬件上、軟件上、所用標(biāo)準(zhǔn)上......,各項技術(shù)都需要適時應(yīng)勢,對應(yīng)發(fā)展,這正是網(wǎng)絡(luò)迅速走向進步的催化劑。 |
溫馨提示:喜歡本站的話,請收藏一下本站!