16

IDA ビュー A で asm 命令を変更する方法を知りたいだけです。

  1. 命令を編集する方法 (例: jnz から jmp)?
  2. 新しい命令を挿入する方法 (既存のコードに挿入された func1 の呼び出し、func2 の呼び出し)?

dif ファイルの作成方法と DLL に変更を適用する方法は知っていますが、どうすれば「違いを生む」ことができますか? IDA でコードを編集するにはどうすればよいですか?

DLL を変更する方法を学びました。

  1. コードを変更する (どのように?)
  2. 差分ファイルを生成します。
  3. 差分ファイルとスクリプトを使用して、コードの変更を DLL に適用します。
4

3 に答える 3

21
  1. Edit / Patchデフォルトで表示されていたメニューがありますが、最近の IDA リリースでは非表示になっています。その場合は、cfg/idagui.cfgファイルを編集し、行を探しDISPLAY_PATCH_SUBMENU = NOて設定を変更してください。次の IDA セッションでは、1 バイト/ワードの値を変更したり、OllyDbg のようなコードを組み立てたりすることができます。
  2. データベースにパッチを適用したら、 に移動します。File / Produce file / Create DIF fileこれにより、単純な差分ファイルをオフセット / 値の前 / 後の値の形式で作成できます (これは一般的な差分ファイル形式ではありません)。
  3. 差分ファイルを既存のファイルに適用するには、 IDA Pro Bookでリリースされた差分ファイルパッチャーのソース コードを使用できます。
于 2011-06-13T17:46:41.267 に答える
2

IDA Pro 6.1 または 6.2 を試してください。変更を入力ファイルに直接書き込む機能があります。

于 2012-04-06T20:59:19.847 に答える
2

Edit->patch program->assemble アセンブリ構文での記述に使用

Edit->patch program -> patch bytesバイナリのバイトを編集するために使用します

最後に、 を使用Edit->patch program -> apply patch to input file してパッチを適用します。私はIDA 7.0で個人的に使用しました

于 2019-06-19T16:36:03.280 に答える