web-dev-qa-db-ja.com

IDAプロasm命令の変更

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

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

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

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

  1. コードを変更する(方法?)
  2. Difファイルを生成します。
  3. Difファイルとスクリプトを使用してDLLにコード変更を適用します。
13
asm
  1. デフォルトで表示されていたEdit / Patchメニューがありますが、最近のIDAリリースでは非表示になっています。その場合は、cfg/idagui.cfgファイルを編集し、DISPLAY_PATCH_SUBMENU = NO行を探して、設定を変更します。次のIDAセッションでは、1バイト/ワード値を変更したり、OllyDbgのようにコードをアセンブルしたりできるようになります。
  2. データベースにパッチを適用したら、File / Produce file / Create DIF fileに移動すると、offset/value before/value afterの形式で単純なdiffファイルを作成できます(これは一般的なdiffファイル形式ではありません)
  3. Diffファイルを既存のファイルに適用するには、 IDA Pro Book でリリースされた dif file patcher のソースコードを使用できます。
19
Seki

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

2

Edit->patch program->assembleを使用して、アセンブリ構文を記述します

Edit->patch program -> patch bytesを使用して、バイナリのバイトを編集します

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

0
789