私はLibVMIとWindows732ビットを試しています。適切に設定するには、EPROCESS構造体の最初の8バイトを調べる必要があります(ライブラリはメモリでマジックナンバーを検索します。これがマジックナンバーであると想定されています)。
私のWindows-fuは強力ではないので、誰かが適切なメモリをダンプする方法を教えてもらえますか?ローカルカーネルデバッガーを実行していて、「dt nt!_EPROCESS」まで到達しましたが、実際の構造ではなく、構造の形式を示しているようです。
コマンドは次のとおりです。
dt nt!_EPROCESS <address>
の出力からアドレスを取得できるはずです!process 0 7
。
私はそれを理解しました.Seva Titovの答えは私がしたことと似ています. これが私がそれをした方法です:
!process 0 0
これにより、実行中のプロセスの短いリストが表示されます。単純な小さなプログラムを実行するために calc.exe を具体的に開始したので、リストを見て実行しました。
!process calc.exe
PROCESS 83f81178
出力の最初の行は、重要なビットのように始まりました。私はそれからしました:
db 83f81178
そのオフセットから始まるメモリのチャンクが次のように表示されました。
83f81178 03 00 26 00 00 00 00 00--80 11 f8 83 80 11 f8 83 ..&............
83f81188 88 11 f8 83 88 11 f8 83--80 23 e2 3e 00 00 00 00 ........#.>....
それが必要だったので、そこでやめました。