本学习笔记截图均来自滴水逆向 感谢支持
一:字符编码
1.ASCII码最普通的字符编码 不必多说有表就行了
2.unicode码 这种储存方式分为两种UTF-16和UTF-8
二:api中的宽字符
三:进程内存空间的地址划分
四:进程创建的过程
五:句柄表
系统是不会暴露内核结构的地址是多少的因为如果程序改了内核地址那么会出现蓝屏 所以出现了下图的句柄表
系统会把内核地址的值放入句柄表所以进程访问时需要先找句柄表从而找到内核地址的编号从而访问内核地址 句柄表的作用就是隔离应用层和用户层从而到达保护的作用(只有EPROCESS这个才有句柄表)
下图为创建一个进程的操作
后两个参数可以产看线程和进程的句柄是什么
两个不同的进程可以用一个内核如下图 但是他们的句柄表可能不太一样就是顺序不太一样但是编码的对应关系是一样的
closehandle函数只会让计数器减一只有当计数器为0时才会关闭内核
只要有上图这个函数他就一定是个内核对象
有时候子进程可以继承父进程的句柄表(但不一定是完全基础)
全局句柄表中保函了系统运行的所有进程与线程的句柄表
每一个进程都有一个pid且唯一不能重复但是不永远只是一个值
下图是创建进程的另一种情况
六:创建线程
线程的定义
七:控制线程
win32笔记(1)
最新推荐文章于 2023-08-18 16:43:36 发布