- 博客(5)
- 收藏
- 关注
原创 Windows引导过程
Windows内核加载过程第一步:引导扇区(引导代码),第一个扇区充当一个加载器,读取其他扇区的代码和数据,然后跳入到下一个扇区的代码区。第二步:引导扇区被加载执行之后,ntldr文件获得控制权,ntldr由两部分组成,第一部分是实模式代码,即首先获得控制的代码区;第二部分是一个标准的Windows可执行二进制文件(PE文件格式),在ntldr中这部分被称为os loader。实模式代码会先完成初始化工作,如清除键盘缓冲区,为进入32位保护模式做准备,然后将处理器切换到32位保护模式下,这样就可以访.
2020-11-10 13:58:27
908
转载 《Windows内核原理与实现》-------函数,结构,全局变量的所在页数
最近学习《Windows内核原理与实现》发现其博大精深,粗略过了一遍,很多东西比较茫然,看书之余把书中涉及的函数,结构,全局变量的所在页数总结出来,便于以后查阅。由于半自动半手工,难免有写错的地方,如有发现还请留言通知,谢谢。函数函数名称所在页数_KeSystemStartup149_KiExceptionExit341_KiFastCallEntry552 554_KiServiceExit553_KiShutUpAssembler321_
2020-11-08 22:00:46
819
转载 32位汇编指令--条件传送指令
条件传送指令如下:cmove S, D //等于0时传送cmovz S, D //同cmovecmovne S, D //不等于0时传送cmovnz S, D //同cmovne cmovs S, D //负数时传送cmovns S, D //非负数时传送 cmovg S, D //有符号大于时传送cmovnle S, D //同cmovgcmovge S, D //有符号大于等于时传送cmovnl S, D //同cmovgecmovl S, D //有符
2020-11-08 12:34:53
1859
转载 断言(assert)的用法
我一直以为 assert 仅仅是个报错函数,事实上,它居然是个宏,并且作用并非"报错"。在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert() 的用法像是一种"契约式编程",在我的理解中,其表达的意思就是,程序在我的假设条件下,能够正常良好的运作,其实就相当于一个 if 语句:if(假设成立){ 程序正常运行;}else{ 报错&&终止程序!(避免由程序运行引起更大的错误) }但是这样写的话,就会有无数个 if 语句,甚至会出现,
2020-11-07 14:42:15
441
转载 ___security_cookie机制,防止栈溢出
(转)___security_cookie机制,防止栈溢出原文链接从研究底层和汇编以来,已经多次接触到“栈溢出”这个名词了。这次在汇编码中看到了个不明就里的 ___security_cookie ,查了下,原来是编译器的安全检查机制。转载一篇文章:首先,security cookie并不是windows系统自带的保护机制,并不是说一个确实存在溢出漏洞的程序,放到带security cookie保护的环境中,就不能正常溢出了。那么,到底是什么是security cookie呢?我觉得从广义上讲,
2020-11-07 13:48:58
717
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人