だから私は%eax
jmpしたいアドレスを持っていますが、コードはコンパイルされません、これを回避する方法はありますか?
movl 0xdeadbeef, %eax
jmp %eax ; <--- compile error: type mismatch for 'jmp'
誰もあなたに正しい答えを提供できなかったので、ここにあります:
jmp *%eax
他に何も機能しない場合は、いつでも次のトリックを使用できます。
push eax
ret
// target address in eax
jmp *%eax
// target pointer address in eax
jmp *(%eax)
x86_64 の場合、レジスタは次のとおりです。%rax