zoukankan      html  css  js  c++  java
  • [Re] 安全知识点

    DLL注入,即,把一个DLL文件放到目标进程中。
    当一个进程的程序不是自己编写的,而我们又需要该程序加载指定的dll,以便进行某些操作,这是就需要dll注入。
    当一个进程加载dll时,dll被映射到该进程的地址空间。dll注入的最大目的,进入目标进程的地址空间,这样就可以操作目标进程中的对象了。
    注入方式:
    1.远程线程注入步骤(假设事先写好DLL文件)
    OpenProcess()   //获取已知进程的句柄;
    VirtualAllocEx()   //在进程中申请空间;
    WriteProcessMemory()   //向进程中写入东西;
    GetProcAddress()   (LoadLibrary())//取得函数在DLL中的地址,动态加载DLL;前为UNICODE版本
    CreateRemoteThread()   //在目标进程中创建远程线程;
    CloseHandle()   //关闭句柄;
    2.利用hook注入。
    Hook技术是基于windows消息机制的。如果 给某个消息安装了Hook,当该消息发生时,会先调用Hook函数。
    1.进程B中的一个线程准备向一个窗口post一条消息。
    2.系统检查该线程是否已经安装了WH_GETMESSAGE Hook,检查结果为确实安装了这种Hook。
    3.进程B准备调用Hook函数,即GetMsgProc函数。但是该函数在MyDll.dll中,而MyDll.dll并没有加载到进程B。
    4. 进程B加载MyDll.dll。
    5.调用GetMsgProc函数
     
  • 相关阅读:
    PHP获取指定的时间戳
    Elasticsearch
    git有用基本指令
    php中的json_decode
    有用的sql积累
    git submodule使用原理
    mysql重复插入时insert更改为update更新操作
    jpm
    awk 语句
    tomcat 发布简单的html网站
  • 原文地址:https://www.cnblogs.com/rookieDanny/p/10556129.html
Copyright © 2011-2022 走看看