VC++源码免杀过金、卡、瑞等多款杀毒软件

金山、瑞星、卡巴(没有被启发的情况下)这些杀软..
加点花指令应该可以了,步骤如下:

在Bind2FileDlg.cpp文件里面的
#include “stdafx.h”
#include “Bind2File.h”
#include “Bind2FileDlg.h”
#include “FileTools.h”
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
后面加上了一句:void JunkCode()
{
__asm
{
nop
nop
nop
nop
nop
}//这个就是在vc源码里面的花指令,我想看过红客学习基地编译教程的都应该知道,
}
因为在vc里面加花指令不能像delphi,这样很容易导致vc卡死掉!下面的步骤就是在一些敏感的地方加void JunkCode();//花指令
这里注意的是花指令不要加到外面去了,感觉到差不多了,重新编译,然后金山杀一下,还是杀!用瑞星测试,呵呵!免杀了!卡巴还是杀!
看来花指令是没什么效果了,nop不吃的话,就算变异出来的花指令估计也没什么大的效果!
于是定位特征码!发现金山杀的是Bind2File.cpp文件里的一处区段的位置!立马去暗 组那里找到new4还是谁发过的一篇vc的文章!

找到代码:CBind2FileApp theApp;
BOOL CBind2FileApp::InitInstance()
{
BOOL bRet = FALSE;
if(__argc > 1)
{
  if(__argv[1][0] == ‘B’ || __argv[1][0] == ‘b’)
  {
   // bind 2 file
   if(__argc == 5)
   {
    if(CFileTools::Bind2File(__argv[2], __argv[3], __argv[4]))
    {
     ::MessageBox(NULL, _T(“文件合并成功!!!”), _T(“文件合并1.0”), MB_OK | MB_ICONEXCLAMATION);
    }
    else
    {
     ::MessageBox(NULL, _T(“文件合并失败,请检查文件路径是否正确,或者文件是否可读写,然后再试!”),
      _T(“文件合并1.0”), MB_OK | MB_ICONEXCLAMATION);
    }
    bRet = TRUE;
   }
  }

在上面加上一句:#pragma comment(linker, “/defaultlib:msvcrt.lib /opt:nowin98 /IGNORE:4078 /MERGE:.rdata=.text /MERGE:.data=.text /section:.text,ERW”)//合并区段的意思!
在编译,成功通过,金山过掉了,卡巴也不杀了!瑞星不杀,因为江民一般都杀字符串,所以就没有继续下去了!

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注