TSS任务门

better0332 2008-12-01 06:22:34
有没有人利用TSS任务门进入ring0????
...全文
149 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
better0332 2008-12-11
  • 打赏
  • 举报
回复
晕,上面代码帖错了……

MyTaskGateFunction proc
pushad
pushfd ;保存EFLAGS,可能被内核函数修改!
push 30h ;使用内核函数前要设置fs
pop fs

cli
invoke DbgPrint,$CTA0("MyTaskGate calling...\n")
sti
popfd
popad
iretd ;千万不要在这里单步(WinDBG)
jmp offset MyTaskGateFunction
MyTaskGateFunction endp

这样就没问题了……
better0332 2008-12-11
  • 打赏
  • 举报
回复
楼上说的不错,不过在WIN32下我已经成功了!
MyTaskGateFunction proc
push 30h ;使用内核函数前要设置fs
pop fs
cli
invoke DbgPrint,$CTA0("MyTaskGate calling...\n")
sti
iretd ;千万不要在这里单步(WinDBG)
jmp offset MyTaskGateFunction
MyTaskGateFunction endp
注意红色的就够了,以前主要是任务函数写的有问题!
xiaopoy 2008-12-04
  • 打赏
  • 举报
回复
用TSS这类进R0不推荐在win32下试,在linux下弄比较好,因为有不明晰错误时可以自己查找那莫名其妙的源头
TSS进R0相当于hook了进程调度,win32下进程调度很麻烦,仅仅改TSS中数据不可以,还有需要内核变量得修正,至于那些未文档化的东西,通用性不保证并且使用起来的繁琐程度非一般啊
retf:after popping IP/EIP, it then pops CS, and then increments the stack pointer by the optional argument if present.
只是自己的想法,有错误直接指正
better0332 2008-12-03
  • 打赏
  • 举报
回复
每次都沉……
better0332 2008-12-02
  • 打赏
  • 举报
回复
看雪上那篇文章《通过任务门访问内核》
它的例子都说试验失败的,关键是原因未知……
所以我才来问大家……
better0332 2008-12-02
  • 打赏
  • 举报
回复
retf指令Intel手册上怎么没有说明啊
xiaopoy 2008-12-01
  • 打赏
  • 举报
回复
http://bbs.pediy.com/showthread.php?t=56817
彻头彻尾的完整说明

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