vc++源码免杀思路 学了免杀并不难

黑客梦想 ,引领巅峰技术 。
大家好 我是各大论坛出没的 by:s k 本人qq396443125 交流群 61454501
切记 请不要用于非法。谢谢。

有时间会给大家在我的QQ空间写文章的。 或者会 在空间里附加文章 或者最新的技巧方法。
以下只是简单的思路和定位。也许有人秒过,但是不要笑话我写的笨方法。
定位永远是过期不了的。
其实这里废话一下 , 本人并不是大牛 ,
今天跟大家分享下 。所以写出这篇文章。(大牛飘过)
只是个人实战的经验而已 ,没有任何技术含量。
ok 我们开始
我们只谈vc++源码免杀 ,过掉 国内的杀毒软件 。 达到不损坏功能 正常上线 从而无视杀软的存在
-----------------
首先说中国国内杀毒软件的特征 。
1 金山毒霸 ,我个人觉得杀的代码部分和字符串还是比较普遍的 。输入表函数 我个人不多见 。
2 瑞星 ,经实战经验 ,瑞星杀毒软件是垃圾。 过掉金山 也就过瑞星了 除非杀敏感的字符串 。
3 江民 ,纯属基本就是杀字符串 。。 大家可以进行 隐藏代码 就可以。。你懂得
4 也就是大家最头疼的 360杀毒 。这个就是重点。因为过掉360 -5引擎 基本国内就差不多了。
简单介绍下 ,360云查杀+BD常规+qvm+国外引擎小红伞+主动防御 。
--------------
详谈360各大引擎套路 你懂得...
(1)360云查杀 ,其实就是qvm和红伞的 集成版 。 也就是云qvm 实时鉴定 、 也是大家最头痛的。
(2)BD引擎 我个人怀疑 也有点智能 。有时候大家会认为定位不到或者定位错误 。也就是本地杀代码 函数 等等都有可能吧,我个人过BD 不太感冒 所以没有深入研究。
(3)qvm ,所谓qvm引擎 其实就是 高启发+行为判断+特征 ..这个毫无疑问 智能引擎 。
(4)红伞 ,也就是跟qvm差别不大 。也属于智能 。大部分在杀行为。
(5)主动防御引擎,其实不存在 。也就是卫士 提示主动防御。(也就是说过掉表面 不过提示那是白费)
-------
详谈360 各引擎的 定位套路 方法 以及思路。
前提,注释掉 区段合并 + 延迟加载+ 优化 。删除版权信息 以及图标 (这里也是在排除可能性)以及查看模式R 模式, 不要用debug模式 ,那是调试模式 。(必然 必须的)
其实过掉360 引擎 。也许还有很多方法,我只说说我的定位套路。
第一步 断网 ,关闭所有引擎 ,开启云杀 ,也就是定位云杀的本地 。 很垃圾很好过。
第二步,继续过BD ,定位 方法 一样, 正向 跳过1000 头 。(源码免杀不可能杀头 所以跳过1000头)定位 根据定位情况解决 ..
第三补步,关闭所有杀软,定位qvm 。方便做定位正确 ,那么我们要加上 反调试代码 (我个人是必须的)以及其他手段 ,因为qvm 是智能的 。大家都知道 qvm杀的百分百是输入表函数 。所以 大家就要逐一 填充定位。(你懂得)填充到哪里 哪里不杀 那么好吧 就是那个dll里 。 所以 反向定位那个段。基本不会有什么问题 ,然后逐一的填充 逐一定位 。这里给大家举例,kernel32.dll +user32.dll 这个2个dll填充。那么就在这里 ,(一般填充跳过 GetProcAddress和LoadLibrary 因为杀那2个函数 说明是假的,定位错误。所以没必要。) 这样定位来 ,如果还是定位不到,那么就是杀的行为判断,需要反调试代码。或者大家可以进行预处理来测试 。比如说 转换大小和最快模式 ,加 减 去版权和图标,都会影响到整个特征的排序。如果那样进行转换 排除 填充所有常见dll还是被杀 ,那么就可以选择放弃 。或者找更有效的反调试方法。
第四 , 小红伞引擎 。也是大家头疼的问题。 我个人的实战经验 过掉小红伞 基本上要加版权的。不知道怎么搞的。我也郁闷 也没深究。没有版权 怎么着 都会杀。我个人认为 。。然后定位方法 基本跟qvm差不多 也是智能 。 一般总会定位错误函数,没关系 继续定位 , 过掉智能 要就是耐心 。
第五, 也是大家最头疼的问题 ,云查杀 ..我个人表示鸭梨很大。上面我也介绍了 这里再简单说一下云查杀思路 。也就是云的实时鉴定 ,通过什么呢?那么就是qvm和红伞的引擎库了。 估计还有其他行为 ,有待研究。(据了解 360开发者 是一群黑客.你懂得是什么意思)言归正传 ..云查杀 需要联网定位的。 但是想过掉云查杀 必须要过掉前面几个引擎 。最后过云杀 。云杀也是一样 杀的是输入表函数 ,我以前认为云杀 是人工一秒云鉴定 。后来发现貌似不是,是个云qvm.很繁琐很繁琐的 。 提起云杀我就恶心 。但我不得不说 实在是太强悍 太强悍了。 加上qvm和红伞。简直就是让免杀者感觉很蛋疼的一件不蛋疼的事。定位方法 需要正向定位 ,也是逐一去圈。去排除 。傅哥说,动态调用10个函数以上 ,假如可以过掉,那么你下次再拿这套源码定位的时候 很难很难, 可以说基本没什么办法过掉 ,也就是说定位不到输入表函数 。就算定位到 也是些不能调用的地方 函数、。 相信大家都有一套自己的方法,这里我就不废话了。还有一点好多情况 会杀资源 具体方法很多 。大家去JKC 残壳等等 论坛找找相关教程 很好解决 。比如过掉dll但是杀dat的dll资源,那么填充MZ头,在exe的源码里加代码 运行释放dll 加上MZ 。呵呵 这个你也懂得 。
-----------
说实话, 我暂时只能想到这些 。 具体 要靠自己 要靠实战经验 更要有耐心 。有时候我也会为一个问题 郁闷一个星期 。。所以不要轻易放弃 。
----------
总结以上
360 , 强 强的很 。 但是过掉他 方法很多 具体我不说qvm和红伞 , 就说云引擎。比如说upx压缩 可以过掉,现在不知道封了没 。 其实玩黑 ,就是举一反三 活学活用 不管是什么 。不管是免杀 还是渗透 。要对自己有信心 。 一天不行 两天 两天不行三天, 当初我因为免杀实战 ,差点走火入魔了。呵呵 ,总结我不说思路,只说自己要有耐心 , 就像是赚钱养老婆是一回事 。放弃了什么都不要说 ,成功了一过掉杀软,那么 满足感是有的 说明什么 你懂得 呵呵 。。。跟大家扯淡一会 。。
--------------
好继续说。
反调试代码我就不发给大家了 网上也有, 或者去下载多点源码 好多源码都处理过, 所以要学会借鉴 ,别人的代码和花指令 。发下 常用的动态调用以及 字符串隐藏 等,
1.字符串连接
//////////////////////////////////////////////////////////
//把字符串"canxin"连接起来(字符串连接法)
char *str1="can", *str2="xin",*str3=NULL;
str3=new char[strlen(str1)+strlen(str2)+1];
strcpy(str3,str1);//把str1所指由NULL结束的字符串复制到str3所指的数组中
strcat(str3,str2);//把str2所指字符串添加到str3结尾处(覆盖dest结尾处的'\0')并添加'\0'
//这样就实现了str3=str1+str2,把str1和str2连接起来了
//////////////////////////////////////////////////////////

