zoukankan      html  css  js  c++  java
  • 内核回调的触发时机

    自己验证的

    环境WinXP SP3 x86

    进程创建回调

      进程被影射进内存之后,仅仅是被影射进来之后。

      也就是进程内部空间的修改可能会修改到应用程序文件。

      这时有一条线程存在,但是没有被运行,也就是说,主线程存在,但是还没有执行到exe 的 oep。

      这时可以做的操作不多,

      可以插入APC,但是不可以修改进程空间的任何内存空间,因为被修改的地方可能会直接被影射到文件中。

    镜像加载回调

      一个镜像被加载(影射)进内存之后。

      这时仍然不能对进程内部空间作修改,

      同样,这时仍然没有执行到 oep,

      主线程也仍然没有运行。

      可以插入APC。

      第一个被加载的镜像就是该进程的应用程序文件,镜像基址为建议加载地址,或者重定位加载地址。

      第二个被加载的镜像为 ntdll.dll

      然后依次为 kernel32 user32 gdi32

      当ntdll被加载的时候,仍然不能修改各种进程内部空间的数据。只要修改,都有可能被保存到文件。

    注册表回调

      待测试

    线程回调

      待测试

  • 相关阅读:
    问题排查
    代码
    前端
    即时通信系统 偶尔看到 就想学着做一下
    Oracle 笔记
    javaweb dev 入
    mysql安装
    windows下安装nginx
    spring MVC上传附件
    mysql+mybatis递归调用
  • 原文地址:https://www.cnblogs.com/suanguade/p/4078034.html
Copyright © 2011-2022 走看看