首页
社区
课程
招聘
[原创]64位CreateProcess逆向:(六)新进程、新线程的管理
发表于: 2016-4-18 22:39 10335

[原创]64位CreateProcess逆向:(六)新进程、新线程的管理

2016-4-18 22:39
10335

点击下面进入总目录:
64位Windows创建64位进程逆向分析(总目录)

  在这个系列的上两篇文章中,我们已经谈及了进程、线程的创建。按照教科书式的说法,Windows操作系统中,各个进程与进程之间的内存空间是独立的,而同一个进程的多个线程是共享同一个内存空间的。但是,在windows编程中又一定会涉及到“进程间通信”,这说明进程与进程之间是不可能完全独立的。直接点说,站在Windows操作系统(0环)的角度看,Windows是保存有所有进程的信息、并能够管理他们的关系,以此完成进程间通信、线程间切换的一系列问题。
  在这篇文章中,我们通过分析0环的PspInsertProcess函数与PspInsertThread函数,可以看到windows其实就是以链表这种数据结构管理进程、线程。
  新建进程的管理PspInsertProcess
  在0环中,Windows通过调用PspInsertProcess来管理新进程。他的函数原型如下:

NTSTATUS 
PspInsertProcess(  IN PEPROCESS   pCurentEprocess,
        IN PEPROCESS pParentEprocess,
        IN ACCESS_MASK DesiredAccess,
        IN ULONG nCreateFlags,
        IN ULONG JobMemberLevel,
        IN HANDLE DebugObjectHandle,
        IN ULONG unKnownFlag,
        IN ULONG enumType,
        OUT ACCESS_STATE_EXPAND* ptrAccessState
         );

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 3
支持
分享
最新回复 (11)
雪    币: 1176
活跃值: (1264)
能力值: ( LV12,RANK:380 )
在线值:
发帖
回帖
粉丝
2
楼主3,4,5没有吗
2016-4-19 12:26
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
支持一下
2016-4-19 12:52
0
雪    币: 3092
活跃值: (1719)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
2016-4-19 13:37
0
雪    币: 324
活跃值: (60)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
MARK
2016-4-19 13:47
0
雪    币: 799
活跃值: (457)
能力值: ( LV12,RANK:280 )
在线值:
发帖
回帖
粉丝
6
感谢分享,总体流程来说相差应该是不大的
2016-4-20 02:34
0
雪    币: 207
活跃值: (58)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这种精化帖子,我的连续看好几十遍才能看得懂
2016-4-22 08:44
0
雪    币: 326
活跃值: (56)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
支持一下
2016-4-23 08:17
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢分享
2016-4-29 17:33
0
雪    币: 129
活跃值: (333)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
xed
10
进来学习。。。。
2016-4-29 20:01
0
雪    币: 284
活跃值: (250)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
11
很好很好,有点6
2016-5-6 18:54
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
2016-5-6 20:34
0
游客
登录 | 注册 方可回帖
返回
//