
内核
文章平均质量分 85
杂项
#A#
专注c++领域
c++开发&c++逆向选手
展开
-
调试与反调试
1.DebugPort2.KdDisableDebugger, 禁用内核调试 KdEnableDeu原创 2022-05-27 00:23:39 · 564 阅读 · 1 评论 -
Windbg调试
visual studio上虽然也能调试内核,但太麻烦了。很臃肿,本身就是内嵌了一个WindbgWindbg F1按下F1就会跳出一个帮助手册,是学习Windbg非常好的参考手册这个里面就有 Windbg的命令 有使用方法,使用例子三类命令 元命令,扩展命令和命令Commands 命令Mera Commands里的是以. 开头的 叫元命令Extension Commands 是以!开头的 是扩展命令因为Windbg既可以调试应用层程序 也可以调试...原创 2022-05-26 23:46:52 · 848 阅读 · 0 评论 -
漏洞预防
内核驱动漏洞原因和七大忠告不要使用MMIsAddressValid函数,这个函数对于校验内存结果是UNreliable的 首先,他只能判断一个字节地址的有效性 比如: if(MmIsAdressValid(p1)){ memcmp(p1,p2,len); } 攻击者只需要传递第一个字节在有效页,而第二个字节在无效页的内存就会导致系统崩溃。比如0x7000是有效也 0x8000是无效也 传入0x7fff 其次,MmIsAddressValid对于 pageout的页面不能准..原创 2022-05-25 23:05:30 · 300 阅读 · 0 评论 -
NTModel(1
API从应用层到内核调用流程在应用层调用的API一般来说是被封装在 kernel32.dll或者gdi32.dll或者User32.dll这些动态链接库里的比如CreateFile这个应用层API kernel32里的API又会进一步封装到Ntdll.dll,在Ntdll中会对应一个NtCreateFile或是ZwCreateFile 应用层的是被封装在kernel中的函数 实际上就是调用这个里面的函数,kernel32里的又被封到Ntdll中 一般称为native API 就原生函数,原生函数会通原创 2022-05-23 00:20:08 · 204 阅读 · 0 评论