57 Commits

Author SHA1 Message Date
Romain Thomas a2484a43b3 python: guard mutating bindings with nb::lock_self()
Ensure Python binding thread-safety on methods that
mutate the underlying binary. Note: this coverage is not exhaustive
but bootstrap the support for free-threaded Python builds.

resolve #1255
2026-04-25 08:24:45 +02:00
lief-agent ec3920229a python: fix typing stubs 2026-04-11 07:07:28 +02:00
lief-agent c5193a4817 code cleaning 2026-04-05 08:49:52 +02:00
Romain Thomas 702f4e51b8 Resolve #1310 2026-03-17 15:01:41 +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 3fc8089ec6 Update typing 2026-01-24 09:39:58 +01:00
Romain Thomas c5223bf112 Update nanobind to v2.10.x 2026-01-24 09:39:04 +01:00
Romain Thomas 29b8c47b12 Fix typing 2026-01-02 17:40:03 +01:00
Romain Thomas 9ddfcd89ba Add from_bytes helper 2026-01-02 17:39:42 +01:00
Romain Thomas d6a97f0aa7 Add python bindings for vector_iostream 2026-01-02 17:38:39 +01:00
Romain Thomas 4196d2fdbf Add bindings for the binarystream interfaces 2025-11-12 12:20:38 +01:00
Romain Thomas 7f4fe593db Add virtual size information in the abstract layer 2025-09-21 09:57:57 +02:00
Romain Thomas db6074d00e Add is_shared_cache 2025-08-10 13:20:41 +02:00
Romain Thomas a27b986882 Improve get_function_address 2025-08-10 13:20:40 +02:00
Romain Thomas ff03a9d3e7 Add generic support for Path 2025-08-10 13:20:39 +02:00
Romain Thomas 33bfcead27 Add support to load an external debug file (DWARF/PDB) 2025-08-10 13:20:38 +02:00
Romain Thomas c40dcea762 Add support for contextual assembly patching 2025-07-13 18:09:50 +02:00
Romain Thomas 7fce27408a Provide lief-patchelf: a LIEF-based implementation of NixOS's patchelf
Related: NixOS/patchelf#568
Support: NixOS/patchelf#596
2025-07-12 10:01:33 +02:00
Romain Thomas e661bb7422 Improve page size support 2025-06-24 16:48:02 +02:00
Romain Thomas d9e949a463 Fix typing 2025-06-09 06:31:22 +02:00
Romain Thomas 84f963a716 Initial support for the COFF format
Resolve #1091
2025-06-08 20:01:21 +02:00
Romain Thomas a1ec0f815f Fix missing PPC64 (resolve #1217) 2025-05-29 13:27:52 +02:00
Romain Thomas 5a19dc9d73 Add support for creating DWARF files
This commit also bootstraps plugin for Ghidra and BinaryNinja

Related to NationalSecurityAgency/ghidra#2687
2025-05-27 14:48:07 +02:00
Romain Thomas 6b0446b16e Update nanobind 2025-04-12 06:30:44 +02:00
Romain Thomas c000b17be0 Enhance PE parser/builder
close #1021
close #1118
close #192
close #276
close #358
close #642
close #746
close #777
resolve #1043
resolve #109
resolve #114
resolve #1167
resolve #124
resolve #137
resolve #140
resolve #277
resolve #472
resolve #473
resolve #517
resolve #523
resolve #528
resolve #530
resolve #546
resolve #69
resolve #876
2025-02-15 05:33:25 +01:00
Romain Thomas de58725db9 Initial assembler 2024-11-30 07:54:08 +01:00
Romain Thomas de49dceba9 Update nanobind
Resolve: #1128
2024-11-30 05:30:21 +01:00
Romain Thomas f7a127eac3 Initial disassembler support 2024-11-02 16:42:41 +01:00
Romain Thomas 4cc1dd26be Refactor and clean code in LIEF's abstract layer
Resolve #1119
2024-10-26 05:36:49 +02:00
Romain Thomas 8784fb5aa5 Refactor LIEF's Abstract Function 2024-10-26 05:03:52 +02:00
Romain Thomas 442fb46395 Initial support for Apple's dyld shared cache 2024-10-19 06:29:24 +02:00
Romain Thomas cd81ed3ba6 Add get_int_from_virtual_address in the abstract layer 2024-09-14 05:57:08 +02:00
Romain Thomas 5915877834 Add require_extended_version error type 2024-08-31 07:06:47 +02:00
Romain Thomas 7c3b4a3f9f Add demangle utility (resolve: #1054) 2024-08-17 05:30:57 +02:00
Romain Thomas b2b7fb96ec Add support for extensions. 2024-07-13 07:51:52 +02:00
Romain Thomas f763b51274 Fix binary's original_size 2024-06-29 05:15:32 +02:00
Leland Jansen ef824c71bc Rename DEBUG enum variants 2024-05-06 16:18:48 +02:00
Romain Thomas 78fad9758e Add helper to disable nanobind warnings 2024-02-17 06:44:10 +01:00
Romain Thomas 1c112ee57c Resolve #1017 2024-02-11 17:01:51 +01:00
Romain Thomas 6217d70643 Resolve #1019 2024-02-03 12:54:32 +01:00
Romain Thomas 7cd186ddfa Fix #1016 -- Create aliases: ContentInfo::{digest,digest_algorithm} to SpcIndirectData::{digest,digest_algorithm} 2024-01-27 06:11:39 +01:00
Romain Thomas df97777811 Fix typo and update the changelog 2023-11-18 12:33:36 +01:00
Romain Thomas 78c3196d67 Refactor the ELF Note support 2023-11-09 06:26:56 +01:00
Romain Thomas 2a2c56a173 Make typing stubs more accurate 2023-10-21 06:36:59 +02:00
Romain Thomas a27bd6a644 Add support for os.PathLike inputs in the parsers
Resolve: #974
2023-10-21 05:23:42 +02:00
Romain Thomas 3ade2736c0 Improve typing stubs 2023-10-15 22:14:28 +02:00
Romain Thomas b3d6b20085 Fix return type (#965) 2023-09-16 06:00:21 +02:00
Romain Thomas 3c959daa58 Resolve #965 2023-09-16 05:49:26 +02:00
Romain Thomas 4b29b87c14 Fix Python module API 2023-07-15 05:39:57 +02:00
Romain Thomas e37ffa9ec8 Switch the bindings to nanobind (and update the CI) 2023-07-09 21:33:43 +02:00