• vc++中代码段的免杀


    一、文件特征码定位:

    一般我们先用MyCCL把被查杀文件的文件特征码定位出来,然后用C32判断定位出来的这个特征码是代码还

    是字符串,或者是输入表、输出表、版权信息等…定位在不同的地方,就要用不同的方法来进行源码免杀。



    如果特征码定位木马服务端的代码里,那么我们就把这个木马用OD载入,然后把特征码旁边(前

    面和后面)调用了的API函数记录下来,再到源码里搜索并找到源码特征码。或者用另外一种"Map定位法",

    也就是在编译的时候生成一个map后缀的文件,然后把MyCCL定位出来的文件地址转换为内存地址,再到

    map文件里找到这个内存地址对应的行数。但这个方法比起刚才的方法来说麻烦了点,所以就不具体介绍了。

    二、源码特征码修改:

    把特征码前后调用了的API函数复制出来,然后到源码里搜索这个API函数,在它附近(一般加在前面)加花就

    可以了。或者你也可以修改代码,把原来的代码改成能达到同样目的的代码。

    如果你不想定位的话,那也可以随便给源码加花,也就是说不特意的去定位特征码,而是随便选一个地方

    加花。除非字符串或者输入表函数被杀,不定位加花的方法几乎可以不用定位特征码而达到免杀的目的。


    三、示例:

    Example.cpp,把这个文件编译出来,然后我们来看看改变代码后编译出来的文件有什么变化

    从这个例子中我们可以学到以下几点:

    1.交换代码位置

    2.代码的合并和分离

    3.根据MyCCL定位出来的特征码找出对应的源码特征码位置

    4.代码加花指令

    5.函数调用交换


    源码花指令:

    __asm
    {
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    }
    
     
  • 相关阅读:
    C#字符串转换为数字的4种方法
    Linq to SQL Xml Based
    Code Snippets in Visual Studio 2010
    cygwin 压缩
    Cygwin安装Gitolite3
    ubuntu下如何用命令行运行deb安装包
    iconv bom
    __stdcall型dll转lib
    cygwin install lua modules
    luacom cygwin
  • 原文地址:https://www.cnblogs.com/-qing-/p/10809329.html
Copyright © 2020-2023  润新知