diff options
Diffstat (limited to 'semestr-4/ask/lista9/gadget.s')
-rw-r--r-- | semestr-4/ask/lista9/gadget.s | 16 |
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 |