Skip to content
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

Relocatable ELF Support #531

Merged
merged 9 commits into from Jul 22, 2022
Merged

Relocatable ELF Support #531

merged 9 commits into from Jul 22, 2022

Conversation

rakuy0
Copy link
Contributor

@rakuy0 rakuy0 commented Jun 10, 2022

  • Cleanup a bunch of duplicate classes for Elf section info and whitespace/typos/general spelling
  • Make relocatable ELF work. Or at least a very simple example. ELF treats certain section info slightly different when the file is marked as relocatable.
  • There's relocations (like R_AMD64_32S) that while we don't support quite yet (because they induce other issues), I would like to, so I added some sizing info to the relocation type so that we could one day support them.

@rakuy0 rakuy0 requested a review from atlas0fd00m June 10, 2022 22:47
Copy link
Contributor

@atlas0fd00m atlas0fd00m left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

love all the reduction of duplication between the different Elf32/64 classes.
i'm cringing somewhat about taking the logic out of Elf and shoving it into Vstruct. i get it... but i'm not particularly joyful about it.

i think the only thing i need to see is a comment at the duplicated constants between elf_lookup.py and vstruct.defs.elf.py

Elf/__init__.py Show resolved Hide resolved
vivisect/parsers/elf.py Show resolved Hide resolved
vivisect/tests/testelf.py Show resolved Hide resolved
vstruct/defs/elf.py Show resolved Hide resolved
@atlas0fd00m atlas0fd00m merged commit 3f8c314 into master Jul 22, 2022
@atlas0fd00m atlas0fd00m deleted the linux_kernmod_fix branch July 22, 2022 04:30
@rakuy0 rakuy0 added this to the v1.1.0 milestone Feb 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants