zoukankan      html  css  js  c++  java
  • Python正课94—— Virus项目讲解

    本文内容皆为作者原创,如需转载,请注明出处:https://www.cnblogs.com/xuexianqi/p/12800386.html

    一:攻击原理图解

    01

    02

    二:dll三连

    1.什么是dll

    动态链接库(Dynamic Link Library 缩写为DLL)。
    是微软公司在Windows操作系统中,实现共享函数库的概念的一种方式。
    这些库函数的扩展名是“.dll”、“.oxc”(包含ActiveX控制的库)或者“.drv”(旧的系统驱动)。
    

    2.为何要有dll

    由于进程的地址空间是独立的(保护模式),当多个进程共享相同的库时,每个库都在硬盘和进程彼此的内存
    存放一份的话,对于早期的计算机来说,无疑是一种极大的浪费,于是Windows系统推出了dll机制,dll在硬盘
    上存为一个文件,在内存中使用一个实例(instance)。
    
    详细如下:
        在Windows操作系统中,运行的每一个进程都生活在自己的程序空间中(保护模式),每一个进程都认为自己拥
    有整个机器的控制权,每个进程都认为自己拥有计算机的整个内存空间,这些假象都是操作系统创造的(操作系统控制
    CPU使得CPU启用保护模式)。理论上而言,运行在操作系统上的每一个进程之间都是互不干扰的,即每个进程都会拥有
    独立的地址空间。比如说进程B修改了地址为0x4000000的数据,那么进程C的地址为0x4000000处的数据并未随着B的
    修改而发生改变,并且进程C可能并不拥有地址为0x4000000的内存(操作系统可能没有为进程C映射这块内存)。
        因此,如果某进程有一个缺陷覆盖了随机地址处的内存(这可能导致程序运行出现问题),那么这个缺陷并不会影响
    到其他进程所使用的内存。
    

    3.什么是dll注入

      我们可以利用dll机制来实现进程通信或控制其他进程的应用程序。
      所谓的dll注入即是让程序A强行加载程序B给定的a.dll,并执行程序B给定的a.dll里面的代码。注意,程序B所给定的a.dll原先并不会被程序A主动加载,但是当程序B通过某种手段让程序A“加载”a.dll后,程序A将会执行a.dll里的代码,此时,a.dll就进入了程序A的地址空间,而a.dll模块的程序逻辑由程序B的开发者设计,因此程序B的开发者可以对程序A为所欲为。
    

    4.什么时候需要dll注入

    应用程序一般会在以下情况使用dll注入技术来完成某些功能:
      1.为目标进程添加新的“实用”功能;
      2.需要一些手段来辅助调试被注入dll的进程;
      3.为目标进程安装钩子程序(API Hook);
    

    5.dll注入的方法

    一般情况下有如下dll注入方法:    
      1.修改注册表来注入dll;
      2.使用CreateRemoteThread函数对运行中的进程注入dll;
      3.使用SetWindowsHookEx函数对应用程序挂钩(HOOK)迫使程序加载dll;
      4.替换应用程序一定会使用的dll;
      5.把dll作为调试器来注入;
      6.用CreateProcess对子进程注入dll
      7.修改被注入进程的exe的导入地址表。
    

    三:准备工作

    1.最新anaconda3.7(教程在这里

    https://www.anaconda.com/distribution/#download-section
    

    2.改变源可以提速下载(教程在这里

    pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    

    3.安装pywin 32, 安装时用默认安装路径(教程在这里

    https://github.com/mhammond/pywin32/releases
    

    4.安装opencv-python(教程在这里

    pip3 install opencv-python
    

    5.安装py installer, 依赖pywin32 (教程在这里

    pip3 install pyinstaller
    

    6、ico文件准备好(教程在这里

    在线制作 or https://www.easyicon.net
    
  • 相关阅读:
    win10 UWP button
    内网分享资源
    内网分享资源
    CF724F Uniformly Branched Trees
    win10 UWP FlipView
    win10 UWP FlipView
    win10 UWP FlipView
    搭建阿里云 centos mysql tomcat jdk
    搭建阿里云 centos mysql tomcat jdk
    win10 UWP 申请微软开发者
  • 原文地址:https://www.cnblogs.com/xuexianqi/p/12800386.html
Copyright © 2011-2022 走看看