【发布时间】:2022-10-14 23:51:11
【问题描述】:
我正在尝试更改 x86_64 asm 中的变量值
这是我的方法
section .data
text db "Hello, World!",10
section .text
global _start
_start:
mov rax, 1
mov rdi, 1
mov rsi, text
mov rdx, 14
syscall
mov rax , "He"
mov [text], rax
syscall
mov rax, 1
mov rdi, 1
mov rsi, text
mov rdx, 14
syscall
mov rax, 60
mov rdi, 0
syscall
但这输出
Hello, World!
Heorld!
我曾尝试使用: mov word [text], "He",但这也不起作用
【问题讨论】:
-
试试
strace .\a.out看看第二个syscall的参数是什么。在mov rax, 'He'rax=0x0000000000006548`之后,没有实现这个数字的内核函数。