zoukankan      html  css  js  c++  java
  • 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
    }
    
     
  • 相关阅读:
    单页面应用(SPA)如何实现---流程细解
    Java基础之面向对象
    Java的基础知识
    java是什么?初始java
    AuthenticationManager的认证流程
    核心组件之UserDetailService的详解
    Auth模块
    python基础
    算法与数据结构学习目录
    Django----------视图层
  • 原文地址:https://www.cnblogs.com/-qing-/p/10809329.html
Copyright © 2011-2022 走看看