// 三環系は、二つの高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 |
|
スプリット
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ビットが平均的なユーザーに設定されている
権限をスーパーユーザー権限の層に変更されました!