内核回调的触发时机

自己验证的

 

环境WinXP SP3 x86

 

进程创建回调

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

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

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

  这时可以做的操作不多,

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

 

镜像加载回调

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

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

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

  主线程也仍然没有运行。

  可以插入APC。

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

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

  然后依次为 kernel32 user32 gdi32

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

 

注册表回调

  待测试

 

线程回调

  待测试

 

posted @ 2014-11-06 10:22  穷到底  阅读(415)  评论(0编辑  收藏  举报