2.字符串隐藏
char XXX[] = {'c','a','n','x','i','n','\0'};

3.动态调用
***************定义*******************
HANDLE
WINAPI
CreateToolhelp32Snapshot(
DWORD dwFlags,
DWORD th32ProcessID
);
***************列子*******************
typedef HANDLE (WINAPI *CreateToolhelp32SnapshotT)
(
DWORD dwFlags,
DWORD th32ProcessID
);
CreateToolhelp32SnapshotT pCreateToolhelp32Snapshot= (CreateToolhelp32SnapshotT)GetProcAddress(LoadLibrary("KERNEL32.dll"),"CreateToolhelp32Snapshot");

4.异常try catch
//////////////////////////列子//////////////////////////
UnhookWindowsHookEx(m_pTShared->hGetMsgHook);
//////////////////////////列子//////////////////////////
-------------------------生成后-------------------------
char canxin=1;
try
{
if(canxin=1)throw 31;
}
catch (...)
{
UnhookWindowsHookEx(m_pTShared->hGetMsgHook);
}
-------------------------生成后-------------------------
----------------
下面谈一下常见的问题 ,比如说BD 云本地,等等常见定位 错误 以及常见解决方法。比如说常见定位BD ,一次生成 ,查杀, 生成20块,查杀20块,大家有可能误解 定位错误 死循环。 其实非也,可以继续定位继续二次 。知道定位2大小,不杀为止,找到特征地址在OD里的位置,进行上下探查,有没有调用或者字符串的形式 ,然后再继续 搜索关键 在源码里的位置。进行分析特征 ,找到那句源代码 在上面进行加花 等处理 。还有一种可能性,无法定位到 真正的特征位置。 可以通过调试 。比如说 我个人常用的一句代码加在main函数头下,加 “ HKEY ck;
char strreg[] = {'S','O','F','T','W','A','R','E','\\','O','D','B','C','\0'};
if(ERROR_SUCCESS!=RegOpenKeyEx(HKEY_LOCAL_MACHINE,(LPCTSTR)strreg,0,KEY_ALL_ACCESS,&ck))
{
return 0;
} ”
这样直接可以直接过掉, 有时候也要看情况 进行处理, 首先就是要做好预处理 我个人一般 去掉所有优化 延迟 以及区段的处理代码 。 云本地 ,其实就是断网 定位的云的本地特征 一般不会杀 。但是强烈建议 过360 要逐一过, 不能 红伞和qvm一起过, 也不能云本地和BD 一起正向定位, 那样 不行,我还是怀疑BD也有干扰效果 。所以,除云查杀意外, 其他都更新最新库 进行断网 。全部过掉,再联网过云。

