亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sysenter.txt

?? 會(huì)變語言實(shí)現(xiàn)的一些程序
?? TXT
字號(hào):
 
  作者:wowocock

;眾所周知微軟自XP后引進(jìn)了FASTCALL SYSENTER,SYSEXIT來代替WIN2K下INT2E系統(tǒng)服務(wù)調(diào)用
;其優(yōu)點(diǎn)是快速而且沒有保留堆棧的開銷,為了便于大家理解我寫下面一個(gè)在WIN98下的例子
;來說明一下這2條指令的用法。ITNEL的手冊(cè)上關(guān)于他們介紹的很詳細(xì),我簡(jiǎn)要說明一下
;SYSENTER是INTEL自P2后引進(jìn)的快速從RING3~RING0的FASTCALL,從FAMILY 6,MODEL 3,
;STEP 3也就是從PII300以后引進(jìn)的,這也是為什么WINXP需要PII300以上的原因。在使用SYSENTER
;之前必須定義好RING0 CS EIP ESP,通過設(shè)置相應(yīng)MSR寄存器,由WRMSR指令來設(shè)定(必須在RING0層執(zhí)行);
;通過將相應(yīng)的寄存器地址號(hào)放入ECX中,WRMSR可以設(shè)置這些MSR寄存器,對(duì)應(yīng)關(guān)系如下
;SYSENTER_CS_MSR 174H  SYSENTER_ESP_MSR 175H  SYSENTER_EIP_MSR 176H
;執(zhí)行SYSENTER指令的系統(tǒng)必須滿足 1:轉(zhuǎn)換后的RING0代碼段必須是FLAT,4GB的可讀可執(zhí)行
;的非一致代碼段.2:轉(zhuǎn)換后的RING0堆棧段必須是FLAT,4GB的可讀可寫向上擴(kuò)展的數(shù)據(jù)段
;由于FASTCALL不保存任何返回的地址,所以在調(diào)用前你必須自己設(shè)定好,RING0代碼段SELECTOR
;RING0堆棧段SELECTOR,RING3代碼段SELECTOR,RING3堆棧段SELECTOR,必須在GDT中連續(xù)的排列
;所以在XP下相應(yīng)的SELECTOR,必然是8H,10H,1BH,23H,必須將返回至RING3 EIP,ESP通過寄存器
;傳遞進(jìn)RING0以便SYSEXIT返回使用,在SYSEXIT返回之前,EDX為RING3 EIP,ECX為RING3 ESP
;而相應(yīng)的CS,SS,則由RING0 CS加上10H,18H來返回
;RING3~RING0
;1. 裝載SYSENTER_CS_MSR 到CS 寄存器.
;2. 裝載SYSENTER_EIP_MSR到 EIP寄存器。 
;3. SYSENTER_CS_MSR+8 裝載到SS寄存器 
;4.裝載SYSENTER_ESP_MSR 到ESP寄存器。  
;5. 切換RING0.
;6. 清除 EFLAGS的 VM標(biāo)志
;7. 執(zhí)行RING0例程
;RING0~RING3
;1。SYSENTER_CS_MSR+16裝載到 CS寄存器
;2. 將EDX的值送入EIP
;3.  SYSENTER_CS_MSR+24 裝載到SS寄存器 
;4. 將ECX的值送入ESP 
;5.切換回RING3
;6. 執(zhí)行EIP處的RING3指令
;下面的例子在示范的基礎(chǔ)上加了個(gè)小TRICK,就是在通過CALLGATE進(jìn)RING0設(shè)置MSR寄存器的同時(shí)
;關(guān)掉了你機(jī)器上的緩存,然后你可以看看在沒有緩存的情況下你的感覺如何,然后點(diǎn)擊一下
;對(duì)話框,則經(jīng)由SYSENTER指令進(jìn)入RING0設(shè)定好的地址處恢復(fù)你CPU緩存,所以別擔(dān)心,還有
;沒有緩存的時(shí)候你的動(dòng)作最好慢一點(diǎn),不然會(huì)讓你等的發(fā)瘋的,呵呵。

