[問題] asm檔產生之shellcode無法正確執行
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux Ubuntu 12.04
問題(Question):
我的問題是要把linux的system call
編號162的nanosleep轉為shellcode執行
這是我寫好的.asm程式碼
SECTION .text
msg: db 2,0,0,0,0,0,0,0
global _start
_start:
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov ebx, msg
mov al, 0xa2
int 0x80
xor ebx, ebx
xor eax, eax
inc eax
int 0x80
編譯過程如下
nasm -f elf -o sleep.o sleep.asm
ld -o sleep sleep.o
./sleep 執行過後結果是對的 延遲2秒
但是經過objdump -d ./sleep得出的值 放入char shellcode[]卻無法執行
#include <stdio.h>
char shellcode[] = {
"\x02\x00\x00\x00\x00\x00\x31\xc0"
"\x31\xdb\x31\xc9\xbb\x60\x80\x04"
"\x08\xb0\xa2\xcd\x80\x31\xdb\x31"
"\xc0\x40\xcd\x80"
};
int main () {
void (*fp) (void);
fp = (void *) shellcode;
fp();
}
有請各位大大為我解答一下
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.52.172
※ 編輯: joybee 來自: 140.115.52.172 (11/01 15:55)
推
11/01 16:25, , 1F
11/01 16:25, 1F
→
11/01 16:26, , 2F
11/01 16:26, 2F
→
11/01 16:28, , 3F
11/01 16:28, 3F
推
11/01 17:12, , 4F
11/01 17:12, 4F
→
11/01 19:28, , 5F
11/01 19:28, 5F
→
11/01 19:29, , 6F
11/01 19:29, 6F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章