滴水保護模式測試

2021-10-09 08:53:57 字數 2227 閱讀 7294

工具:vc 6 windbg

//注意點:下面採用的都是pae分頁(2-9-9-12)

公式:pde = ((dwaddr>>21)<<3) & 0x3ff8 + 0xc0600000 ; //2 + 9

pte = ((dwaddr>>12)<<3) & 0x7ffff8 + 0xc0000000;// 2 + 9 + 9

第一題難點在於計算pde pte

#include

"stdafx.h"

#include

#include

void

judge()

;bool bret;

dword dwpdi;

dword dwpti;

bool readmemory

(out pbyte buffer,in dword dwaddr,in dword dwlength)

while

((dwaddr&

0xfff

+ dwlength)

>

0x1000);

if(bret ==

null)if

(!memcpy

(buffer,

(pbyte)tempaddr,templength)

)printf

("readmemory sucessed\n");

return true;

}void

judge()

;*(pdword)

&buffer[0]

=0x12345678;*

(pword)

&buffer[4]

=0x48

;//呼叫門提權 在windbg裡輸入eq 8003f048 0040ec00`00081090

__asm

printf

(" ret:%x\n"

,bret);}

//test() 顧名思義 彙編指令裡的test

void

__declspec

(naked)

test()

}int

main

(int argc,

char

* ar**)

如果第一題熟悉了那麼第二題就是簡簡單單的掛頁

0x00000000 - 0x0000ffff(可能有錯) 防止空指標 我們掛上物理頁就可以訪問了

#include

"stdafx.h"

#include

#include

void

judge()

;dword dwselfpte;

dword dwtargetpte;

void

callgate()

;*(pdword)

&buffer[0]

=0x12345678;*

(pword)

&buffer[4]

=0x48

; __asm

}void

__declspec

(naked)

test()

}int

main

(int argc,

char

* ar**)

for(

int i =

0;i <

100;i++

) dwselfpte =((

(dword)parr>>12)

<<3)

&0x7ffff8

; dwselfpte +

=0xc0000000

; dwtargetpte =

((dwaddr>>12)

<<3)

&0x7ffff8

; dwtargetpte +

=0xc0000000

;printf

("parr:%x dwaddr:%x\n"

,parr,dwaddr)

;printf

("dwselfpte:%x dwtargetpte:%x\n"

,dwselfpte,dwtargetpte)

;callgate()

;for

(int j=

0;j<

100;j++

)getchar()

;return0;

}

保護模式階段測試

說說思路吧,如果給出的線性位址 讀取的長度沒有超過0x1000。那麼這種情況很好處理,判斷pde和pte的p都為1就行了 readpageattr.cpp 定義控制台應用程式的入口點。呼叫門描述符 eq 8003f048 0041ec00 00081087 include stdafx.h incl...

進入保護模式

本文為 每個描述符佔8位元組,下圖中,上面位高32位,下面為低32位 disk boot ata channel 0 first hd cd on channel 0 type of disk image這個選項是vpc,我用2.6.2配置時選vpc無法啟動,得選flat才可以,2.6.0貌似選vp...

進入保護模式

以下圖2,圖4和圖5截自intel手冊 每個描述符佔8位元組,下圖中,上面位高32位,下面為低32位 disk boot ata channel 0 first hd cd on channel 0 type of disk image這個選項是vpc,我用2.6.2配置時選vpc無法啟動,得選fl...