Ⅰ 如何使用bcb遍歷指定目錄下所有子目錄
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
bool __fastcall FileExists(AnsiString FileName)
{
HANDLE FileHandle = CreateFile(FileName.c_str(),
NULL,
FILE_SHARE_READ |
FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_ARCHIVE |
FILE_ATTRIBUTE_HIDDEN |
FILE_ATTRIBUTE_NORMAL |
FILE_ATTRIBUTE_READONLY |
FILE_ATTRIBUTE_SYSTEM,
NULL
);
if (FileHandle == INVALID_HANDLE_VALUE)
return false;
CloseHandle(FileHandle);
return true;
}
void __fastcall DoCvsIpReplace(AnsiString OldIp,AnsiString NewIp,AnsiString Path,TStatusBar *Status)
{
TSearchRec F;
TStringList *tls,*FileList,*TxtFile;
AnsiString tmpPath;
tmpPath=Path;
FileList=new TStringList();
try {
FileList->Add(tmpPath);
tls=new TStringList();
try {
while(FileList->Count) {
tmpPath=FileList->Strings[0];
if(tmpPath=="")
{
FileList->Delete(0);
continue;
}
Status->SimpleText=tmpPath;
Application->ProcessMessages();
if (tmpPath.c_str()[tmpPath.Length()-1]!='\\') {
tmpPath=tmpPath+"\\";
}
memset(&F,0,sizeof(F));
if (FindFirst(tmpPath+"*.*",faAnyFile,F)!=0)
continue;
try {
do {
//Sleep(1);
if(F.Name!="."&&F.Name!="..") {
if((F.Attr&faDirectory)==faDirectory)
//DoCvsIpReplace(OldIp,NewIp,tmpPath+F.Name+"\\",Status);
FileList->Add(tmpPath+F.Name+"\\");
else {
if(F.Name=="Root") {
Status->SimpleText=tmpPath+F.Name;
Application->ProcessMessages();
//tls->LoadFromFile((tmpPath+F.Name));
tls->Add(tmpPath+F.Name);
//tls->Text=StringReplace(tls->Text,OldIp,NewIp,TReplaceFlags()<<rfReplaceAll);
//tls->SaveToFile((tmpPath+F.Name));
}
}
}
}
while(FindNext(F)==0);
}
__finally {
FindClose(&F);
}
FileList->Delete(0);
}
tls->SaveToFile("c:\\Replace.txt");
try {
while(tls->Count)
{
tmpPath=tls->Strings[0];
if(tmpPath=="") {
tls->Delete(0);
continue;
}
Status->SimpleText="正在處理...["+tmpPath+"]";
Application->ProcessMessages();
TxtFile=new TStringList();
try {
TxtFile->LoadFromFile((tmpPath));
TxtFile->Text=StringReplace(TxtFile->Text,OldIp,NewIp,TReplaceFlags()<<rfReplaceAll);
TxtFile->SaveToFile((tmpPath));
}
__finally {
TxtFile->Free();
}
tls->Delete(0);
}
}
__finally {
tls->SaveToFile("c:\\Replace.txt");
}
}
__finally {
tls->Free();
}
}
__finally {
FileList->Free();
}
}
void __fastcall DoClearCvses(AnsiString Dir,TStatusBar *Status,TMemo *LogMemo)
{
TSearchRec F;
AnsiString tmpDir;
tmpDir=Dir;
if (tmpDir.Length()==0) {
return;
}
if(tmpDir.c_str()[tmpDir.Length()-1]!='\\')
tmpDir=tmpDir+"\\";
if(FindFirst(tmpDir+"*.*",faAnyFile,F)!=0)
return;
do{
//
Status->SimpleText="Searching... "+tmpDir+F.Name;
Application->ProcessMessages();
if((F.Name!=".")&&(F.Name!=".."))
{
if(F.Name.UpperCase()=="CVS")
{
//
SetFileAttributes(AnsiString(tmpDir+F.Name).c_str(),0);
if(RemoveDirectory(AnsiString(tmpDir+F.Name).c_str()))
LogMemo->Lines->Add("V:"+tmpDir+F.Name);
else
LogMemo->Lines->Add("X:"+tmpDir+F.Name);
}
else
{
DoClearCvses(tmpDir+F.Name+"\\",Status,LogMemo);
}
}
}
while(FindNext(F)==0);
FindClose(F);
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
DoCvsIpReplace(txtOldIp->Text,txtNewIp->Text,txtDirectory->Text,StatusBar1);
//"192.168.10.185","192.168.10.231"
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
DoClearCvses( txtDirectory->Text,StatusBar1,Memo1);
}
//---------------------------------------------------------------------------
Ⅱ 高分懸賞:C.D.E所有盤的文件夾點擊後就自動消失
根據你所說的可能是灰鴿子病毒,下面我爸灰鴿子病毒的由來和解決方法都打出來了
灰鴿子是國內一款著名後門。比起前輩冰河、黑洞來,灰鴿子可以說是國內後門的集大成者。其豐富而強大的功能、靈活多變的操作、良好的隱藏性使其他後門都相形見絀。客戶端簡易便捷的操作使剛入門的初學者都能充當黑客。當使用在合法情況下時,灰鴿子是一款優秀的遠程式控制制軟體。但如果拿它做一些非法的事,灰鴿子就成了很強大的黑客工具,。這就好比火葯,用在不同的場合,給人類帶來不同的影響。對灰鴿子完整的介紹也許只有灰鴿子作者本人能夠說清楚,在此我們只能進行簡要介紹。
灰鴿子客戶端和服務端都是採用Delphi編寫。黑客利用客戶端程序配置出服務端程序。可配置的信息主要包括上線類型(如等待連接還是主動連接)、主動連接時使用的公網IP(域名)、連接密碼、使用的埠、啟動項名稱、服務名稱,進程隱藏方式,使用的殼,代理,圖標等等。
服務端對客戶端連接方式有多種,使得處於各種網路環境的用戶都可能中毒,包括區域網用戶(通過代理上網)、公網用戶和ADSL撥號用戶等。
下面介紹服務端:
配置出來的服務端文件文件名為G_Server.exe(這是默認的,當然也可以改變)。然後黑客利用一切辦法誘騙用戶運行G_Server.exe程序。
G_Server.exe運行後將自己拷貝到Windows目錄下(98/xp下為系統盤的windows目錄,2k/NT下為系統盤的Winnt目錄),然後再從體內釋放G_Server.dll和G_Server_Hook.dll到windows目錄下。G_Server.exe、G_Server.dll和G_Server_Hook.dll三個文件相互配合組成了灰鴿子服務端, G_Server_Hook.dll負責隱藏灰鴿子。通過截獲進程的API調用隱藏灰鴿子的文件、服務的注冊表項,甚至是進程中的模塊名。截獲的函數主要是用來遍歷文件、遍歷注冊表項和遍歷進程模塊的一些函數。所以,有些時候用戶感覺種了毒,但仔細檢查卻又發現不了什麼異常。有些灰鴿子會多釋放出一個名為G_ServerKey.dll的文件用來記錄鍵盤操作。注意,G_Server.exe這個名稱並不固定,它是可以定製的,比如當定製服務端文件名為A.exe時,生成的文件就是A.exe、A.dll和A_Hook.dll。
Windows目錄下的G_Server.exe文件將自己注冊成服務(9X系統寫注冊表啟動項),每次開機都能自動運行,運行後啟動G_Server.dll和G_Server_Hook.dll並自動退出。G_Server.dll文件實現後門功能,與控制端客戶端進行通信;G_Server_Hook.dll則通過攔截API調用來隱藏病毒。因此,中毒後,我們看不到病毒文件,也看不到病毒注冊的服務項。隨著灰鴿子服務端文件的設置不同,G_Server_Hook.dll有時候附在Explorer.exe的進程空間中,有時候則是附在所有進程中。
灰鴿子的作者對於如何逃過殺毒軟體的查殺花了很大力氣。由於一些API函數被截獲,正常模式下難以遍歷到灰鴿子的文件和模塊,造成查殺上的困難。要卸載灰鴿子動態庫而且保證系統進程不崩潰也很麻煩,因此造成了近期灰鴿子在互聯網上泛濫的局面。
二、灰鴿子的手工檢測
[編輯本段]
由於灰鴿子攔截了API調用,在正常模式下服務端程序文件和它注冊的服務項均被隱藏,也就是說你即使設置了「顯示所有隱藏文件」也看不到它們。此外,灰鴿子服務端的文件名也是可以自定義的,這都給手工檢測帶來了一定的困難。
但是,通過仔細觀察我們發現,對於灰鴿子的檢測仍然是有規律可循的。從上面的運行原理分析可以看出,無論自定義的伺服器端文件名是什麼,一般都會在操作系統的安裝目錄下生成一個以「_hook.dll」結尾的文件。通過這一點,我們可以較為准確手工檢測出灰鴿子 服務端。
由於正常模式下灰鴿子會隱藏自身,因此檢測灰鴿子的操作一定要在安全模式下進行。進入安全模式的方法是:啟動計算機,在系統進入Windows啟動畫面前,按下F8鍵(或者在啟動計算機時按住Ctrl鍵不放),在出現的啟動選項菜單中,選擇「Safe Mode」或「安全模式」。
1、由於灰鴿子的文件本身具有隱藏屬性,因此要設置Windows顯示所有文件。打開「我的電腦」,選擇菜單「工具」—》「文件夾選項」,點擊「查看」,取消「隱藏受保護的操作系統文件」前的對勾,並在「隱藏文件和文件夾」項中選擇「 顯示所有文件和文件夾」,然後點擊「確定」。
2、打開Windows的「搜索文件」,文件名稱輸入「_hook.dll」,搜索位置選擇Windows的安裝目錄(默認98/xp為C:\windows,2k/NT為C:\Winnt)。
3、經過搜索,我們在Windows目錄(不包含子目錄)下發現了一個名為Game_Hook.dll的文件。
4、根據灰鴿子原理分析我們知道,如果Game_Hook.DLL是灰鴿子的文件,則在操作系統安裝目錄下還會有Game.exe和Game.dll文件。打開Windows目錄,果然有這兩個文件,同時還有一個用於記錄鍵盤操作的GameKey.dll文件。
經過這幾步操作我們基本就可以確定這些文件是灰鴿子 服務端了,下面就可以進行手動清除。
三、灰鴿子的手工清除
[編輯本段]
經過上面的分析,清除灰鴿子就很容易了。清除灰鴿子仍然要在安全模式下操作,主要有兩步:
1、清除灰鴿子的服務;
2、刪除灰鴿子程序文件。
注意:為防止誤操作,清除前一定要做好備份。
(一)、清除灰鴿子的服務
注意清除灰鴿子的服務一定要在注冊表裡完成,對注冊表不熟悉的網友請找熟悉的人幫忙操作,清除灰鴿子的服務一定要先備份注冊表,或者到純DOS下將注冊表文件更名,然後在去注冊表刪除灰鴿子的服務。因為病毒會和EXE文件進行關聯
2000/XP系統:
1、打開注冊表編輯器(點擊「開始」-》「運行」,輸入「Regedit.exe」,確定。),打開 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services注冊表項。
2、點擊菜單「編輯」-》「查找」,「查找目標」輸入「game.exe」,點擊確定,我們就可以找到灰鴿子的服務項(此例為Game_Server,每個人這個服務項名稱是不同的)。
3、刪除整個Game_Server項。
98/me系統:
在9X下,灰鴿子啟動項只有一個,因此清除更為簡單。運行注冊表編輯器,打開HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run項,我們立即看到名為Game.exe的一項,將Game.exe項刪除即可。
(二)、刪除灰鴿子程序文件
刪除灰鴿子程序文件非常簡單,只需要在安全模式下刪除Windows目錄下的Game.exe、Game.dll、Game_Hook.dll以及Gamekey.dll文件,然後重新啟動計算機。至此,灰鴿子VIP 2005 服務端已經被清除干凈。
以上介紹的方法適用於我們看到的大部分灰鴿子木馬及其變種,然而仍有極少數變種採用此種方法無法檢測和清除。同時,隨著灰鴿子新版本的不斷推出,作者可能會加入一些新的隱藏方法、防刪除手段,手工檢測和清除它的難度也會越來越大。
注意:在操作系統Windows NT, Windows 2000, Windows XP, Windows 2003的目錄C:\WINDOWS\system32\中,存在的mag_hook.dll文件(MD5: BE68 1AF7 BCB0 5ABD A7D5 7EC2 CC2E 51B0,法律版權: &;Microsoft Corporation. All rights reserved)可能為windows「放大鏡」的動態連接庫。
四、防止中灰鴿子病毒需要注意的事項
1. 給系統安裝補丁程序。通過Windows Update安裝好系統補丁程序(關鍵更新、安全更新和Service pack),其中MS04-011、MS04-012、MS04-013、MS03-001、MS03-007、MS03-049、MS04-032等都被病毒廣泛利用,是非常必要的補丁程序
2. 給系統管理員帳戶設置足夠復雜足夠強壯的密碼,最好能是10位以上,字母+數字+其它符號的組合;也可以禁用/刪除一些不使用的帳戶
3. 經常更新殺毒軟體(病毒庫),設置允許的可設置為每天定時自動更新。安裝並合理使用網路防火牆軟體,網路防火牆在防病毒過程中也可以起到至關重要的作用,能有效地阻擋自來網路的攻擊和病毒的入侵。部分盜版Windows用戶不能正常安裝補丁,這點也比較無奈,這部分用戶不妨通過使用網路防火牆來進行一定防護
4. 關閉一些不需要的服務,條件允許的可關閉沒有必要的共享,也包括C$、D$等管理共享。完全單機的用戶可直接關閉Server服務。
. 下載HijackThis掃描系統
四、灰鴿子的下載地址
[編輯本段]
http://www.skycn.com/soft/15753.html zww3008漢化版
http://www.merijn.org/files/hijackthis.zip 英文版
2. 從HijackThis日誌的 O23項可以發現灰鴿子自的服務項
如最近流行的:
O23 - Service: SYSTEM$ (SYSTEM$Server) - Unknown owner - C:\WINDOWS\setemy.bat
O23 - Service: Network Connections Manager (NetConMan) - Unknown owner - C:\WINDOWS\uinstall.exe
O23 - Service: winServer - Unknown owner - C:\WINDOWS\winserver.exe
O23 - Service: Gray_Pigeon_Server (GrayPigeonServer) - Unknown owner - C:\WINDOWS\G_Server.exe
用HijackThis選中上面的O23項,然後選擇"修復該項"或"Fix checked"
3. 用Killbox刪除灰鴿子對應的木馬文件 可以從這里下載Killbox
與「熊貓燒香」病毒的「張揚」不同,「灰鴿子」更像一個隱形的賊,潛伏在用戶「家」中,監視用戶的一舉一動,甚至用戶與MSN、QQ好友聊天的每一句話都難逃「鴿」眼。專家稱,「熊貓燒香」還停留在對電腦自身的破壞,而「灰鴿子」已經發展到對「人」的控制,而被控者卻毫不知情。從某種意義上講,「灰鴿子」的危害及危險程度超出「熊貓燒香」10倍。
「灰鴿子」如何控制電腦牟利
「黑客培訓班」教網民通過「灰鴿子」控制別人電腦,「學費」最高200元,最低需要50元,學時一周到一個月不等。
黑客通過程序控制他人電腦後,將「肉雞」倒賣給廣告商,「肉雞」的價格在1角到1元不等。資深販子一個月內可以販賣10萬個「肉雞」。
被控制電腦被隨意投放廣告,或者乾脆控制電腦點擊某網站廣告,一舉一動都能被監視。
直接把文件的路徑復制到 Killbox里刪除
通常都是下面這樣的文件 "服務名"具體通過HijackThis判斷
C:\windows\服務名.dll
C:\windows\服務名.exe
C:\windows\服務名.bat
C:\windows\服務名key.dll
C:\windows\服務名_hook.dll
C:\windows\服務名_hook2.dll
舉例說明:
C:\WINDOWS\setemykey.dll
C:\WINDOWS\setemy.dll
C:\WINDOWS\setemy.exe
C:\WINDOWS\setemy_hook.dll
C:\WINDOWS\setemy_hook2.dll
用Killbox刪除那些木馬文件,由於文件具有隱藏屬性,可能無法直接看到,但Killbox能直接刪除. 上面的文件不一定全部存在,如果Killbox提示文件不存在或已經刪除就沒關系了
以上他們做了命名規則解釋 去下載一個木馬殺客灰鴿子專殺 下載地址 http://down911.com/SoftView/SoftView_3014.html 瑞星版本的專殺 下載地址 http://down911.com/SoftView/SoftView_3668.html 清理完後 需要重新啟動計算機 服務停止 然後去找那些殘留文件 參見 上面回答者
軟體名稱: 灰鴿子(Huigezi、Gpigeon)專用檢測清除工具
界面語言: 簡體中文
軟體類型: 國產軟體
運行環境: /Win9X/Me/WinNT/2000/XP/2003
授權方式: 免費軟體
軟體大小: 414KB
軟體簡介: 由灰鴿子工作室開發的,針對灰鴿子專用清除器!可以清除VIP2005版灰鴿子服務端程序(包括殺毒軟體殺不到的灰鴿子服務端)和灰鴿子 [輻射正式版] 和 DLL版服務端 牽手版服務端
運行DelHgzvip2005Server.exe文件清除VIP2005版灰鴿子服務端程序,運行un_hgzserver.exe文件清除灰鴿子 [輻射正式版] 和 DLL版服務端 牽手版服務
五、灰鴿子的公告聲明
[編輯本段]
灰鴿子工作室於2003年初成立,定位於遠程式控制制、遠程管理、遠程監控軟體開發,主要產品為灰鴿子遠程式控制制系列軟體產品。灰鴿子工作室的軟體產品,均為商業化的遠程式控制制軟體,主要提供給網吧、企業及個人用戶進行電腦軟體管理使用;灰鴿子軟體已獲得國家頒布的計算機軟體著作權登記證書,受著作權法保護。
然而,我們痛心的看到,目前互聯網上出現了利用灰鴿子遠程管理軟體以及惡意破解和篡改灰鴿子遠程管理軟體為工具的不法行為,這些行為嚴重影響了灰鴿子遠程管理軟體的聲譽,同時也擾亂了網路秩序。這完全違背了灰鴿子工作室的宗旨和開發灰鴿子遠程管理軟體的初衷。在此我們呼籲、勸告那些利用遠程式控制制技術進行非法行為的不法分子應立即停止此類非法活動。
應該表明的是,灰鴿子工作室自成立以來恪守國家法律和有關網路管理的規定,具有高度的社會責任感。為有效制止不法分子非法利用灰鴿子遠程管理軟體從事危害社會的非法活動,在此,我們鄭重聲明,自即日起決定全面停止對灰鴿子遠程管理軟體的開發、更新和注冊,以實際行動和堅定的態度來抵制這種非法利用灰鴿子遠程管理軟體的不法行為,並誠懇接受廣大網民的監督。
灰鴿子工作室譴責那些非法利用遠程式控制制技術實現非法目的的行為,對於此類行為,灰鴿子工作室發布了灰鴿子服務端卸載程序,以便於廣大網民方便卸載那些被非法安裝於自己計算機的灰鴿子服務端。卸載程序下載頁面。
六、灰鴿子工作室
[編輯本段]
灰鴿子工作室於2003年 初成立,定位於遠程式控制制,遠程管理,遠程監控軟體開發,主要產品為灰鴿子遠程式控制制系列,2005年6月,正式推出使用驅動技術捕獲屏幕的遠程式控制制軟體,捕獲屏幕速度開始超越國外遠程式控制制軟體,灰鴿子開始被喻為遠程式控制制的代名詞。我們希望,用我們的技術和經驗,打造出最好的遠程式控制制軟體,推動遠程式控制制技術的發展!
2007年3月21日
http://www.huigezi.net/uninstall/
卸載頁面
七、灰鴿子官方網站
http;//www.huigezi.net
八、 灰鴿子工作室成員介紹
葛軍:2003年初,與好友黃土平創建了灰鴿子工作室。2001年挺進版率先在遠程式控制制軟體上開發和使用了反彈連接技術。
黃土平:2003年初,與好友葛軍創建了灰鴿子工作室。
灰鴿子是同類軟體的祖先。
灰鴿子已經永遠的離開了我們,昔日的灰鴿子已不再開發,多麼令人痛心啊!
以下是官網上的一段話:
灰鴿子工作室於2003年初成立,定位於遠程式控制制、遠程管理、遠程監控軟體開發,主要產品為灰鴿子遠程式控制制系列軟體產品。然而,我們痛心的看到,目前互聯網上出現了利用灰鴿子遠程管理軟體以及惡意破解和篡改灰鴿子遠程管理軟體為工具的不法行為,這些行為嚴重影響了灰鴿子遠程管理軟體的聲譽。自2007年3月21日起決定全面停止對灰鴿子遠程管理軟體的開發和注冊。此網站僅記念多年在一起生活、工作過的灰鴿子工作室成員們。