.686p
.model flat,stdcall
option casemap:none 

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc

includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib

sysenter macro
    db 0fh,34h
    endm

sysexit macro
   db 0fh,35h
   endm

CR0_CD  EQU     040000000h      ; Cache Disable bit of CR0
CR0_NW  EQU     020000000h      ; Not Write-through bit of CR0  
  .data
Ring0Cs dw 0ffffh,0,09b00h,0cfh
Ring0Ss dw 0ffffh,0,09300h,0cfh
Ring3Cs dw 0ffffh,0,0fb00h,0cfh
Ring3Ss dw 0ffffh,0,0f300h,0cfh

trR dw ?
tssRing0Esp dd ?
GdtLimit dw ?
GdtAddr dd ?

Callgt dq 0        ;call gate's sel:off
tmpCs  dw ?
szTitle         db      "CPU info",0
msg             db 100 dup (?)
Nightmare  db "切換到其他窗口,嘗嘗沒CACHE的滋味!",0

       .code
Start:
        mov ax,ds
 test ax,4
 jz Exit;winnt
 xor eax,eax
 cpuid
        lea edi,msg
 xchg eax,ebx
 stosd
 xchg eax,edx
 stosd
 xchg eax,ecx
 stosd
        invoke MessageBoxA,0,addr msg,addr szTitle,0
 mov eax,1
 cpuid
 test edx,800h
 jz Exit
 mov eax,2
 cpuid
SetSel:
 sgdt GdtLimit
        str     word ptr  trR
        ;----------------------- 
        ; get the tr mes 
        ;-----------------------        
 movzx  esi,trR
        add    esi,GdtAddr
        mov    eax,[esi+2] 
        and    eax,0ffffffh 
        mov    ebx,[esi+4] 
        and    ebx,0ff000000h 
        or    eax,ebx 
        push dword ptr[eax+4]
 pop    dword ptr [tssRing0Esp]
 movzx eax,GdtLimit
 test  al,1
 jz @f
 inc eax
 @@:
 sub eax,4*8
 mov tmpCs,ax
 add eax,GdtAddr
 lea esi,Ring0Cs
 mov edi,eax
 mov ecx,4*8
 rep movsb
SetMsr:
        ;------------------------------------- 
        ; 在GDT中尋找空白表項(xiàng)來制造調(diào)用門 
        ;------------------------------------- 
        mov    esi,GdtAddr
        movzx  eax,GdtLimit 
        call    Search_XDT 
                                                ;esi==gdt Base 
        mov    esi,dword ptr GdtAddr 
        push    offset Ring0_SetMsr 
        pop    word  ptr [esi+eax+0]        
        pop    word  ptr [esi+eax+6]        ;Offset 

        mov    word  ptr [esi+eax+2],28h 
        mov    word  ptr [esi+eax+4],0EC00h  ;sel=28h and attribute ->386 call gate! 

        and    dword ptr Callgt,0 
        
        mov    word  ptr [Callgt+4],ax 
 pushad
        call    fword ptr [Callgt]            ;Ring0! 
        popad
        mov    dword  ptr [esi+eax+0],0
        mov    dword  ptr [esi+eax+4],0
 
invoke MessageBoxA,0,addr Nightmare,addr Nightmare,0 
 lea     edx,Exit
 mov     ecx,esp
 sysenter
Exit: 
 push    00000000h                       ; Exit program
        call    ExitProcess
Ring0_SetMsr:
       mov ecx,174h
       movzx eax,tmpCs
       wrmsr
       inc ecx
       mov eax,tssRing0Esp
       wrmsr
       inc ecx
       lea eax,Ring0Ip
       wrmsr

       mov     eax,cr0         ; read CR0
       or      eax,CR0_CD      ; set CD but not NW bit of CR0
       mov     cr0,eax         ; cache is now disabled
       wbinvd                  ; flush and invalidate cache

        ; the cache is effectively disabled at this point, but memory
        ; consistency will be maintained. To completely disable cache,
        ; the following two lines may used as well:

       or      eax,CR0_NW      ; now set the NW bit
       mov     cr0,eax         ; turn off the cache entirely
      
       retf
