0

私はリバース エンジニアリングに取り組んでおり、開いているダイアログ ボックスを使用せずに独自のファイル パスを指定したいと考えていました。たとえば、固定ファイル パスを作成し、ソフトウェアが起動するたびにそこからファイルを読み取ります。.data セクションでファイル名を指定しようとしました。ソフトウェアのですが、文字列ではなく16進数のみを取得します。

ファイルを開くためにWindows APIをフックする方法はありますか?またはメモリに書き込み、ソフトウェアが起動するたびにそれを読み取る方法はありますか?アドバイスや指示をいただければ幸いです。

4

1 に答える 1

1

あなたが探しているのは「システムコールのインターセプト」だと思います.Googleですばやく検索すると、次のリンクが表示されます: http : //jbremer.org/intercepting-system-calls-on-x86_64-windows/あまり難しくありません。

基本的に、GetOpenFileNameへの呼び出しを傍受し、それをカスタム実装に置き換えることができれば、必要なことを実行できるはずです (つまり、ハードコードされたファイル パスを LPOPENFILENAME 構造の適切なバッファーに配置します)。

コンパイルされたコードを変更しようとする試み (リバース エンジニアリングとは、バイナリを逆アセンブルして変更することだと思います) は可能ですが、Windows のバイナリ アーキテクチャとアセンブリ言語に関する深い知識が必要です。

于 2012-12-19T12:17:28.097 に答える