[Win32]进程相关API学习笔记

一、全局句柄表(操作系统)

成功创建进程以后,createprocess会返回4个数据,进程编号,进程句柄,线程编号,线程句柄

每个进程都有一个私有的表叫做(进程)句柄表,全局句柄表包含当前系统所有正在运行的进程和线程,pid和进程句柄的区别,pid是全局的,进程句柄只在当前进程有意义。

二、相关API介绍

1、openprocess()

用来打开已经存在进程

HANDLE OpenProcess(
DWORD dwDesiredAccess, // 打开的进程拥有什么样的权利
BOOL bInheritHandle, //  是否允许被继承
DWORD dwProcessId // pid
);

 

createprocess,CREATE_SUSPENDED以挂起形式创建一个新的进程,使用该参数,进程的创建流程发生改变

1.映射EXE文件

2.创建内核对象eprocess

3.映射系统DLL

4.创建线程内核对象ETHREAD

5.如果是挂起的方式运行

...............(可以做手脚)

6.恢复以后再继续执行

7.映射DLL开始执行

2、GetMouleFileName()获取当前执行程序的路径

3、GetCurrenDirectory()获取当前工作路径

猜你喜欢

转载自www.cnblogs.com/websecyw/p/12960753.html