Skip to content

0.0.5#10

Merged
M3str3 merged 15 commits intomainfrom
0.0.5
Aug 7, 2025
Merged

0.0.5#10
M3str3 merged 15 commits intomainfrom
0.0.5

Conversation

@M3str3
Copy link
Owner

@M3str3 M3str3 commented Aug 7, 2025

  • General
    • Added: Added comprehensive tests for Field<String> covering padding, exact fit, overflow, and UTF-8 multibyte handling in section names (see tests/general.rs).
    • Added: Added tests for successful and failing writes for PE, ELF and Mach-O files.
    • Added: Added tests for Field<number> updates verifying successful writes and FileParseError::ValueTooLarge errors.
    • Changed: Field<number>::update now returns Result and errors with FileParseError::ValueTooLarge if the value does not fit.
    • Changed: Field<String>::update now accepts &str instead of &String, reducing unnecessary allocations when updating string fields.
    • Fixed: Improved Field<String>::update to ensure that when the new value is shorter than the field size, any leftover bytes are properly zeroed out, and UTF-8 multibyte strings are handled correctly. In previous versions, some bytes from the old value could remain in the binary.
  • PE
    • Added: Added tests for successful and failing writes for PE files.
    • Changed: Updated internal calls to Field<number>::update to propagate FileParseError::ValueTooLarge errors.
  • ELF
    • Added: Added write_file method for ELF format, providing a consistent read/write interface across all formats.
    • Added: Added tests for successful and failing writes for ELF files.
    • Added: Detect endianness from header and parse program and section headers with the appropriate byte order. A new value elf::header::endianness now exists.
    • Added: Added tests for valid and invalid ELF headers to ensure endianness is handled correctly.
  • Mach-O
    • Added: Added write_file method for Mach-O format, providing a consistent read/write interface across all formats.
    • Added: Added tests for successful and failing writes for Mach-O files.
    • Added: Detect Mach-O endianness from the header and parse load commands and segments with the appropriate byte order, including tests for valid and invalid big-endian headers. A new value macho::header::endianness now exists.
    • Added: Support parsing FAT Mach-O binaries and add tests for little-endian and FAT headers.

@M3str3 M3str3 self-assigned this Aug 7, 2025
@M3str3 M3str3 added bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request version New version dropped labels Aug 7, 2025
@M3str3
Copy link
Owner Author

M3str3 commented Aug 7, 2025

Everything ready!!!!!

@M3str3 M3str3 merged commit cbf4e98 into main Aug 7, 2025
13 checks passed
@M3str3 M3str3 deleted the 0.0.5 branch August 7, 2025 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request version New version dropped

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant