1
あなたはARM64の次のスニペットで見ることができるように、これは単に、なぜそれが上記のような特定のアドレスをロードしないiOSの10ARMがこのようなレジスタにアドレスを割り当てるのはなぜですか?
fffffff0073de41c adrp x22, #0xfffffff0075ef000
fffffff0073de420 ldr x0, [x22, #0x330]
のためにカーネルからであることを起こりますか? 0xfffffff0075ef000 + 0x350
は、あらかじめコンパイルされているため、アドレス0xfffffff0075ef330
をロードするだけでは意味がありません。
ご迷惑をおかけして申し訳ありません。
単一の命令がアドレス全体のロードをエンコードできないか、同じベースを使用して複数のアドレスが形成されているためです。 ARM64の仕様はわかりませんが、任意の64ビットアドレスを32ビット幅の命令に収めることはできません。 –
@RossRidgeベースはどのように格納されていますか、それはどのようにマシンによって認識されますか? – Aidan
これはX22に格納されており、後の手順で使用できます。 'ldr x1、[x22、#0x10]'のように言ってください。 –