启发式扫描的原理包括以下几个方面:
-
行为分析
-
特征分析
-
模式识别
平时的绕过方式中,签名,加资源都是不错的选择。如果不想使用这些方法的话,可以看看以下的方法。
以下是示例代码:
// 创建快捷方式
HRESULT CreateLink(LPCWSTR lpszPathObj, LPCWSTR lpszPathLink, LPCWSTR lpszDesc)
{
HRESULT hres;
IShellLink* psl;
// 初始化COM库
CoInitialize(NULL);
// 创建IShellLink对象
hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLinkW, (LPVOID*)&psl);
if (SUCCEEDED(hres))
{
IPersistFile* ppf;
// 设置目标路径
psl->SetPath(lpszPathObj);
// 设置描述
psl->SetDescription(lpszDesc);
// 保存快捷方式
hres = psl->QueryInterface(IID_IPersistFile, (LPVOID*)&ppf);
if (SUCCEEDED(hres))
{
hres = ppf->Save(lpszPathLink, TRUE);
ppf->Release();
}
psl->Release();
}
// 释放COM库
CoUninitialize();
return hres;
}
int main()
{
LPCWSTR lpszPathObj = L"C:\Users\Coriander\Desktop\Tools.exe";
LPCWSTR lpszPathLink = L"C:\Tools.lnk";
LPCWSTR lpszDesc = L"Shortcut Description";
HRESULT hres = CreateLink(lpszPathObj, lpszPathLink, lpszDesc);
if (SUCCEEDED(hres))
{
// 快捷方式创建成功
// 可以进行其他操作
printf("Yes");
}
else
{
// 创建失败
// 可以处理错误
printf("No");
}
system("pause");
return 0;
}
首先我们在编译的时候,需要注意一些配置文件。
虽然这个代码不是什么恶意代码,但如果没有进行配置的话,将会被杀的非常严重。
希望能给大家在正常开发,或者是免杀测试中,提供一些思路以及帮助
原文始发于微信公众号(零攻防):通过Vs配置绕过360QVM,VT全绿