Commit Graph

212 Commits

Author SHA1 Message Date
Romain Thomas d717340c92 Improve the logic of sections insertion in ELF binaries 2025-04-19 08:32:37 +02:00
Romain Thomas fc7cc1c8a3 Update to LLVM 20.1.2 2025-03-29 05:28:19 +01:00
Romain Thomas 68738194c9 Fix whitespace warning 2025-03-29 05:27:20 +01:00
Romain Thomas 0b386c22ba Add named logger API 2025-03-15 06:32:18 +01:00
Romain Thomas 3f35394efa Make sure we raise an exception if the value is not valid 2025-02-22 07:42:10 +01:00
Romain Thomas 45ddb0ecf7 Fix enum conflict with Windows 2025-02-22 06:10:09 +01:00
Romain Thomas 0614b7f2cf Add support for PDB build metadata 2025-02-22 04:45:58 +01:00
Romain Thomas 86760c53d8 Fix Windows conflict 2025-02-15 18:06:55 +01:00
willboka f97627cd58 Dex: add getter for registers count (#1171)
* Add getters for the register count

* Add tests for the getter for the number of registers

* Fix: use const ref to avoid unecessary copy

---------

Co-authored-by: willboka <willbaka>
2025-02-15 17:56:36 +01:00
Romain Thomas eb8fd41011 Fix reference issue 2025-02-15 17:49:52 +01: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 cc288c7215 Add support for pretty printing PDB debug info 2025-02-15 04:15:03 +01:00
Romain Thomas 8cae0420d9 Make sure ELF, PE, and Mach-O parser can consume bytes.
Related to #1167
2025-02-04 12:40:32 +01:00
Romain Thomas b086796f43 Resolve #1165 2025-02-01 20:45:31 +01:00
Romain Thomas 94275484bd Resolve #1164 and resolve #1163 2025-01-25 06:16:11 +01:00
bhoehl ac3b57deb1 add support for spc link / urls in spc indirect data 2025-01-25 05:16:29 +01:00
Romain Thomas 2c0bf31cc0 ++year 2025-01-01 09:49:21 +01:00
Richard Dzenis 259bf7091f MachO::binary: add extend_section (#1137)
* MachO::Binary::add_section: respect alignment of empty sections

* MachO/layout_check: relax offset continuity requirement for __text section

Sections in MachO are prepended, but __text section is not moved.
Due to this there might be redundant gap between __text section and a
section that comes before __text.

Note: we don't want to alter distance between __DATA and __text, because
there might be position relative references in metadata.

* tests/macho: use lief.MachO.check_layout

* MachO::binary: add extend_section

This commit adds member function MachO::Binary::extend_section that is
able to extend sections from the first segment in MachO.

* macho/test_builder: add test_extend_section
2024-12-24 09:58:47 +01:00
Romain Thomas 2cd4d99fc6 Enhance Mach-O layout checks 2024-12-15 08:04:34 +01:00
Romain Thomas a5cf726667 Add more architectures 2024-12-14 19:48:04 +01:00
Romain Thomas 535375ff7e Add enums for DYLD_CHAINED_PTR_ARM64E_SHARED_CACHE 2024-12-13 16:58:22 +01:00
Romain Thomas 29b79cbece Add more platforms 2024-12-13 10:36:33 +01:00
Romain Thomas 531377b388 Add support for LC_ATOM_INFO 2024-12-12 20:34:50 +01:00
Romain Thomas 2eab480a15 Update dyld shared cache support (resolve #1127) 2024-12-11 11:40:53 +01:00
Romain Thomas 0ff950c080 Update nanobind 2024-12-10 05:30:37 +01:00
Romain Thomas a11b1b72a9 Expose write() operation in Rust 2024-12-09 16:58:29 +01:00
Romain Thomas c1a7332233 Add support for AArch64 operands 2024-12-07 18:27:27 +01:00
Romain Thomas 69d777e4c0 Add support for x86/x86-64 operands 2024-12-07 06:01:28 +01:00
Romain Thomas 917a118769 Fix documentation 2024-12-07 05:41:44 +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 102a6171a7 Some updates 2024-11-23 07:45:56 +01:00
Romain Thomas 33a8e16976 Improve disassembler support 2024-11-23 07:31:41 +01:00
Romain Thomas 8b8b84d180 Add support to disassemble DWARF Function 2024-11-23 05:46:27 +01:00
Romain Thomas b63dca262f Add nanobind custom type caster for LIEF::span 2024-11-16 18:35:35 +01:00
Romain Thomas ca6ddf5cdd Enhance DWARF types support 2024-11-16 10:16:16 +01:00
Romain Thomas ca485c3921 Return an empty stream when the size is 0 2024-11-16 09:12:30 +01:00
Romain Thomas 7a4291bcf1 Improve relocation support 2024-11-09 06:30:58 +01:00
Romain Thomas 3f233e5a95 Add support for eBPF relocations 2024-11-09 06:01:04 +01:00
Romain Thomas 3e951ba3f7 Update documentation 2024-11-09 05:06:01 +01:00
Romain Thomas 5cf93ae26d Add DWARF support for DW_TAG_typedef support 2024-11-09 04:59:44 +01:00
Romain Thomas f2c54ee5cf Add DWARF imported function iterator 2024-11-09 04:55:27 +01:00
Romain Thomas 89ad5b378a Add DWARF is_external API (matching DW_AT_external) 2024-11-09 04:48:28 +01:00
Romain Thomas f7a127eac3 Initial disassembler support 2024-11-02 16:42:41 +01:00
Romain Thomas 86e1769fb0 Enable creating a RPathCommand
Resolve #1078
2024-11-02 10:47:50 +01:00
Romain Thomas 0f8bea0275 Enhance logging API 2024-11-01 06:45:19 +01:00
Romain Thomas 19dd162314 Add RISC-V processor flags 2024-11-01 06:01:26 +01:00
Romain Thomas f00553ec14 Add C-SKY architecture 2024-11-01 05:58:37 +01:00
Romain Thomas 27be4e6b2d Add support for GNU_PROPERTY_AARCH64_FEATURE_PAUTH 2024-10-26 15:46:14 +02:00
Romain Thomas 086c49fb7a Add is_targeting_android to determine if an ELF targets Android 2024-10-26 08:48:08 +02:00