取締役CTOの小竹(aka tkmru)です。 この記事は、大好評企画(?)「ARM環境でディスアセンブルを妨害するテクニック」の第2弾です。 前回は、32ビットのARM環境のみで有効なアンチディスアセンブルテクニックを紹介しました。 tech-blog.sterrasec.com 本記事では、32ビット/64ビットのARM環境(以下、ARM32/ARM64)両方で有効なアンチディスアセンブルのテクニックを紹介します。 ARM64でもアンチディスアセンブルはx86/x64に比べ困難 前回の記事では、ARM32を例に命令の長さが固定長のARM環境のアンチディスアセンブルはx86/x64に比べ困難であることを説明しました。 x86/x64の場合、命令が可変長であることを利用し、命令の途中のバイトを分岐先として解釈させるなどして、 命令間の境界を誤認させることで、比較的容易にアンチディスアセンブ