-----------------
接下来再说一下常见过云查杀技巧 ,常见一般dll和dat已经过掉, 但是生成木马 却被干掉,这是因为行为 或者是dll和dat的行为, 或者杀到了 dll在exe里的资源 ,也就是说资源也是重点 大家进行排除,还有一个就是加个正规文件资源进去 ,这样也有效果 ,如果生成还杀 那么填充资源头 进行处理等等。然后配置信息里 服务名称等 随便输入 不要输入敏感字符 ,比如说360. 或者什么模块什么的。都是敏感的 。
------------
现在简单谈一下 过提示这一方面 ,其实现在的360 已经基本把全部精力 放在了云和qvm这里 。 而安全卫士过掉的难度 也大大降低。所以过提示基本没什么难度 ,再一个就是卫士的本地引擎,以及云引擎。这个我觉得没必要多说, 就是一秒云鉴定, 没什么鸡肋的方法 。只有定位卫士 。往往有时候qvm那云和杀软的云 杀到的特征不太一样, 可能库也不一吧 。这个大家进行测试 ,进行排除 应该不难 。现在就是2个问题,一个云查杀 , 再一个就是 重启上线问题, 以及防上传 ,这些都是必须的。思路就不说了,大家可以去论坛探讨 或者多看看教程 。
--------------------------
给大家点代码 ,反调试

HKEY ck;
char strreg[] = {'S','O','F','T','W','A','R','E','\\','O','D','B','C','\0'};
if(ERROR_SUCCESS!=RegOpenKeyEx(HKEY_LOCAL_MACHINE,(LPCTSTR)strreg,0,KEY_ALL_ACCESS,&ck))
{
return 0;
}
bool IsVirtualPC()//反nod32查杀
{
__try
{
__asm
{
mov eax, 1
_emit 0x0F
_emit 0x3F
_emit 0x07
_emit 0x0B
_emit 0xC7
_emit 0x45
_emit 0xFC
_emit 0xFF
_emit 0xFF
_emit 0xFF
_emit 0xFF
}
}
__except(1)
{
return FALSE;
}
return TRUE;
}

if(IsVirtualPC())
{
return 0;
}
_asm push esi;
_asm mov esi,46;
_asm inc esi;
_asm mov eax,dword ptr fs:[esi+1];
_asm mov eax,dword ptr ds:[eax+24];
_asm mov eax,dword ptr ds:[eax+12];
_asm cmp eax,2;
_asm pop esi;
_asm je Begin;
_asm lock dec ebx;
Begin:



HKEY dd;
char sof1[]={'S','O','F','T','W','A','R','E','\\','C','l','a','s','s','e','s','\\','.','3','8','6','\\','\0'};
if (ERROR_SUCCESS!=RegOpenKeyEx(HKEY_LOCAL_MACHINE,sof1,0,KEY_ALL_ACCESS,&dd))
{
__asm nop;
__asm nop;
return -1;
}

-------------
最后一段话 ,
举一反三 ,不要只用教程里的死方法 。 不行的。 最好找个师傅什么的 指点 那样 实战多了 轻松自如,最起码有思路 只差逐一测试 。测试测试再测试 。。。 不怕测试任何方法 就怕没耐心去测试。

---------------------
9月1日 新刑法出台 ,黑客之路 遥遥无期 。我们是学不完的 。但是大家入侵 或者渗透什么的 ddos 不要破坏 ,千万不要破坏 。 其实没什么意思,首先以爱国的角度 来说 ,扯淡,不爱国那就不好的很。自身的来说 ,我们学的是套路 是方法 ,是思路 是什么都好。 只要过掉就是王道..

你可能感兴趣的:(测试,dll,vc++,360,引擎,杀毒软件)