详谈 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;
}
给大家一个源码免杀工具最好在虚拟机或者影子系统中做免杀:http://pan.baidu.com/share/link?shareid=342856530&uk=1879657625
免杀工具包:http://pan.baidu.com/share/link?shareid=400367493&uk=1879657625
-------------
最后一段话 ,
举一反三 ,不要只用教程里的死方法 。不懂可以问度娘 或者谷歌 或者问那些大牛那样 他们实战多了最起码有思路 只差逐一测试 。测试测试再测试 。。。 不怕测试任何方法 就怕没耐心去测试。
http://www.cnhonkerarmy.com/thread-180955-1-2.html
详谈 vc++源码免杀全套思路方法相关推荐
- 286合购网VC++源码免杀
286合购网VC++源码免杀 下载地址 https://pan.baidu.com/s/15qZCkizDDaK1Mq61a4T35g 创业资料/视频资料/安全相关 扫码下面二维码关注公众号回复 10 ...
- vc++源码免杀特殊技巧
一.Debug 和 Release 编译方式的区别: Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进行了各种优化,使得程序 ...
- 源码免杀-过启发式的思路
定位免杀NOD32的一些经验 ----collect dying site:http://www.idying.cn 欢迎大家一起讨论 先说下定位方法: 1 NOD32不能正向定位的,定位出来也是不能 ...
- 源码免杀教程 源码免杀思路详解
绝对不一样的源码免杀教程!绝对不一样的免杀实战体验!清晰的思路!细致全面的思路详解!让你感到免杀原来可以这么简单!教你如何在源代码中找出被杀代码,修改代码从而达到免杀效果! 免杀之-网络攻防入门书籍推 ...
- c语言免杀程序源码,Window下基于C/C++源码免杀理论及思路(新手篇)
作者:冷锋(LengF) [BHST] 博客:www.81sec.com 时间:2011-5-22 0x00 概述 最近搞一个国外的网站,对方是用的赛门铁克的诺顿杀毒软件,而内网又只对外开放 ...
- 源码免杀处理的技巧与tips
2019独角兽企业重金招聘Python工程师标准>>> 首先,要了解编译中MAP的利用: 第一步设置VC编译环境生成Map文件. 在 VC 中,点击菜单"Proje ...
- 在linux下做源码免杀,Cobaltstrike免杀从源码级到落地思维转变
文章来源: https://www.freebuf.com/articles/web/258988.html 前言 距离上一篇文章<那些FastJson漏洞不为人知的事情(开发角度)>已经 ...
- 远控软件GHOST源码免杀
<script type="text/javascript"></script> 远控软件gh0st源码免杀 远控软件gh0st3.6开源了,开源意味着我们 ...
- 远控软件gh0st源码免杀之我谈
远控软件gh0st3.6开源了,开源意味着我们可以在此基础上进行二次开发,同时也意味着杀软可以较容易的查杀该款远控木马,既然要利用,我们就做好源码基础上的木马免杀工作. 好久没有来博客了,我把免杀这部 ...
最新文章
- CCIE-MPLS基础篇-实验手册
- 7年增长16倍,清华AI+ML课程学生数暴增 | AI Index 2018
- Python:读取两种Word文件简述及文件未能引发事件错误
- Redis性能优化准则!必须遵守的十条军规
- 理解熵:机器学习的黄金标准
- php编程习惯,PHP 编程的 5个良好习惯
- ihtml2document能不能根据id获取dom_回到基础:什么是DOM及DOM操作?
- linux伙伴系统算法,Linux伙伴系统(三)--分配
- 随笔-机器如何学习我们的知识?
- OAuth2.0_授权服务配置_三项内容_Spring Security OAuth2.0认证授权---springcloud工作笔记141
- 自家主机建云服务器_如何创建一台Linux云主机?
- IE6/7 单选按钮 radio 无法选中解决方法
- 内网SMTP发送失败的曲线救国之策
- oracle 分组随机抽取,Oracle 中实现随机抽取数据
- 远程时间管理软件 - 工时通
- CSS学习21:fixed(固定定位)
- 无法打开ONEDRIVE的解决方法【等待验证】
- 51最小系统板+STC89C52芯片流水灯
- C# dataGridView中插入excel表格
- 如何使用 Javascript 截断/切片/修剪字符串中的最后一个字符?