コンパイルされたCコードを含むバイナリ実行可能ファイルがある場合、16進エディターを使用してそのバイナリを編集し、特定の命令をまたはなどの別の命令に変更できますnop
かjmp
?変更したい命令のオフセットをどのように知ることができますか?
はい、これは教育目的です。
コンパイルされたCコードを含むバイナリ実行可能ファイルがある場合、16進エディターを使用してそのバイナリを編集し、特定の命令をまたはなどの別の命令に変更できますnop
かjmp
?変更したい命令のオフセットをどのように知ることができますか?
はい、これは教育目的です。
更新:申し訳ありませんが、Mach-O タグを見逃していました。このリストは実際には標準の x86 用であり、特に Mach-O 用ではありません。それでも、標準の x86 コードの良いリストです :)
もちろんですが、OllyDbg、SoftICE、または Immunity Debugger (リバース エンジニアリング用に設計された Olly の亜種) などのツールを使用することをお勧めします。x86 asm を学ぶことは、実際にはほとんどの人が理解するほど難しくありません。http://win32assembly.online.fr/から多くの Win32 アセンブリを学ぶことができます。
16 進エディタで編集することに本当に設定されている場合は、 http: //ref.x86asm.net/ でオペコードのリストを取得できます。
この種のもののためのより優れたツール:
これと他のすべての形式のバイナリ操作を行うための事実上のツールは、Interactive Disassemblyr (IDA としてよく知られています。クールな無料試用版が付属しています!) です。命令 + オペランド (つまり、Mach-O のオペランドを使用して x86 nop 命令を jmp 命令に変更すると、リベースしない限りバイナリが実行されない可能性が高くなります。もちろん、IDA には驚くべきユーティリティがあります)。
16 進エディタは同じことを行うことができません (少なくとも簡単に)。