שלום
כתבתי תוכנית אסמבלי (NASM, על אובונטו 20.4 64 ביט) שמממשת syscall execve עבור הפקודה sh.
במקום לפתוח shell, התוכנית לא עושה דבר.
הייתי מאד מודה לכל עזרה במימושה התקין של התוכנית: הפעלת shell.
הנה הוקד:
global _start
_start:
mov rax,59
xor rdi, rdi
mov rdi, str1
xor rsi, rsi
mov rsi, str2
mov rdx, 0xa
syscall ;execute execve syscall
mov rax,60
xor rdi,rdi
syscall ;execute exit syscall
section .data
str1: db '/bin/sh' ;string of the first argument of execve
str2: db '/bin/sh',0xa ;string array of the secand argument of execve.
כך אני מקמפלת אותה ומריצה :
nasm -felf64 execve_sh.nasm -o xxx.o
ld xxx.o -o zzz
./zzz
תודה רבה
טלי
כתבתי תוכנית אסמבלי (NASM, על אובונטו 20.4 64 ביט) שמממשת syscall execve עבור הפקודה sh.
במקום לפתוח shell, התוכנית לא עושה דבר.
הייתי מאד מודה לכל עזרה במימושה התקין של התוכנית: הפעלת shell.
הנה הוקד:
global _start
_start:
mov rax,59
xor rdi, rdi
mov rdi, str1
xor rsi, rsi
mov rsi, str2
mov rdx, 0xa
syscall ;execute execve syscall
mov rax,60
xor rdi,rdi
syscall ;execute exit syscall
section .data
str1: db '/bin/sh' ;string of the first argument of execve
str2: db '/bin/sh',0xa ;string array of the secand argument of execve.
כך אני מקמפלת אותה ומריצה :
nasm -felf64 execve_sh.nasm -o xxx.o
ld xxx.o -o zzz
./zzz
תודה רבה
טלי