Windows内核基础知识-1-段寄存器】的更多相关文章

Windows内核基础知识-1-段寄存器 学过汇编的应该都知道段寄存器,在Windows里段寄存器有很多,之前可能只接触了ds数据段,cs 代码段这种,今天这个博客就介绍Windows一些比较常用的段寄存器. 段:Segment,段寄存器肯定是以s结尾的.通过olldydbg软件可以看到这六个常用的段寄存器 寄存器 描述 ES expand segment扩展段 CS code segment代码段 SS stack segment栈段 DS data segment数据段 FS 取teb的时候…
Windows内核基础知识-2-段描述符 比如: ES 002B 0(FFFFFFFF) 意思就是es段寄存器,段选择子/段选择符 为002B, 起始地址base为0, 限制范围Limit地址最大能寻找的长度为:FFFFFFFF,表示的是一个范围.从.base到最后最长的地址的相对值. 简单来说就是偏移地址的范围.地址=段寄存器基址base+偏移地址,这个limit可以理解为偏移地址的范围 可以看到所有的段寄存器除了FS别的都是一样的. 获取段寄存器的信息: 如果你正常在调试,用什么WinDbg…
Windows内核基础知识-5-调用门(32-Bit Call Gate) 调用门有一个关键的作用,就是用来提权.调用门其实就是一个段. 调用门: 这是段描述符的结构体,里面的s字段用来标记是代码段还是数据段还是系统段,前面解析的时候讲的是 S==1的情况,也就是Code or data的情况,这次的调用门就是当s==0时的情况. 当s==0时,type的内容如下: 那么调用门其实就是 type为12的情况下的一个段寄存器. 32-Bit Call Gate.32位情况下的一个调用门. 就是一个…
Windows内核基础知识-8-监听进程.线程和模块 Windows内核有一种强大的机制,可以在重大事件发送时得到通知,比如这里的进程.线程和模块加载通知. 本次采用链表+自动快速互斥体来实现内核的主要架构. 进程通知 只要在内核里面注册了进程通知那么创建进程就会反馈给内核里面. //注册/销毁进程通知函数NTSTATUS PsSetCreateProcessNotifyRoutineEx(  PCREATE_PROCESS_NOTIFY_ROUTINE_EX NotifyRoutine,//回…
前两日碰到了用异常处理来做加密的re题目 所以系统学习一下windows内核相关 windows内核基础 权限级别 内核层:R0 零环 核心态工作区域 大多数驱动程序 应用层:R3 用户态工作区域 只能使用win32 api与系统交互 R0与R3的通信 调用流程 当用户调用一个有关I/O的API时 该API封装在一个用户层的DLL文件中(如kernel32.dll或user32.dll) 此dll函数的更底层函数被包含在ntdll.dll中 即用户调用的系统API在ntdll.dll均有对应 (…
#include<stdio.h> int main(void) { printf("hello world\n"); return 0; } gcc -g -wall helloworld.c -o hello_world 生成可执行文件,其过程 涉及预处理,编译,汇编,链接等多个步骤 预处理:用于处理预处理命令,上面helloworld代码的预处理就是#include,该头文件所有源码将在第一行展开,可使用 gcc -E helloworld.c > hellow…
CPU是什么 当然这里的内存不仅仅指电脑上的内存,例如:我的金士顿8G内存,七彩虹1G独显,在这里来说,显卡也是有内存的(寄存器) CPU如何控制其它部件的? 问题:CPU是如何和电脑主机中其它芯片有条不紊工作的? 答:CPU主要是在操作各个部件的内存,例如要显示一张美女图片   汇编语言的组成 汇编指令 伪指令 其它符号 相关资料 <解密与加密>…
似乎穿越的感觉,我又来到了这周的周五,总是在周五,知道了时间的概念,上午会讲课,但是在下午就是一个总结小练习,上午老师给我们讲了委托,在听课时间感觉很简单啊,哪里有难的地方啊,一直在好奇,老师在演示给我们看的时间我感觉挺好的啊,可是之后自己练习的时间我发现我错啦,虽然知道委托方法怎么整的,但是让自己再定义写一个,却盲目啦,不知道在委托调用的那个方法该如何写,甚至不知道写委托的方法的顺序,顿时感觉纠结啊,可是在问题的带领下,又详细的让老师给我们讲啦一遍,现在还好啦,不过感觉还是不熟悉啦,每天在告诉…
什么是内部字段分隔符 内部字段分隔符(Internal Field Separator,IFS)是shell脚本编程中的一个重要概念.在处理 文本数据时,它的作用可不小. 作为分隔符,IFS有其特殊用途.它是一个环境变量,其中保存了用于分隔的字符.它是当 前shell环境使用的默认定界字符串.我们可以查看$IFS这个变量,从而看出这个分隔符. [root@dns-node2 tmp]# echo $IFS 更换分隔符从而切分字符串 考虑一种情形:我们需要迭代一个字符串或逗号分隔型数值(Comma…
目录 Windows内核原理-同步IO与异步IO 背景 目的 I/O 同步I/O 异步I/O I/O完成通知 总结 参考文档 Windows内核原理-同步IO与异步IO 背景 在前段时间检查异常连接导致的内存泄漏排查的过程中,主要涉及到了windows异步I/O相关的知识,看了许多包括重叠I/O.完成端口.IRP.设备驱动程序等Windows下I/O相关的知识,虽然学习到了很多东西,但是仍然需要自顶而下的将所有知识进行梳理. 目的 本片文章主要讲解同步I/O与异步I/O相关知识,希望通过编写本篇…