-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Shellcode syscall templates #871
Shellcode syscall templates #871
Conversation
This also speeds up boot time by like 0.05 seconds
I don't have any opinion on the actual code (I have not looked at it), but could you make sure that this is either superior to #712 or close #712 after you are done? Pinging @kristoff3r for an opinion on this. |
19b7132
to
f3968af
Compare
c48e6b0
to
f7c3add
Compare
Support variable-argument syscalls. Support spilling to the stack.
@kristoff3r Are there any additional points that I need to pull in from your pull request? |
CI is passing, but there are some remaining issues (also on the other PR)
|
3c18c10
to
0bfac85
Compare
I think that this is done now, @kristoff3r and @idolf. Basically all of the logic is here: The list of functions comes from here: Notable differences from #880 are being regenerate-able, supporting complex types, and having ALL THE SYSCALLS. I think that #880 is still missing some socket-related syscall stubs (e.g. no Also, instead of a symlink-per-syscall, this one just symlinks the e.g. |
(cherry picked from commit 9446284)
Add syscall stub auto-generator, and auto-generated syscall stubs
Auto-generated syscall stubs are stored in
pwnlib/shellcraft/common/linux/syscalls
.Each other architecture has a symlink to that directory at e.g.
pwnlib/shellcraft/i386/linux
.This lets us be very explicit with
shellcraft.i386.linux.syscalls.connect
versus the more convenientshellcraft.connect
(which would expand to e.g.shellcraft.i386.linux.connect
).Fixes #685