2

コンパイルされたCコードを含むバイナリ実行可能ファイルがある場合、16進エディターを使用してそのバイナリを編集し、特定の命令をまたはなどの別の命令に変更できますnopjmp?変更したい命令のオフセットをどのように知ることができますか?


はい、これは教育目的です。

4

2 に答える 2

5

更新:申し訳ありませんが、Mach-O タグを見逃していました。このリストは実際には標準の x86 用であり、特に Mach-O 用ではありません。それでも、標準の x86 コードの良いリストです :)

もちろんですが、OllyDbg、SoftICE、または Immunity Debugger (リバース エンジニアリング用に設計された Olly の亜種) などのツールを使用することをお勧めします。x86 asm を学ぶことは、実際にはほとんどの人が理解するほど難しくありません。http://win32assembly.online.fr/から多くの Win32 アセンブリを学ぶことができます。

16 進エディタで編集することに本当に設定されている場合は、 http: //ref.x86asm.net/ でオペコードのリストを取得できます。

この種のもののためのより優れたツール:

  • PE 情報 (無料の EXE ヘッダー エディター)
  • CFF エクスプローラー (無料の EXE ヘッダー エディター/リビルド。PE 情報よりも多くの機能)
  • PE Explorer (商用 EXE ヘッダーおよびリソース エディター)
  • TrID (ファイルタイプ識別子)
  • PEID (実行ファイル/パッカー識別子)
  • IDA Pro (静的実行可能解析)
  • プロモン(活動分析)
  • procexp (taskmgr に似ていますが、はるかに優れており、より詳細です)
  • ildasm (CIL 逆アセンブラー)
  • ilasm (CIL アセンブラー)
  • RedGate Reflector (.NET リバース エンジニアリング ツール)
  • .NET Reflector (.NET リバース エンジニアリング ツール)
  • XVI32 (16 進エディタ)
  • Hex Workshop (16進エディタ/構造エディタ)
于 2011-10-28T19:41:12.513 に答える
4

これと他のすべての形式のバイナリ操作を行うための事実上のツールは、Interactive Disassemblyr (IDA としてよく知られています。クールな無料試用版が付属しています!) です。命令 + オペランド (つまり、Mach-O のオペランドを使用して x86 nop 命令を jmp 命令に変更すると、リベースしない限りバイナリが実行されない可能性が高くなります。もちろん、IDA には驚くべきユーティリティがあります)。

16 進エディタは同じことを行うことができません (少なくとも簡単に)。

于 2011-10-28T19:33:51.537 に答える