-
Notifications
You must be signed in to change notification settings - Fork 103
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
Wip/dumb tracer #75
Wip/dumb tracer #75
Conversation
…cuted. wtf angrop.
…t have an associated loader object
…ew change breaks cgc stuff
too many changes.
|
shellcode = shellcode.format(fd=self.fd) | ||
bs = pwnlib.asm.asm(shellcode) | ||
if self.check_shellcode_for_incompatible_chars(bs): | ||
print(pwnlib.asm.disasm(bs)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we have to use pwnlib for this? can we use keystone, which has shortcuts for use in archinfo?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so, the problem @Lukas-Dresel found was that some of the shellcodes we maintain never worked at all. It took him a lot of time to figure out why they didn't work. This concerns me because we only maintain a few shellcodes at this moment. And also, these shellcodes were written by hand for specific architectures and specific purposes.
If we want to extend the capability of rex
in shellcode execution in the future, this hardcoded shellcode method will not work. We need an approach to automatically generate shellcode. The first thing that came to our mind was pwntools, its shellcraft
module is designed for this purpose.
This will be the first step we include shellcraft
in our exploit generation engine. If possible, I plan to use it to replace our current shellcode generation engine so we don't need to debug manually written shellcode.
And I do agree that pwntools
is a messed up package that we should avoid as much as possible in our release because of its instability. But its capability of exploit generation is too powerful. What I suggest is we pin pwntools
to a version that works with angr
and we stick to it.
angr/archr#85
angr/angr#2627
angr/binaries#75
mechaphish/colorguard#10
angr/angrop#33