This is ELFSharp by Konrad Kruczyński (and other authors), a C# library for reading ELF, UImage and Mach-O files. It is an open source software available on a permissive X11 license and hosted on GitHub. For obtaining the binary or getting the source code please visit the download page. You can learn how to use this library by visiting the examples section. Doubts may be resolved by reading the Q&A section.
New version of ELFSharp is available. From this version on I will not longer offer a binary to download. This is because I removed inlined MiscUtil library sources in favor of having the library as a NuGet dependency. I've also started using different pattern of versioning
. Last but not least - basic Mach-O support is now there. Enjoy!
available, with some fixes regarding strings handling (we use UTF-8 now).
New version of ELFSharp available
, with a method to try getting section and some fixes. You can also get it from NuGet.
New version of ELFSharp, with UImage support! 0.0.10 is already available for download
, I'll soon put it on nuget gallery.
New version of ELFSharp released, namely 0.0.9. Bug fixes, tests fixed and new API for testing whether file is an ELF (and of which class) file added.
New release with examples
ELFSharp is now available as a package
on nuget.org with the (not surprising) id "ELFSharp".
The new version of ELFSharp (0.0.5, precisely speaking) was just released. There was some cleanup in code, minor fixes, but, what is most important, two subnamespaces were introduced: Sections and Segments. Their purpose should be self describing ;)
Some new stuff:
- releasing policy has been changed;
- API has been changed siginificantly, the 32/64 bit differences should be much easier to handle now (at least I hope so);
- bug fixes and refactorings, as usual.
ELFSharp can be now used to read the NOTE section.
Today's release contains some important bug fixes. Also missing fields for section and program header were added.
Library is now able to explore 64-bit ELFs. Enjoy!
Using the library, you can now explore program headers and get program images from file.
The library should now work properly with non-native endianess (which usually means big endian). A new version can be downloaded here
The library development has just started and an initial push was made to GitHub.