5

リバース エンジニアリングをいじっていますが、16 進エディターで jnz を jz に変更する方法がわかりません。システムによって異なることは理解していますが、この情報をどこで見つければよいかわかりません。私は Mac OS X 64 ビットで作業しており、IDA Pro でコードを逆アセンブルしました。

4

2 に答える 2

9

を見つけた場合は、またはjzのようになります。の場合は、に変更します。が付いている場合は、に変更します。この情報は、特にIntelのマニュアル(第2A巻)に記載されています。74 XX0F 84 XX XX XX XX74758485

すべてx86ベースである限り、システム間で変化することはありませjzjnz。そうでない場合は、存在しない可能性もあります。

于 2012-08-20T14:28:42.267 に答える
1

これを行う正しい方法は、対象の命令の操作コード (opcode) を見つけることだと思います。あなたは jz と jnz 命令に興味があるので、Intel x86-64 マシンを使用していると推測します。これは、インテルのリファレンスhttp://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.htmlを確認する必要があることを意味します。そこには、Intel の 64 ビット アセンブリについて必要なものがすべて揃っていると思います。そして、その知識をどこにでも適用できます。たとえば、16 進エディターでオペコードを編集する場合などです。

于 2012-08-20T15:43:14.273 に答える