-
Notifications
You must be signed in to change notification settings - Fork 564
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
elf: implement file export name extractor #1607
Comments
I investigated ways to distinguish between import and export symbols. The current implementation identifies symbols as imports solely based on their type and name. However, after careful analysis, I found that the The current @williballenthin what are your thoughts |
great find and excellent explanation. do you have any references to the specifications that support these conclusions? it would be great to link to them in the code. how do you think we should proceed? would you like to propose some updates to the code? |
this article is very wordy but provides nice clear definitions at the bottom: http://www.m4b.io/elf/export/binary/analysis/2015/05/25/what-is-an-elf-export.html it's generally consistent with what you posted @Aayush-Goel-04 though it describes a few edge cases. seems like it shouldn't be too hard to handle. |
I was looking at the same paper. In above screenshot only the first two points of import and export differ Some info on SHN_UNDEF. Some more I found https://stackoverflow.com/questions/12666253/elf-imports-and-exports @williballenthin Shall I proceed with identifying import and exports based on definition given in screenshot above. |
yes, please! |
@williballenthin I think we should look for export symbols in Also Since #1608 is closely related to this I will get that done as well. |
i'm willing to go with your recommendation, especially if we can provide references to specifications or example files (for any edge cases we find). i don't have any particular knowledge of the ELF format, so i trust what you learn. if you need an opinion on which strategy to use, i'm happy to discuss, though i'd appreciate a bit of detail around what you've considered so far. |
capa/capa/features/extractors/elffile.py
Line 88 in 430f9da
The text was updated successfully, but these errors were encountered: