C++源码免杀小记

 

        之前发了篇贴子关于特征码免杀的,不过,看回贴都希望发点关于特征码定位的,本人菜鸟一只,平时一点小积累,不敢独藏,写出来分享一下。不废话了,直接

上菜。

    源码定位特征码后所需修改的特征码大致有四种:

    1、指令 2、字串 3、启发特征 4、函数 (输出表 )。

  初步确定特征码后可随意上汇编指令:__asm nop;  花指令。可随意在代码段中添加,无所谓多少。本来花指令就是冗余代码。当然,也可以在源码中添加花指令,要具备一定的汇编

基础知识才行。

    有人把特征码定位分为3类:工具定位,代码定位,手工定位。个人认为分两类就行了,一个是工具定位,一个是手定位。

  当然,如果你经常在基地里学习,基地里的某大师的Gh0st 源码课程资料中有记录.手工定位特征码!该大师的特征码定位方法,同样适用于Visual C++ 源码免杀中进行定位。

工具定位:

    MyCLL、MutiCLL特征码定位工具,很实用的。相信有一定认识免杀基础的朋友都懂如何利用MyCCL 、MutiCCL 进行定位,这里我也就不去记那么点废话,学会就行了。

手工定位:

    其实手工定位中又可以分为几种定位:比如二进制文件特征码,无特征码定位、源码定位,纯属个人认知,如有不同,望见谅。

    对二进制文件特征码或无特征码定位,直接甩工具,在些不多说,如果各位想要教程,改天再发。今天主要说一下手工源码免杀。

    手工定位方法:

    其实要定位特征码方法都是一样的,无论是源码还是二进制文件,无非就是构造意外代码。在C++中构造意外代码最直接莫过于return。这个代码牛啊,如果你感觉哪一块被报了,直接

在其在加个return false;或return;。加后如果被杀表明被报代码在return之前,如果没被报,那不表明特征码在return 之后。依以逐步查找,总能找到被报代码,找到后再改就OK了。 

    

   这样就定位到了哈,定位到后我们该如何去改呢?

   这方法多了去了,简单说几种啊,其他的大家搜一下就OK了,在基地里提供的方法也多了去了。

过高启发的可以用

try{

...

}

catch(...)

{

...

}

在try中搞点异常代码,把被杀的代码写到catch(...)中,一般杀软对catch(...){...}中的代码是不做分析的,这样不就可以过高启发。

另外可以在代码前加花指令,诸如

__asm

{

 nop

...

}

这样的,花指令网上一把一把的,自己找去。

还有就是如果被报的是API函数,这时该怎么办呢?

怎么办,动态获取API地址罢,Loadlibrary(),GetProAddress(...)。

还有,有人反应字符串被报。我晕,像这个wsprintf(czExp, "%s\\%s", czExp1, "Explorer.exe");现在杀软,哎,有点变态。哦,不是有点,是很变态。

他要报这个,你就想着法的给他变个方式。不就是格式化个字符串吗,方法多了去了

wsprintf(czExp, "%s\\", czExp1);  //格式化字串是两个东西

lstrcat(czExp, "Explorer.exe");

其实归根究底总结就两字:动态

他报你这样,你给他变成那样就行了。

结语:些篇仅为个人见解,如有不同或误解,望高手大虾们给予指正,小弟在些感激流涕。另能加精加精,不能就算了,别让他沉了就行啊,权当交流。读到的帮顶下,在些谢过。


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lbjayo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值