我正在尝试解决“数字难题”,并获得了一些汇编代码。遗憾的是,我对此一无所知,因此我尝试将其粘贴到在线编译器中,但是它在每一行都引发错误:
.file "0x0c.c"
.text
.section .rodata
.LC0:
.string "Pa"
.LC1:
.string "h15"
.LC2:
.string "wb0"
.LC3:
.string "u77"
.LC4:
.string "rd: "
.LC5:
.string "wo"
.LC6:
.string "ss"
.LC7:
.string "h0"
.text
.globl main
.type main, @function
main:
.LFB0:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $1104, %rsp
movq %fs:40, %rax
movq %rax, -8(%rbp)
xorl %eax, %eax
leaq .LC0(%rip), %rax
movq %rax, -1104(%rbp)
leaq .LC1(%rip), %rax
movq %rax, -1096(%rbp)
leaq .LC2(%rip), %rax
movq %rax, -1088(%rbp)
leaq .LC3(%rip), %rax
movq %rax, -1080(%rbp)
leaq .LC4(%rip), %rax
movq %rax, -1072(%rbp)
leaq .LC5(%rip), %rax
movq %rax, -1064(%rbp)
movq -1104(%rbp), %rdx
leaq -1040(%rbp), %rax
movq %rdx, %rsi
movq %rax, %rdi
call strcat@PLT
leaq .LC6(%rip), %rax
movq %rax, -1056(%rbp)
movq -1056(%rbp), %rdx
leaq -1040(%rbp), %rax
movq %rdx, %rsi
movq %rax, %rdi
call strcat@PLT
movq -1064(%rbp), %rdx
leaq -1040(%rbp), %rax
movq %rdx, %rsi
movq %rax, %rdi
call strcat@PLT
movq -1072(%rbp), %rdx
leaq -1040(%rbp), %rax
movq %rdx, %rsi
movq %rax, %rdi
call strcat@PLT
leaq .LC7(%rip), %rax
movq %rax, -1048(%rbp)
movq -1048(%rbp), %rdx
leaq -1040(%rbp), %rax
movq %rdx, %rsi
movq %rax, %rdi
call strcpy@PLT
movq -1088(%rbp), %rdx
leaq -1040(%rbp), %rax
movq %rdx, %rsi
movq %rax, %rdi
call strcat@PLT
movq -1080(%rbp), %rdx
leaq -1040(%rbp), %rax
movq %rdx, %rsi
movq %rax, %rdi
call strcat@PLT
movq -1096(%rbp), %rdx
leaq -1040(%rbp), %rax
movq %rdx, %rsi
movq %rax, %rdi
call strcat@PLT
movl $0, %eax
movq -8(%rbp), %rcx
xorq %fs:40, %rcx
je .L3
call __stack_chk_fail@PLT
.L3:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE0:
.size main, .-main
.ident "GCC: (GNU) 7.3.1 20180312"
.section .note.GNU-stack,"",@progbits
就像我说的那样,我对此一无所知,只是想知道为什么编译器无法读取它。