3

どこから始めるべきかについてのアイデアはありますか?

4

3 に答える 3

1

SoftICE ( wiki ) は、おそらく Windows 用の最良のデバッガーです。探している低レベルの機能があり、メモリの変更を確認するのに非常に役立つ Windows でのすべての操作を一時停止できます。これは廃止されており、最近では多くの SoftICE 対策 (主に商用ソフトウェアを保護するため) が行われていますが、それに加えて、IceStealth または IceExt というステルス オプションを使用することもできます。これらのソフトウェアのソースを自分で調べる必要があり、少し手間がかかるかもしれません。あるいは、他のデバッガーがあります。Sysersoftは、SoftICE が中断したところから引き継いだと主張しています (私はそれを試したことはありません)。また、オープン ソースの代替であるRasta Ring 0 Debuggerは 2006 年以来開発されていません。

于 2009-12-13T23:09:44.003 に答える
1

スキャンしたいプロセスが現在実行中の場合は、デバッガーとしてそれに接続し、そのアドレス空間をスクレイピングできます。

一般的にメモリをスクレイピングしたい場合は、ユーザー空間から抜け出すためにドライバーなどをインストールする必要があります。

于 2009-12-13T22:24:16.670 に答える
1

それは非常に興味深い概念ですが、それは不吉なルートキットのように聞こえます...まず、プログラムの権限を管理者の権限に昇格させ、何らかの方法で何らかのドライバー (おそらくブロックモードドライバー) を開発する必要があります。ユーザーランドから、ドライバーにポーリング呼び出しを行い、データのブロックを渡します (したがって、ブロックモードドライバー)。ドライバーに渡されたブロックの長さ (私は想像します) をパラメーターとして、ユーザーランド コードはデータを取得し、データのブロックをスキャンします。

問題は、ドライバーがメモリのブロックを取得するためにリング 0 カーネル モードに常駐する必要があるため、最終的に BSOD が生成され、多くのデバッグ作業が発生することです。私の好みではマゾヒストのように聞こえますが、VirtualBox を使用して Windows を VM にインストールすることもできます。

ドライバーを作成できる Windows Kernel Mode Driver SDK を探す必要があります。それ以外は、方法がわかりません!:)

これは、私のお気に入りの質問に固執するものです。

頑張ってください。これがお役に立てば幸いです。よろしくお願いします、トム。

于 2009-12-13T23:56:58.553 に答える