如何使用bcb遍历指定目录下所有子目录

如何使用bcb遍历指定目录下所有子目录,第1张

//---------------------------------------------------------------------------

#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)

}

//---------------------------------------------------------------------------

AnsiString Dir = "C:"

SelectDirectory(AnsiString("选择文件夹"), L"", Dir)

if(Dir != "")ShowMessage(Dir)

你看看行不行,忘了是不是要包含什么头

根据你所说的可能是灰鸽子病毒,下面我爸灰鸽子病毒的由来和解决方法都打出来了

灰鸽子是国内一款著名后门。比起前辈冰河、黑洞来,灰鸽子可以说是国内后门的集大成者。其丰富而强大的功能、灵活多变的 *** 作、良好的隐藏性使其他后门都相形见绌。客户端简易便捷的 *** 作使刚入门的初学者都能充当黑客。当使用在合法情况下时,灰鸽子是一款优秀的远程控制软件。但如果拿它做一些非法的事,灰鸽子就成了很强大的黑客工具,。这就好比火药,用在不同的场合,给人类带来不同的影响。对灰鸽子完整的介绍也许只有灰鸽子作者本人能够说清楚,在此我们只能进行简要介绍。

灰鸽子客户端和服务端都是采用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年挺进版率先在远程控制软件上开发和使用了反d连接技术。

黄土平:2003年初,与好友葛军创建了灰鸽子工作室。

灰鸽子是同类软件的祖先。

灰鸽子已经永远的离开了我们,昔日的灰鸽子已不再开发,多么令人痛心啊!

以下是官网上的一段话:

灰鸽子工作室于2003年初成立,定位于远程控制、远程管理、远程监控软件开发,主要产品为灰鸽子远程控制系列软件产品。然而,我们痛心的看到,目前互联网上出现了利用灰鸽子远程管理软件以及恶意破解和篡改灰鸽子远程管理软件为工具的不法行为,这些行为严重影响了灰鸽子远程管理软件的声誉。自2007年3月21日起决定全面停止对灰鸽子远程管理软件的开发和注册。此网站仅记念多年在一起生活、工作过的灰鸽子工作室成员们。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12036928.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存