Eli Bendersky
Eli Bendersky
Thanks for the report. PRs to fix this are welcome.
To be clear, `pyelftools` was never designed to be used in security-critical settings. For example, it's not particularly fast (being pure Python and all), and it can be trivially "DOS"-ed...
Please submit a pull request
`parse_cstring_from_stream` returns a bytes because that's what we read from the binary file, without encoding. bytes was also convenient in a Python 2/3 split world
Thanks for report. I'm unlikely to find time to debug this in the near future, so pull requests are welcome.
Yes, this is a good point. The names (and other "strings") should probably be decoded to Python3 strings. AFAIU, the default DWARF encoding is ascii, unless a special setting exists...
Can you clarify which specific structures and what code in `readelf.py` you are referring to?
Ah, I see. Yeah, that could be a nice feature
What do you mean by "error when loading". Can you reproduce the elftools commands exactly? I can do `-h` and `-l` runs on `f_busybox` using `scripts/readelf.py`, for example
I'd prefer not to do breaking changes at this point. If this can be packaged as a non-breaking change, I will consider accepting a PR when Python 2 officially EOLs.