[問題] 請教
#include <stdio.h>
char shellcode[] =
"\xb0\x01\x31\xdb\xcd\x80";
typedef void (*FUNCPTR)();
int main() {
printf("<< Shellcode 開始執行 >>\n");
FUNCPTR fp = (FUNCPTR)shellcode;
fp();
}
運作環境是Ubuntu 12.10
想說先弄一個最簡單的範例 , 只有exit的功能
但執行時一直出現記憶體區段錯誤 不知道是什麼原因
上網查了一下 利用gcc編譯時也加上了-z execstack
還是一樣 請問有人知道原因嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.218.6.70
→
11/18 23:28, , 1F
11/18 23:28, 1F
→
11/18 23:29, , 2F
11/18 23:29, 2F
推
11/19 00:56, , 3F
11/19 00:56, 3F
推
11/19 02:25, , 4F
11/19 02:25, 4F
→
11/19 02:26, , 5F
11/19 02:26, 5F
→
11/19 02:27, , 6F
11/19 02:27, 6F
→
11/19 02:28, , 7F
11/19 02:28, 7F
→
11/19 02:29, , 8F
11/19 02:29, 8F
→
11/19 10:24, , 9F
11/19 10:24, 9F
※ 編輯: a613204 (1.171.202.205), 07/28/2014 19:04:18
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章