如何解决此汇编代码中的分段错误?

时间:2019-12-01 19:36:05

标签: assembly x86 segmentation-fault nasm

我在挑战,我得到了一些shellcode。当我使用C运行shellcode时,出现了分段错误,我知道尝试从纯十六进制调试它是没有用的,所以我将其转换为汇编器。这是我的代码。

jmp 0x40
pop eax
mov ecx, eax
mov ebx, 0x0
mov edx, 0x53
xor eax, eax
mov al,BYTE [ecx+ebx*1]
or cl,BYTE [edx]
push ebx
push ecx
push eax
mov ecx, esp
mov eax, 0x4
mov ebx, 0x1
push edx
mov edx, 0xa000001
or al,BYTE [eax]
int 0x80
pop edx
pop ecx
pop ecx
pop ebx
inc ebx
inc ebx
dec edx
jne 0x13
mov eax,0x1
mov ebx,0xa0a0000
add BYTE [eax],al
int 0x80
call 0x8

我真的不擅长汇编程序,所以有人可以给我一些提示来弄清楚为什么发生分段错误吗?我已经尝试进行研究,但是大多数答案是人们在谈论编译,而不是实际的代码本身。

0 个答案:

没有答案