Commit Graph

45 Commits

Author SHA1 Message Date
lief-agent 83bdf9c8d4 Add support for ELF DT_AUXILIARY and DT_FILTER
Resolve #1159
2026-03-08 11:33:50 +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
Romain Thomas 0b14561dc9 Add IMAGE_SUBSYSTEM_XBOX_CODE_CATALOG 2026-01-31 13:40:10 +01:00
Romain Thomas 21cf565261 Update copyright 2026-01-11 22:04:09 +01:00
Romain Thomas 8df6f13e41 Resolve #1203 2025-05-03 15:09:21 +02:00
Romain Thomas e1eeada181 Remove undef workaround 2025-02-22 05:38:07 +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 2c0bf31cc0 ++year 2025-01-01 09:49:21 +01:00
Romain Thomas ccd41bb820 Remove C enums 2024-11-09 16:15:08 +01:00
Aiden-Isik 93e2e65a6f Add PowerPC Big Endian 0x1F2 (found on Xbox 360) (#1090) 2024-08-31 09:25:22 +02:00
nsurbay f4bf30dfbc Support new Dynamic tags for X86_64 (#1081)
* Add new X86_64 specific Dynamic Tag

See https://sourceware.org/git/?p=glibc.git;a=commit;h=848746e88ec2aa22e8dea25f2110e2b2c59c712e

* Add missing Dynamic Tag in C api

---------

Co-authored-by: Romain Thomas <me@romainthomas.fr>
Co-authored-by: Romain Thomas <7450402+romainthomas@users.noreply.github.com>
2024-07-27 11:00:43 +02:00
Romain Thomas e46074212d Re-scope Mach-O enums 2024-05-09 06:02:00 +02:00
Romain Thomas 307e113f8e Resolve #1038 2024-03-30 07:14:40 +01:00
Romain Thomas 9502c2b7ec Update copyrights 2024-02-04 05:50:39 +01:00
Romain Thomas cddd8dd076 Rename the static_symbol API into symtab_symbol 2024-02-03 06:31:30 +01:00
Romain Thomas 7a62df9b58 Re-scope ELF enums 2024-01-28 22:54:25 +01:00
Romain Thomas d0ed158094 Update Sphinx C documentation 2023-11-07 10:47:02 +01:00
Romain Thomas cc165d2aba Refactor and clean LIEF::PE::Section 2023-07-28 17:15:14 +02:00
Romain Thomas 6a90b3457f Refactor and clean LIEF::PE::DataDirectory 2023-07-27 21:14:38 +02:00
Romain Thomas d34d20c198 Refactor and clean LIEF::PE::Header 2023-07-27 18:33:09 +02:00
Romain Thomas 22a6ffa0bd Refactor and clean LIEF::PE::OptionHeader 2023-07-27 18:30:11 +02:00
Romain Thomas 1781ba0f61 Clean DosHeader interface 2023-07-27 18:23:43 +02:00
Romain Thomas 32d4848993 Fix #916 2023-05-16 04:11:15 +02:00
Romain Thomas 58a756460a Clean headers 2023-04-01 09:18:43 +02:00
Romain Thomas 969411f8ef Welcome 2023 2023-01-03 10:38:09 +01:00
Romain Thomas c0da465f74 Resolve #843 2022-12-14 08:59:29 +01:00
Romain Thomas 77328b0071 Bump year 2022-02-08 21:16:25 +01:00
Romain Thomas e9782c5927 Clean & modernize LIEF code base
This commit (obviously non-atomic) cleans LIEF's code base by:
  - Using pointer semantics (`std::unique_ptr<>`)
  - Using LEAF boost error in the binary stream
  - Reducing the scope of the iterators (`it_section`, ...)
  - Removing `Structures.hpp` from the public headers
  - etc
2022-02-05 06:09:06 +01:00
Guillaume Charifi 15fcfc37cc api-c: Protect bool typedef from duplicate declaration.
bool is defined as a macro since C99.
2021-01-26 19:37:14 +01:00
Romain Thomas 6720ed2385 Update copyright 2021-01-16 18:17:17 +01:00
Romain Thomas a9fea192b1 Update doc 2020-12-23 09:40:16 +01:00
Romain Thomas 576d791f80 Update doc 2020-12-18 18:55:09 +01:00
rthomas 1364f22c78 Improve logging interface 2020-11-09 21:02:50 +01:00
Hilko Bengen cbacbc47f4 api/c: Add explict size fields for extracted content fields
Corrupted files may cause section or segment contents not to be
available entirely. However, C-based client code is not able to detect
this which may cause out-of-bounds reads when accessing data from the
.content fields.

Note: This is a silent ABI-breaking change because it changes struct layouts.

Note: Naming is inconsistent: .size was already taken in PE Sections.
2018-09-13 13:56:48 +02:00
Romain Thomas 406115c8d0 Enhance Mach-O modification
* Add load command
  * Add sections
  * Add segments

Resolve #46 (partially)
2018-06-27 14:44:42 +02:00
Romain Thomas 3b17aba10e Refactor some parts of the Architecture:
* JSON visitor are located in the format namespace
  * Visitor are *real* visitor
  * Visitable class has been renamed to Object
  * Due to a bug in Visual Studio 2015, we move to VS2017
2018-03-13 16:49:02 +01:00
Romain Thomas 9125b146cd Disable lief logger by default and export C API for logger
C API Changes (Added):
  * lief_logging_disable
  * lief_logging_enable
  * lief_logging_set_level
  * lief_logging_set_verbose_level
2017-11-30 16:58:40 +01:00
Romain Thomas fe6168d319 Add PE Import and ImportEntry in the C API
API Changes (C / PE):

  * Pe_Import_t      - Added
  * Pe_ImportEntry_t - Added
2017-09-24 11:27:37 +02:00
Romain Thomas 66b4cd4550 Fix enums conflicts
Enums changes (C++/C):

ELF:
  * s/SECTION_TYPES/ELF_SECTION_TYPES/
  * s/SECTION_FLAGS/ELF_SECTION_FLAGS/
  * s/SYMBOL_TYPES/ELF_SYMBOL_TYPES/
  * s/SEGMENT_FLAGS/ELF_SEGMENT_FLAGS/

MachO:
  * s/SECTION_TYPES/MACHO_SECTION_TYPES/
  * s/SECTION_FLAGS/MACHO_SECTION_FLAGS/
  * s/SYMBOL_TYPES/MACHO_SYMBOL_TYPES/
  * s/SEGMENTS_FLAGS/MACHO_SEGMENTS_FLAGS/

PE:
  * s/SECTION_TYPES/PE_SECTION_TYPES/

Resolve #32
2017-08-21 09:23:40 +02:00
Romain Thomas 629d9aa090 Add C API for ELF's DynamicEntryFlags 2017-08-01 15:47:05 +02:00
Romain Thomas d96971b0c3 Rename 'sizeof_section_header' to 'section_header_size' (ELF's header)
API changes:
  [C]      Elf_Header_t.sizeof_section_header -> Elf_Header_t.section_header_size
  [C++]    LIEF::ELF::Header::sizeof_section_header -> LIEF::ELF::Header::section_header_size
  [Python] lief.ELF.sizeof_section_header -> lief.ELF.section_header_size

Resolve #62
2017-07-24 07:44:11 +02:00
Romain Thomas 31bdcc1f0c Fix missing headers 2017-07-18 11:12:49 +02:00
Romain Thomas 8c00dd25eb Add is_exported/is_imported functions in the C API
API changes (C):
  Elf_Symbol_t.{is_exported, is_imported} - Added
2017-07-18 11:04:05 +02:00
Romain Thomas 4f9a11ac4a Add is_elf in the C API 2017-07-18 11:00:35 +02:00
Romain Thomas 306a191a03 First public release 2017-03-30 16:56:49 +02:00