[保護モード]連絡1三環式のアクセス高い2G

// 三環系は、二つの高G.cppをお読みください。エントリポイントのコンソールアプリケーションを定義します。
//
 
の#include " STDAFX.H " 
の#include <WINDOWS.H> INT _tmain(int型 ARGC、_TCHAR * ARGV [])
{ int型 * gdtAddress = NULL; // 定義する変数は、    ()のgetchar; 
    gdtAddress =(int型 *)0x80b95048 ; // コピー高アドレス 
    * gdtAddress = 2 ; 
    のprintf(" %のX、X値=%\ N- "、gdtAddress、* gdtAddress); 
    システム(" PAUSEを" );
    



    
リターン 0 ; 

 

}

失敗読みます、そして我々は、オペレータWindbgのを支援するために、この時間を使用する必要があります!

まず見つけます

対処0x80b95048 
彼に書き換えを

0:KD> 80b95048 00000000`12345678 EQ
0:KD> DQ GDTR
80b95000 00000000`00000000 00cf9b00`0000ffff
80b95010 00cf9300`0000ffff 00cffb00`0000ffff
80b95020 00cff300`0000ffff 80008b1e`600020ab
80b95030 84409333`dc003748 0040f300`00000fff
80b95040 0000f200`0400ffff 00000000`12345678
80b95050 84008933`b0000068 84008933`b0680068
80b95060 00000000`00000000 00000000`00000000
80b95070 800092b9`500003ff 00000000`00000000

 
   
スプリット
0x80b95048アドレス
分割後:1,000,000,010,111,001 0,101,000,001,001,000
29912の物理ページに基づいて再編成
、8の構造サイズとする場合、そのによって必要とされるビットのディレクトリ番号の定義
2:102 * 8(0a9f4801)

9:0000001015 * 8(00193063)

9:1100 1010 1×8 195( 00b95163)
12:00000100100048(123456)GETCHAR Windbgのを引き継ぐために、その後オフに再びそこに特定のデータを対象とされているので、プログラムを実行するために、仮想マシン内で場所を取る必要はなく、
使用してください!すべてのプロセス通過するプロセス0 0(追加する前にそれを読むために必要がある場合は、物理アドレスを!)
000を埋めるためには、コンピューティングに関わる読み書きプロパティを防ぐためです!

0:KD> DQ beaf6220 +!2 * 8 
#beaf6230 00000000 `0a9f4801 00000000 ` 0acf5801 
#beaf6240 00000000 `5d0ab801 00000000 ` 5d8ac801 
#beaf6250 00000000 `5d8ad801 00000000 ` 5d6ae801 
#beaf6260 00000000 `5c6b8801 00000000 ` 5c4b9801 
#beaf6270 00000000 `5beba801 00000000 ` 5c4bb801 
#beaf6280 00000000 `5dbc1801 00000000 ` 5e0c2801 
#beaf6290 00000000 `5e1c3801 00000000`5e3c4801 
#Beaf62a0 00000000 ` 5989e801 00000000 `5919f801 

0:!のKd> DQ 0a9f4000 + 5 * 8 
#A9f4028 00000000 ` 00193063  00000000 `B6a02863 
#A9f4038 00000000 ` 00000000  00000000 `001c2063 
#A9f4048 00000000 ` 001c3063 00000000 `001c4063 
#A9f4058 00000000 ` 001c5063 00000000 001c6063 ` 
#A9f4068 00000000 ` 001c7063 00000000 `001c8063 
#A9f4078 00000000`001c9063 00000000 ` 001ca063 
#a9f4088 00000000 `001cb063 00000000 ` 001cc063 
#a9f4098 00000000 `001cd063 00000000 ` 001ce063 

0:!KD> DQ 00193000 + 195 * 8 
#193ca8 00000000 `00b95163 00000000 ` 00000000 
#193cb8 00000000 ` 00000000  00000000 ` 00000000 
#193cc8 00000000 ` 00000000  00000000 ` 00000000 
#193cd8 00000000` 00000000  00000000 ` 00000000 
#193ce8 00000000 ` 00000000  00000000 ` 00000000 
#193cf8 00000000 ` 00000000  00000000 ` 00000000 
#193d08 00000000 ` 00000000  00000000 ` 00000000 
#193d18 00000000 ` 00000000  00000000 ` 00000000 

0:!KD> DQ 00b95000 + 48 
#b95048 00000000 ` 12345678  84008933 `b0000068 
#b9505884008933 `b0680068 00000000 ` 00000000 
#b95068 00000000 ` 00000000 800092b9`500003ff 
#b95078 00000000 ' 00000000  00000000 ' 00000000 
#b95088 00000000 ' 00000000  00000000 ' 00000000 
#b95098 00000000 ' 00000000  87008905 ' 2f980068 
#1 b950a8 00000000 ' 00000000  00000000 ' 00000000 
#b950b8 00000000 ` 00000000  00000000 `00000000

オリジナルコード:

a9f4028 00000000`00193063 3が分割された後、0011は、スーパーユーザーがアクセスすることができています

!0111を分割した後a9f4028 00193067 7エド     
PDE第2ビットが平均的なユーザーに設定されている

権限をスーパーユーザー権限の層に変更されました!

おすすめ

転載: www.cnblogs.com/hanhandaren/p/11225817.html