Skip to content

Releases: PathogenDavid/Kaisa

v0.0.2 – Added ELF and Linux-style archive support

31 Oct 12:52
f64a3bc
Compare
Choose a tag to compare

Kaisa v0.0.2 Sponsor

Kaisa learned to read ELF files, thanks Alfur! (#1)

This means Kaisa can now parse .o, .so, and other Linux binaries. Additionally, Kaisa can also ready Linux-style .a archives and automatically differentiate them from Windows-style .lib files. (They're both a same-but-different non-standard format.)

This ELF support is mainly limited to parsing string tables and symbol tables (including symbol tables which rely on an extended index table.) For more details see the project readme.

Additionally:

  • Kaisa is more conservative about whether an archive member is considered a COFF file. (COFF files have no header magic, so she does this by checking if the machine type looks valid, so it's not fool-proof.)
  • A new MalformedFileException exception is now thrown when something very unexpected is encountered. This exception includes an offset into the stream where the parsing error occurred. (Where exactly it points depends on the context, but usually it's within a member's data or at the start of a malformed header.)
  • You can now query whether a particular stream appears to contain either an archive file, an ELF file, a COFF object, or even a Windows import object based on its header magic.
  • Streams are now scoped to the archive member's actual data range during parsing. (This means Kaisa will fail sooner if a malformed archive member causes her to read out of bounds.)

v0.0.1

19 Dec 10:15
b80f4d8
Compare
Choose a tag to compare

Kaisa v0.0.1 Sponsor

This is the initial release of Kaisa.