我开始熟练使用windbg是从帮助手册开始的,也就是.hh命令。
就像学习windows开发从msdn开始一样,微软的产品虽然不开源,但是文档做的是相当的好。然而那些开源的东西呢?开源的竞争力其实就在于文档不开源,哈哈。你只要不开源文档,那些用你代码的人,很多还是会成为你的客户,而且既然你开源,有了安全问题也不会找你麻烦,你甚至知道后门而不用修补,然而开源是趋势,windows也在朝这一步迈进,这时才是安全人员大行其道的时候。
另外还要说一些IDA,今天我反编译了windows内核ntoskrnl.exe,其实现可谓相当丰富,接口从api到posix都有,而且还可以直接f5查看c代码,要说windows操作系统,开不开源其实无所谓,只要没有加壳加密,几乎已经是开源了。我从未如此近距离接触windows的内核,欣喜若狂。
关于patch guard以及huper guard,其实你可以不去动内核,只要你自己实现一份内核的部分功能,一样可以在ring3迂回的hook到ring0,因为你可以改变ring3代码,让它不再走操作系统的ring0而走你的ring0。
接下来我要实现的加载ring3的代码到ring0执行,听起来有点像ring0的漏洞,这样有利于开发和调试ring0代码,就像脚本和宿主的感觉一样。