为什么不打印此字符串(printf assemby)?

时间:2018-09-12 23:40:31

标签: assembly printf x86-64 quine

试图组装成绳状,但是当我尝试打印字符串时,除非我删除字符串上方的所有字符,否则它不会打印。

.data
hello: .string ".data%3$c%2$c%1$c hello: .string%4$s"

.text
.globl _main

_main:
    push %rbp
    mov %rsp, %rbp
    mov $10, %esi
    mov $9, %edx
    mov $34, %ecx
    lea hello(%rip), %eax
    lea hello(%rip), %rdi
    call _printf
    leave
    ret

现在的输出是这样:

.data"  
 hello: .string(null)

编辑:预期输出

.data"  
 hello: .string.data%3$c%2$c%1$c hello: .string%4$s

0 个答案:

没有答案