设为首页收藏本站喵玉殿官方微博

 找回密码
 少女注册中
搜索
查看: 4673|回复: 4

[编程算法] 进RING0 WDM 注释

[复制链接]
发表于 2011-1-19 15:28:36 | 显示全部楼层 |阅读模式
本帖最后由 十二 于 2011-1-23 18:45 编辑




  1. pushfd //标志寄存器入栈
  2. pushad //同上通用寄存器入栈,保护现场。
  3. push edx //栈帧操作EDX入栈,保存EDX
  4. sgdt [esp-2] //获取GDTR,ESP-2 得到Base。
  5. pop edx //弹出GDTR Base送EDX。
  6. mov eax,edx //GDTR Base送EAX。
  7. mov ecx,3e0h //3E0送ECX。
  8. MOV BYTE PTR DS:[EDX],0C3h //在GDTR Base起始处添加RETN指令
  9. mov word ptr [edx+ecx],AX //AX送GDTR Base+3E0,送GDTR Base低16位给新建调用门。
  10. shr eax,16 //逻辑右移,高位填0
  11. mov word ptr [edx+ecx+6],AX //AX送GDTR Base+3E0+6,送GDTR Base高16位给新建调用门。
  12. mov dword ptr [edx+ecx+2],0ec0003e8h //调用门DPL选择子信息。
  13. mov dword ptr [edx+ecx+8],0000ffffh //建立Ring0描述符Limit大小。
  14. mov dword ptr [edx+ecx+12],00cf9a00h //Ring0 段描述符DPL等信息。
  15. popad
  16. popfd //清理现场
  17. xor eax,eax //Eax清零
  18. ret 8 //返回后+8
复制代码



评分

参与人数 1积分 +1 收起 理由
真PKS同志 + 1 = =

查看全部评分

发表于 2011-1-19 17:07:26 | 显示全部楼层
12神触你是来骗加分和精品的么……&
回复

使用道具 举报

 楼主| 发表于 2011-1-19 17:40:21 | 显示全部楼层
这种东西上网一抓一把 有驱动的无驱动的 - =  
我只是做了一个注释或许还有错的地方  = =  方便理解而已。。。。。。。。
回复

使用道具 举报

 楼主| 发表于 2011-1-23 18:43:30 | 显示全部楼层
;>>>>>>>>>>>>>>>STRUCT>>>>>>>>>>>>>>>>>>>>>>>>>>>>
CALLGATE    STRUCT
OFFSETL    DW    0
SELECTOR    DW    0
DCOUNT    DB    0
GTYPE      DB    0
OFFSETH    DW    0
CALLGATE    ENDS

DESCRIPTOR  STRUCT
LIMITL    DW    0
BASEL      DW    0
BASEM      DB    0
ATTRIBUTES  DW    0
BASEH      DB    0
DESCRIPTOR  ENDS

补一个CallGates和0级描述符的结构
回复

使用道具 举报

 楼主| 发表于 2011-1-24 12:18:01 | 显示全部楼层
本帖最后由 十二 于 2011-1-24 12:19 编辑
  1. pushfd
  2. pushad

  3. push edx
  4. sgdt [esp-2]
  5. pop edx
  6. mov eax,edx
  7. mov ecx,120h
  8. mov byte ptr [edx],0c3h

  9. mov word ptr [edx+ecx],ax
  10. mov word ptr [edx+ecx+2],130h
  11. mov byte ptr [edx+ecx+4],00h
  12. mov byte ptr [edx+ecx+5],0ech
  13. shr eax,16
  14. mov word ptr [edx+ecx+6],ax

  15. mov word ptr [edx+ecx+16],0FFFFh
  16. mov word ptr [edx+ecx+18],00000h
  17. mov byte ptr [edx+ecx+20],000h
  18. mov word ptr [edx+ecx+21],0CF9Ah
  19. mov byte ptr [edx+ecx+23],000H

  20. popad
  21. popfd
复制代码
缩写还原,方便理解。 
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 少女注册中

本版积分规则

合作与事务联系|无图版|手机版|小黑屋|喵玉殿

GMT+8, 2025-11-1 04:57

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表