Ring0Ip:
       pushad
       
       pushf                   ; save the flags
       cli                     ; disable interrupts while we do this
       mov     eax,cr0         ; read CR0
       and      eax,0dfffffffh  ; now set the NW bit
       mov     cr0,eax         ; turn on the cache entirely

       and      eax,0bfffffffh      ; set CD but not NW bit of CR0
       mov     cr0,eax         ; cache is now Ensabled                              
    
       popf                    ; restore the flags
        
       mov eax,cr0
       mov [esp+4*7],eax
       popad
       sysexit
Search_XDT proc near      ;entry esi==Base  of Ldt  or GDT 
              ;Eax==Limit 
    pushad      
    mov ebx,eax    
    mov eax,8        ; skipping null selector 
@@1:        
    cmp dword ptr [esi+eax+0],0    
    jnz @@2  
    cmp dword ptr [esi+eax+4],0    
    jz @@3  
@@2:        
    add eax,8        
    cmp eax,ebx        
    jb @@1      ;if we haven't found any free GDT entry, 
            ;lets use the last two entries        
    mov  eax,ebx      
    sub  eax,7          
@@3:      
    mov [esp+4*7],eax      ; return off in eax 
    popad    
    ret        
Search_XDT endp 
end     Start


   

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月天欧美精品| 国产原创一区二区三区| 精品剧情v国产在线观看在线| 成人三级伦理片| 日韩精品成人一区二区三区| 国产精品久99| 2023国产精品| 欧美一区二区三级| 欧美日韩一级二级| 91麻豆高清视频| 国产精品一区二区在线观看不卡 | 欧美性一二三区| 国产乱码精品一品二品| 欧美aa在线视频| 亚洲自拍偷拍麻豆| 亚洲视频你懂的| 中文字幕免费在线观看视频一区| 日韩欧美黄色影院| 欧美日本不卡视频| 欧美亚日韩国产aⅴ精品中极品| 99久久99久久精品免费观看| 亚洲国产成人91porn| 久久天天做天天爱综合色| 欧美久久久久久久久| 欧美午夜精品一区二区三区| 91美女视频网站| av在线这里只有精品| 成人动漫在线一区| 成人一级视频在线观看| 九九精品视频在线看| 久久草av在线| 激情av综合网| 国产精品中文字幕一区二区三区| 老汉av免费一区二区三区 | 美女脱光内衣内裤视频久久网站| 亚洲www啪成人一区二区麻豆| 一区二区日韩av| 一区二区三区免费看视频| 亚洲免费在线视频一区 二区| 最新成人av在线| 亚洲欧美日韩在线不卡| 一区二区在线观看免费| 一区二区在线看| 亚洲国产sm捆绑调教视频| 午夜影院在线观看欧美| 日日噜噜夜夜狠狠视频欧美人 | 欧美日韩电影一区| 欧美电影在线免费观看| 日韩网站在线看片你懂的| 欧美电视剧在线看免费| 久久精品亚洲麻豆av一区二区| 国产日韩视频一区二区三区| 国产午夜精品美女毛片视频| 中文字幕一区不卡| 伊人开心综合网| 午夜国产精品一区| 久久精品国产99| 国产成人在线视频播放| 成人激情校园春色| 欧洲一区二区三区免费视频| 欧美老肥妇做.爰bbww| 精品国产凹凸成av人网站| 国产精品看片你懂得| 一区二区成人在线观看| 蜜桃av噜噜一区二区三区小说| 国产精品一级在线| 欧美性受xxxx| 久久嫩草精品久久久久| 亚洲品质自拍视频| 日韩av电影天堂| 成人免费黄色在线| 在线成人免费视频| 国产亚洲欧美色| 尤物av一区二区| 国精品**一区二区三区在线蜜桃| 91性感美女视频| 日韩一区二区在线观看视频 | 欧美不卡一区二区三区| 中文字幕欧美国产| 日韩精品成人一区二区三区| 国产成人一级电影| 欧美日产国产精品| 国产欧美视频一区二区| 偷拍亚洲欧洲综合| 成人的网站免费观看| 欧美一区二区三级| 亚洲欧美偷拍卡通变态| 激情综合色综合久久综合| 色婷婷亚洲一区二区三区| 精品国产99国产精品| 亚洲综合色婷婷| 国内精品国产成人| 欧美疯狂做受xxxx富婆| 136国产福利精品导航| 老司机精品视频导航| 欧美性大战久久| 国产精品麻豆网站| 久久se精品一区精品二区| 在线精品国精品国产尤物884a| 国产视频一区不卡| 日韩国产精品91| 色狠狠综合天天综合综合| 国产欧美一区二区三区在线看蜜臀 | 成人一区在线观看| 欧美va亚洲va香蕉在线| 亚洲国产精品久久久久秋霞影院| 粉嫩av一区二区三区在线播放| 91精品午夜视频| 亚洲永久精品国产| 99久久亚洲一区二区三区青草| 久久婷婷成人综合色| 麻豆91在线观看| 91麻豆精品国产91久久久| 一区二区高清视频在线观看| 成人avav在线| 国产亚洲综合av| 久久av资源站| 欧美老肥妇做.爰bbww视频| 一区二区三区国产| 91视频观看视频| 国产精品国产a| 成人app网站| 中文字幕亚洲区| 成人黄色777网| 国产精品你懂的在线欣赏| 国产福利精品一区| 久久久99精品免费观看不卡| 国内欧美视频一区二区| 日韩精品一区二区三区在线 | 国产精品亚洲专一区二区三区| 精品粉嫩超白一线天av| 久久成人免费电影| 精品久久久久久久久久久院品网| 美腿丝袜在线亚洲一区| 日韩欧美中文一区| 黑人巨大精品欧美黑白配亚洲| 日韩欧美成人午夜| 九色综合狠狠综合久久| 日韩精品一区二区三区四区| 精品一区二区在线看| 2019国产精品| 国产乱码精品一区二区三 | 日韩电影在线免费观看| 欧美一区二区女人| 激情欧美日韩一区二区| 久久久99久久精品欧美| 成人sese在线| 一区二区欧美国产| 欧美老年两性高潮| 久久成人免费网站| 中文在线免费一区三区高中清不卡| 成人美女视频在线观看| |精品福利一区二区三区| 在线精品国精品国产尤物884a| 婷婷成人综合网| 精品福利二区三区| av在线免费不卡| 亚洲成年人网站在线观看| 日韩一区二区三区电影| 国产福利91精品| 国产九色sp调教91| 亚洲欧洲av一区二区三区久久| 色婷婷精品久久二区二区蜜臀av| 亚洲国产欧美一区二区三区丁香婷| 欧美高清视频不卡网| 黑人精品欧美一区二区蜜桃| 国产精品久线在线观看| 欧美日韩国产123区| 激情都市一区二区| 亚洲欧美欧美一区二区三区| 正在播放一区二区| 国产成人aaa| 亚洲一二三四区不卡| 精品黑人一区二区三区久久| 成人午夜视频免费看| 性久久久久久久| 国产精品三级电影| 欧美高清精品3d| 国产成人在线视频免费播放| 亚洲网友自拍偷拍| 国产嫩草影院久久久久| 欧美午夜一区二区| 国产成人精品网址| 亚洲v日本v欧美v久久精品| 国产日韩欧美激情| 欧美片网站yy| 成人成人成人在线视频| 日本vs亚洲vs韩国一区三区| 亚洲欧洲成人自拍| 久久影院视频免费| 欧美日韩电影在线播放| 成人app网站| 九九久久精品视频| 亚洲国产精品视频| 国产精品不卡视频| 久久综合久久综合亚洲| 欧美日韩一区不卡| aaa亚洲精品| 国模冰冰炮一区二区| 舔着乳尖日韩一区|