Commit Graph

205 Commits

Author SHA1 Message Date
Romain Thomas 69219fdbe7 pe: add setters for iat_value/ilt_value 2026-03-20 16:27:47 +01:00
Romain Thomas f0610149b0 rust: add support for aarch64-linux-android and x86_64-linux-android 2026-03-20 15:56:35 +01:00
Romain Thomas 978dcc3b1a Fix pragma 2026-03-18 16:14:31 +01:00
Romain Thomas f986c6dd17 Resolve #1318 2026-03-17 17:11:44 +01:00
Romain Thomas cfdcc42fcd Fix warnings 2026-03-17 17:11:39 +01:00
Romain Thomas 22894bef5b clang-tidy fixes 2026-03-17 16:13:57 +01:00
Romain Thomas e1844d4ecc Add check_layout for ELF
This commit implements the check_layout function for ELF binaries
similar to PE and Mach-O. This function aims to ensure that the
ELF binary is consistent according to various loader (e.g., Linux, Android)
2026-03-17 08:30:21 +01:00
Romain Thomas 25dbebb658 Disable hash-opt by default 2026-03-16 11:48:59 +01:00
Frank 658297344b Add Rust bindings to modify PE imports and sections (#1317)
* Add set_name to PE Import

* Add creation and adding of PE Section

* Add functions to change Section

* Add docs for adding a section through Rust

* minor refactoring

---------

Co-authored-by: Romain Thomas <me@romainthomas.fr>
2026-03-16 09:58:51 +01:00
Frank cb71d0d640 Add Rust bindings to modify MachO libraries and paths (#1316)
* Add set_name to MachO Dylib

* Add rpaths to MachO Binary

* Add set_path to MachO RPath

* Add creation and adding of RPath

* Add remove_commands_by_type to MachO Binary

* Refactor LoadCommandTypes from_value to use From trait

* Add docs for new Rust bindings

* Fix code in documentation

* Some minor refactoring

---------

Co-authored-by: Romain Thomas <me@romainthomas.fr>
2026-03-16 09:50:26 +01:00
Romain Thomas 14f941bab4 optimize the ffigen process by running autocxx_build::Builder
only when `autocxx_ffi.rs` changed
2026-03-08 22:03:47 +01:00
lief-agent 83bdf9c8d4 Add support for ELF DT_AUXILIARY and DT_FILTER
Resolve #1159
2026-03-08 11:33:50 +01:00
Romain Thomas 7f01c7e580 expose more functions 2026-03-08 11:29:55 +01:00
Charles Bousseau 63d5500ee7 Add TLSDESC_PLT and TLSDESC_GOT to ELF dynamic tags (#1311)
* Add TLSDESC_PLT and TLSDESC_GOT to ELF dynamic tags

---------

Co-authored-by: Romain Thomas <me@romainthomas.fr>
2026-03-07 20:57:50 +01:00
lief-agent cbf06a5033 update the documentation 2026-02-28 11:07:12 +01:00
Romain Thomas b4e355f532 Update the iterator interface to provide a hint on its length 2026-02-22 05:06:36 +01:00
Romain Thomas 0ab32ac170 ensures we correctly handle nullptr return value 2026-02-21 20:56:52 +01:00
Romain Thomas 61d2923941 Add logging macros 2026-02-21 18:52:54 +01:00
Romain Thomas d19b32f006 Fix version 2026-02-14 21:22:16 +01:00
Romain Thomas e4ceecd6c4 Add support to insert an import at a specific position
close #1298
2026-02-14 11:09:22 +01:00
Romain Thomas 9c4204a358 Enhance API for MachO fileset
Fix #1297
2026-02-14 11:09:17 +01:00
Romain Thomas e46f1ded86 Refactor Rust macros 2026-02-14 11:09:11 +01:00
Romain Thomas f36b5a5410 Enhance testing 2026-02-14 11:09:05 +01:00
Romain Thomas 28d64ba71b initial support to generate C/C++ code from DWARF/PDB 2026-02-14 11:08:59 +01:00
Romain Thomas 64d13d63e6 enhance the API for PDB LF_ONEMETHOD 2026-02-14 11:08:50 +01:00
Romain Thomas 3b012a0a7f enhance API for PDB _simple_ types 2026-02-14 11:08:45 +01:00
Romain Thomas b19a17ee89 enhance API for PDB LF_ARRAY 2026-02-14 11:07:30 +01:00
Romain Thomas b5fd54aab4 enhance API for PDB LF_PROCEDURE 2026-02-14 11:07:24 +01:00
Romain Thomas f23d3bccd4 enhance API for PDB LF_ENUM 2026-02-14 11:06:19 +01:00
Romain Thomas a89d452efa Add API to access a PDB from its index 2026-02-14 10:55:28 +01:00
Romain Thomas b0502c94d0 Ghidra - Support DWARF generation for raw binaries/firmware
This commit introduces support for generating DWARF debug information
for binaries that LIEF cannot natively parse (e.g., raw firmware or unknown architectures).

Related to #1249
2026-02-14 10:55:23 +01:00
Romain Thomas 38e5565568 Abstract pdb::Type::{size, name} 2026-02-14 10:55:16 +01:00
Romain Thomas 71e6942309 Upgrade MbedTLS to 4.0.0
Updates the internal MbedTLS version from 3.6.4 to 4.0.0.
This major version introduces the TF-PSA-Crypto architecture,
requiring significant changes to the build system and internal API usage.

Added `src/mbedtls_wraps.h` to handle the internalization
of MbedTLS 4.0 structures. This file re-declares private contexts
(like `mbedtls_rsa_context`) and uses `-DMBEDTLS_DECLARE_PRIVATE_IDENTIFIERS`
to allow LIEF to inspect internal key parameters required for PE
signature verification.
2026-02-14 09:46:59 +01:00
Romain Thomas 66a54c6d92 Update deps
close #1295, #1294
2026-02-14 09:45:18 +01:00
Romain Thomas 1282b66f2b Fix Rust warning 2026-01-31 20:53:16 +01:00
Romain Thomas 0b14561dc9 Add IMAGE_SUBSYSTEM_XBOX_CODE_CATALOG 2026-01-31 13:40:10 +01:00
Romain Thomas 3d699730c2 Add API to select a Mach-O binary by architecture from a FAT binary
Close #1283
2026-01-25 13:34:07 +01:00
Romain Thomas fd6b2c70c5 LLVM 22 Update 2026-01-24 17:18:48 +01:00
Romain Thomas 21cf565261 Update copyright 2026-01-11 22:04:09 +01:00
Romain Thomas 683782d878 Enable instantiation of DWARF editor from format and arch 2026-01-02 13:56:24 +01:00
Romain Thomas ab5078fcd3 Add bitfields support 2026-01-02 08:27:33 +01:00
Romain Thomas 107d9c51c5 Resolve #1265 2026-01-01 20:20:11 +01:00
Romain Thomas 6f8ec24955 Add function to find enum entry by value 2025-11-08 13:24:49 +01:00
Romain Thomas 18163d8cb4 Downgrade version 2025-10-26 13:57:40 +01:00
Romain Thomas 0678ef3f6f Update versions 2025-10-25 15:36:32 +02:00
Romain Thomas 7b36cbd8aa Expose is_stack_based for DWARF variables 2025-10-12 10:40:37 +02:00
Romain Thomas 00619e2ed7 Add support to access or set Enum's underlying type" 2025-10-12 10:40:26 +02:00
Romain Thomas 7fbc31cd81 Add support for DWARF Enum entries 2025-10-04 18:49:51 +02:00
Romain Thomas be775c7185 Fix missing return type 2025-10-04 09:11:44 +02:00
Romain Thomas f6cd5db689 Enhance DWARF support to support DW_AT_description and LexicalBlock. 2025-10-04 08:29:19 +02:00