小编Jus*_*est的帖子

如何设置运行Ruby代码的时间限制

我想找到一种方法来设置ruby代码的时间限制,以便在该时间限制到期后退出.

ruby

12
推荐指数
1
解决办法
1938
查看次数

缓冲区溢出的编译器艺术

现代编译器GCC非常强大,甚至可以防止编译阶段的缓冲区溢出,因此OS无法在堆栈空间上运行代码.

例如:

void function(char *str) 
{
   char buffer[16];

   strncpy(buffer, str, 256);
}

void main() 
{
  char large_string[256];
  int i;

  for( i = 0; i < 256; i++)
    large_string[i] = 'A';

  function(large_string);
}
Run Code Online (Sandbox Code Playgroud)

我可以获得神奇的0x41414141的唯一方法是设置GCC编译参数,如:

gcc -fno-stack-protector -z execstack stackoverflow.c -o stackoverflow
Run Code Online (Sandbox Code Playgroud)

(我在ubuntu 10.04 x86清晰32位盒子上测试过它)

有什么方法可以绕过GCC堆栈粉碎保护吗?

c stack-overflow ubuntu shellcode

8
推荐指数
1
解决办法
1187
查看次数

标签 统计

c ×1

ruby ×1

shellcode ×1

stack-overflow ×1

ubuntu ×1