我试图运行此shellcode,但它使我抛出:“ Segmentation fault”错误shellcode如下:
shellcode.asm:
global _start
_start:
jmp short ca
doit:
pop ebx
xor eax, eax
cdq
mov byte [ebx+7], al
mov long [ebx+8], ebx
mov long [ebx+12], eax
lea ecx, [ebx+8]
mov byte al, 0x0b
int 0x80
ca:
call doit
db '/bin/sh'
我将其编译为:’nasm -f elf shellcode.asm’并将其链接为:’ld -m elf_i386 -s -o shellcode
shellcode.o
我认为错误是当我使用mov [ebx + x],al / eax / ebx时,因为当我从代码y中删除它时,没有错误
谢谢
问题内容: 我正在从python开发C扩展,并且获得了一些段错误(在开发过程中不可避免…)。 我正在寻找一种显示段错误发生在哪一行代码的方法(一个想法就像跟踪每一行代码),我该怎么做? 问题答案: 这是一种输出代码运行的Python每行的文件名和行号的方法: 输出: (当然,您可能希望将跟踪输出写入文件。)
问题 解释器因为某个分段错误、总线错误、访问越界或其他致命错误而突然间奔溃。 你想获得Python堆栈信息,从而找出在发生错误的时候你的程序运行点。 解决方案 faulthandler 模块能被用来帮你解决这个问题。 在你的程序中引入下列代码: import faulthandler faulthandler.enable() 另外还可以像下面这样使用 -Xfaulthandler 来运行Pyth
我正在实现一个类似于队列的双链接列表。因此,当我向列表中添加节点(例如5个节点)并清空列表并尝试向列表中添加新节点时,会出现分段错误(核心转储)。我不知道它为什么这么做。你能解释一下吗?
我在实现合并排序时遇到了分段错误。我已经检查了数组是否超出边界。我想得到一些帮助,找出我哪里出了问题。我尝试过小数组的输入,例如大小为10的数组,我将temp的大小作为静态值( 更新:我只需要改变mid=(低高)/2。
我们正在密集的测试负载中使用NIOFSDirectory而不是MMapDirectory进行索引。但是我们仍然得到一个带有mmapdirectory的SIGSEV。还有什么我要找的吗?这是一台Linux 64位计算机。堆栈跟踪的头部如下: 请让我知道什么更多的信息将是有帮助的。 谢谢... Java运行时环境检测到一个致命错误: SIGSEGV(0xB)(PC=0x00002AAAAB285EA7
问题内容: 我是python的新手,正在遇到一个奇怪的错误: 当我执行以下代码时: 这部分代码是从程序的stdout中读取的。当我在线程外执行 时,它将起作用!但是当我在fais线程中执行它时…有什么建议吗? 问题答案: 是当程序退出并带有信号并且启用了核心创建时Linux打印的字符串。这意味着 某些 程序已崩溃。 如果您实际上是通过运行Python遇到此错误,则意味着Python解释器已崩溃。发