Assembly 运行编译的asm文件后出现分段错误
我试图运行从这个asm文件编译的程序。我检查了每一步,认为没有什么问题,但我仍然得到分割错误。有人能帮我吗?谢谢!那么我应该在结尾加什么呢?是的。。我不熟悉asm和外壳代码。这段代码打算在shell路径指示shell目录的地方运行spawn shell。我删除了我的旧注释,因为我开始了解代码试图做什么。它似乎以一种巧妙的方式试图通过将Assembly 运行编译的asm文件后出现分段错误,assembly,x86,shellcode,Assembly,X86,Shellcode,我试图运行从这个asm文件编译的程序。我检查了每一步,认为没有什么问题,但我仍然得到分割错误。有人能帮我吗?谢谢!那么我应该在结尾加什么呢?是的。。我不熟悉asm和外壳代码。这段代码打算在shell路径指示shell目录的地方运行spawn shell。我删除了我的旧注释,因为我开始了解代码试图做什么。它似乎以一种巧妙的方式试图通过将外壳路径从堆栈中弹出(在调用的左侧)来获取它的地址。这是从哪里来的?这是我正在做的练习之一。您对修改此代码以使其正常工作有何建议?问题是代码试图向.text段写入一
外壳路径
从堆栈中弹出(在调用
的左侧)来获取它的地址。这是从哪里来的?这是我正在做的练习之一。您对修改此代码以使其正常工作有何建议?问题是代码试图向.text
段写入一个不允许的值。这是一个例子。
segment .text
global _start
_start:
jmp call_shellcode
shellcode:
pop rbx
xor rax, rax
mov [rbx+7], al
mov [rbx+8], rbx
mov [rbx+16], rax
mov al, 59
lea rdi, [rbx+7]
lea rsi, [rbx+8]
lea rdx, [rbx+16]
syscall
call_shellcode:
call shellcode
shellpath db "/bin/sh0aaaaaaaabbbbbbbb"