更多黑客技能 公众号:白帽子左一
作者:掌控安全-holic
什么是进程?
进程
提供程序所需要的资源,如:数据、代码等等
进程扮演的角色仅仅是为当前程序提供资源,或者代码,这就是进程所提供的,当时程序运行的状态和进程没有关系,进程可以看做空间的概念
例子:
进程相当于一个房子,房子里面的东西,这些东西就是进程提供的;
房子里面走来走去的人,和使用东西的人,就是
线程
我们打开od,可以看到的这些东西就是进程
找到最后发现到 0x7FFEF000结束(这里是个小Tips了)
内核空间分布:
在4GB内存的操作系统中,高2G的给内存空间操作系统(也就是内核)使用,这部分内存空间所有进程共享。
低2G的内存给各个进程使用,每个进程占有独立的内存空间,相互进程其内存之间并不影响。
所谓的进程不是一个文件组成,而是多个文件组成
0x01.进程的创建过程
1)、任何进程都是别的进程创建的
系统中的程序都是通过explorer.exe创建的,这个程序调用了CreateProcess()函数
2)、进程的创建过程
1、映射EXE文件
2、创建内核对象`EPROCESS`
3、映射系统DLL(ntdll.dll)
4、创建线程内核对象`ETHREAD`
5、系统启动线程
映射DLL(ntdll.LdrlnitializeThunk)
线程开始执行
举个例子,我们点击 A.exe 就会调用 CreateProcess() 函数
第一步:映射EXE文件
通过上面的图片知道我们程序映射的话