История изменений
Исправление SZT, (текущая версия) :
Решил шеллкод сделать, да? Вот тебе
http://shell-storm.org/shellcode/files/shellcode-882.php
http://shell-storm.org/shellcode/files/shellcode-836.php
https://zerosum0x0.blogspot.com/2014/12/x64-linux-bind-shellcode-81-bytes-96....
и интерфейс системных вызовов через int 0x80 уже не используется на современных x86-64 архитектурах.
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/x86_... вот враппер для x86-64
вот враппер для i386 https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/i386... - тут можно действительно видеть int 0x80
, но обрати внимание также на варианты с call *_dl_sysinfo
и варианты с call *%%gs:%P2
В общем смотри http://articles.manugarg.com/systemcallinlinux2_6.html
Starting with version 2.5, linux kernel introduced a new system call entry mechanism on Pentium II+ processors. Due to performance issues on Pentium IV processors with existing software interrupt method, an alternative system call entry mechanism was implemented using SYSENTER/SYSEXIT instructions available on Pentium II+ processors. This article explores this new mechanism. Discussion is limited to x86 architecture and all source code listings are based on linux kernel 2.6.15.6.
Там задействуется SYSENTER инструкция
Исходная версия SZT, :
Решил шеллкод сделать, да? Вот тебе
http://shell-storm.org/shellcode/files/shellcode-882.php
http://shell-storm.org/shellcode/files/shellcode-836.php
https://zerosum0x0.blogspot.com/2014/12/x64-linux-bind-shellcode-81-bytes-96....
и интерфейс системных вызовов через int 0x80 уже не используется на современных x86-64 архитектурах.
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/x86_... вот враппер для x86-64
вот враппер для i386 https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/i386... - тут можно действительно видеть int 0x80
, но обрати внимание также на варианты с call *_dl_sysinfo
и варианты с call *%%gs:%P2
В общем смотри http://articles.manugarg.com/systemcallinlinux2_6.html
Starting with version 2.5, linux kernel introduced a new system call entry mechanism on Pentium II+ processors. Due to performance issues on Pentium IV processors with existing software interrupt method, an alternative system call entry mechanism was implemented using SYSENTER/SYSEXIT instructions available on Pentium II+ processors. This article explores this new mechanism. Discussion is limited to x86 architecture and all source code listings are based on linux kernel 2.6.15.6.