「更新」ボタンが付いたウィンドウを開き、クリックした後に非常に長い更新を実行するMFCアプリケーションがソースコードなしで用意されています。ボタンを偽造するプログラムを変更する
私は、ウィンドウが作成されたとき(DoModalなどの他の場所で)、ボタンが押されたと思うようにメッセージがプログラムに送信されるようにプログラムを修正したいと思います。
私はIda ProとOllyDbgではしばらくこのことを忘れていました。私はおそらくPumpMessageを使ってみましたが、これは成功しませんでした。
アドバイスはありますか?
どのように/どこにこのパッチを入れますか? – samoz
新しいセクションを作成しない場合は、プログラムによって使用されていない小さなコード領域である「コード洞窟」を見つけることができます。通常、これは "死んでいる"コード(プログラムで実際に呼び出されることはないコード、少なくともあなたが使っているコードではない)、または配列のためにコンパイラによって残されたスペースにある可能性があります(通常、この方法で15バイト以上を取得する)。 –
この記事をチェックしてください:http://www.codeproject.com/KB/cpp/codecave.aspx - 新しいセクションの追加については説明しません(これは、コード洞窟とDLLを使用する中間的な理由です)。 DLLをバンドルに追加しても問題ない場合は、単純にインポート・テーブルにDLLを追加し(単純にPEエディタで)、単純なポインタ操作を使用してDLLから関連するコードをパッチすることもできます。 –