码迷,mamicode.com
首页 > Windows程序 > 详细

7_API调用

时间:2019-10-22 12:42:33      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:for   获取   exp   面具   inter   pool   policy   font   死循环   

0 查看 kifastcallentry 里面具体怎么调用

  • 首先是 切换了 fs 为kpcr的选择子

  • 然后 构造了 一个trap frame(保存3环--》0环 切换的上下文;如果0环不使用就没啥用,就不用构造;例如这里实验就没有构造,只是 切换了内核的kpcr)

1 使用内核api 申请内存 注意:

技术图片

1.1 这里的函数地址是写死的,真正的地址应该动态获取

1.2 这里push 0x3b ; pop fs ; 是为了恢复 3环fs 为 teb

1.3 这里cli 关中断 是为了防止 在 pop fs 和iretd 之间 被切换线程;导致fs 被修改。

这里可以使用实现测试;如果不加cli 会有可能导致蓝屏;

虽然几率小,但是我们可以一直死循环调用

技术图片

在中断开关 之间 就可以调用api了,就像例子里面调用exallocatepool() 分配内存一样。


7_API调用

标签:for   获取   exp   面具   inter   pool   policy   font   死循环   

原文地址:https://www.cnblogs.com/leibso-cy/p/11718895.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!