#include <stdio.h> typedef char String[1024]; int main(void) { String name = "ドラゴン"; printf("私は%sです\n", name); return 0; }
|main| PROC |$LN3| stp fp,lr,[sp,#-0x10]! mov fp,sp bl __security_push_cookie sub sp,sp,#0x400 add x8,sp,#8 str x8,[sp] ldr x9,[sp] adrp x8,|$SG4982| add x8,x8,|$SG4982| ldr x10,[x8] str x10,[x9] ldr w10,[x8,#8] str w10,[x9,#8] ldrsb w8,[x8,#0xC] strb w8,[x9,#0xC] add x0,sp,#0x15 mov x2,#0x3F3 mov w1,#0 bl memset add x1,sp,#8 adrp x8,|$SG4983| add x0,x8,|$SG4983| bl printf mov w0,#0 add sp,sp,#0x400 bl __security_pop_cookie ldp fp,lr,[sp],#0x10 ret
なぜ64ビットのx10と32ビットのw8を使用しているか不明
blはサブルーチン呼び出し