Compare commits

...
73 Commits
Author SHA1 Message Date
Clifford Yapp b16f99f9d2 Match actual 0.17.6 contents 2026-06-30 23:40:19 -04:00
Clifford Yapp 7db93e5e70 Merge tag '0.17.6' into RELEASE 2026-06-30 23:36:53 -04:00
Romain Thomas 6f3594f270 Fix title 2026-03-18 07:27:04 +01:00
Romain Thomas 08dc3b7fa8 Bump version 2026-03-18 06:41:57 +01:00
Romain Thomas c027a792c9 Update changelog 2026-03-18 06:40:42 +01:00
Romain Thomas b165c5241c Skip NOBITS sections in layout calculations and improve index retrieval
Skips `NOBITS` sections (like `.bss` and `.tbss`) when determining the last
section offset in `LIEF::ELF::Binary::last_offset_section()`.
Since these sections do not occupy space in the file, including them could lead to an unnecessary
increase in the final binary size.
2026-03-17 14:18:36 +01:00
Romain Thomas cb47b28c0b Fix alignment for PHDR/SHDR and improve TLS/RELR handling
This change addresses several issues related to ELF reconstruction.
It ensures compatibility with stricter loaders (like Android's linker)
and fix and issue with `STT_TLS` symbols

Resolve #1315
2026-03-17 14:17:31 +01:00
Itamar GafniandClaude Opus 4.6 418c55f1a8 fix(PE): Add bounds to import thunk parsing to prevent hangs
The import thunk loop in Parser.tcc has no iteration limit and calls
peek_string_at() with no max length. A malformed PE with an unterminated
IAT causes the loop to process hundreds of thousands of fake entries,
each triggering multi-megabyte string reads — hanging indefinitely.

This is a DoS vector against any system using LIEF for PE analysis.

Fixes:
1. Cap the thunk loop at MAX_IMPORT_ENTRIES (65536) per DLL
2. Bound peek_string_at to MAX_IMPORT_NAME_SIZE (4096) bytes
3. Warn when the limit is hit so users know the IAT was truncated

Follows the existing pattern used by MAX_TLS_CALLBACKS and
MAX_RELOCATION_ENTRIES.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 14:15:09 +01:00
Romain Thomas b9134341c7 Bump version 2026-03-08 09:13:36 +01:00
Romain Thomas 98e0a77dbf Update changelog 2026-03-08 09:03:13 +01:00
Romain Thomas 8ff9a881e0 Fix dynamic entry shifting for Android relocations
Android-specific relocation dynamic entry tags (`ANDROID_REL`, `ANDROID_RELA`,
`ANDROID_RELR`) were missing in `Binary::shift_dynamic_entries()`

Resolve #1309
2026-03-08 08:52:51 +01:00
Charles BousseauandRomain Thomas 6ff6b3f92c 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 21:00:02 +01:00
a7a223c443 Add missing segments in X86_64 coredump parser (#1278)
* Add missing segments in x86_64 coredump parser

* Add missing x86_64 segments in Python bindings

* Add typing

---------

Co-authored-by: Lo <llaubin@quarkslab.com>
Co-authored-by: Romain Thomas <me@romainthomas.fr>
2026-03-07 20:45:07 +01:00
Romain Thomas 4ca17d6538 Fix #1313 2026-03-07 20:43:25 +01:00
Romain Thomas 2b7d2a1904 ensures we correctly handle nullptr return value 2026-02-21 20:58:25 +01:00
Romain Thomas 5a837f7023 Fix version 2026-02-21 10:26:29 +01:00
Romain Thomas 45d0e6cdcb Update doc 2026-02-21 08:42:31 +01:00
Romain Thomas c5ad372702 Bump version 2026-02-21 08:38:39 +01:00
Romain Thomas b240acbb00 Update changelog 2026-02-21 08:36:49 +01:00
Romain Thomas f58a30dfc6 Update wheel to 0.46.3 2026-02-21 08:17:04 +01:00
Romain Thomas 7900739500 Update Python backend dependencies 2026-02-21 08:16:56 +01:00
Romain Thomas 4c6715b653 Fix typing 2026-02-21 08:09:33 +01:00
Romain Thomas 0bac402d49 Fix version 2026-02-21 08:09:19 +01:00
Romain Thomas 21da75fb8a Add LIEF_DOC_MINIFY to driver the doc minification 2026-02-21 08:09:03 +01:00
sigewinnefish d2b0c03d14 cmake: LIEFCompilerFlags problems on Windows clang-cl (#1306)
* ignore add clang warning flags if msvc clang

* clang-cl use same as msvc warning flags
2026-02-21 08:08:24 +01:00
Romain Thomas d7e4fb5f98 Fix missing file 2026-02-14 09:56:13 +01:00
Romain Thomas 61df87d20f Fix Windows #define issue
`std::numeric_limits<uint16_t>::max()` can conflict with `#define max`
defined by Windows in `minwindef.h`. Since we are in a public header,
forcing `NOMINMAX` should not be considered.
2026-02-14 09:56:04 +01:00
Romain Thomas 4e921072e6 Update deps
close #1295, #1294
2026-02-14 09:55:51 +01:00
Immortale 896fe42698 Fix address type (#1296) 2026-02-14 09:55:41 +01:00
Javier Lopez-Gomez abb4968e2c Fix LIEF::MachO::Binary::patch_relocation() for tagged pointers (#1302)
Fixes #1300.
2026-02-14 09:55:31 +01:00
Javier Lopez-Gomez 9e429042e2 Fix MachO::Binary::virtual_address_to_offset() for non-file-backed segment (#1301)
Fix #1299.
2026-02-14 09:55:22 +01:00
Clifford Yapp cb383d3f87 Match master contents in RELEASE for 7db1318 2026-02-05 12:00:07 -05:00
Clifford Yapp 1bd345f5cf Merge branch 'master' (SHA1 7db1318) into RELEASE 2026-02-05 11:58:37 -05:00
Romain Thomas 03aca30b53 Bump version 2026-01-24 11:22:30 +01:00
Romain Thomas 1cb571053b Update changelog 2026-01-24 10:40:27 +01:00
Romain Thomas dc95e9c513 Raise an error if we don't provide wheels for a given platform 2026-01-24 10:36:37 +01:00
Romain Thomas 3ab17a5625 Fix iterator typo 2026-01-24 10:36:27 +01:00
Romain Thomas cb115a7165 Resolve #1284 - explicitly provides RVA/VA 2026-01-24 10:36:17 +01:00
Alex KieckerandRomain Thomas a54e5b27b7 Fix bug with PE resources (#1281)
* Fix bug with PE resources, where the PE builder will refuse to create a resources section if there are new resources but one does not exist

* Add test

---------

Co-authored-by: Romain Thomas <me@romainthomas.fr>
2026-01-11 21:00:54 +01:00
Romain Thomas aa2b617f47 Bump version 2026-01-03 09:25:18 +01:00
Romain Thomas b7f367451a Add changelog 2026-01-02 21:04:09 +01:00
fc1cdcd9aa Fix #1273 Infinite loop (#1274)
Fix #1273

---------

Co-authored-by: chengyongru <chengyongru@huorong.cn>
Co-authored-by: Romain Thomas <me@romainthomas.fr>
2026-01-01 20:19:10 +01:00
Romain Thomas 8bba61609f Fix #1277 2026-01-01 20:19:03 +01:00
Trevor Elkins 9698ea666d Fix #1262 2026-01-01 20:18:54 +01:00
Tim SchumacherandThomas Wachter 8ac5c8693c Ensure that added DYN ELF sections are properly aligned (#1266)
The in-page offset from the source segment is now kept, since changing
it may change the semantics of certain types of contents (e.g. ARM64
executable code relying on ADRP instructions).

Additionally, the virtual address of a segment is now properly aligned
in accordance with p_align instead of being hardcoded at the page size.


Fixes: d717340c9 ("Improve the logic of sections insertion in ELF binaries")

Co-authored-by: Thomas Wachter <thomas.wachter@huawei.com>
2025-11-11 17:44:58 +01:00
Romain Thomas 9dff397f38 Decrease the size by the number of relocations removed 2025-11-11 17:44:33 +01:00
Romain Thomas ff27238d4e Resolve #1261 2025-11-11 17:44:22 +01:00
TheBrokenRail dabbb72483 Fix MinGW Build When Some Formats Are Disabled (#1264) 2025-11-11 17:44:08 +01:00
Romain Thomas 2714146f0e Some refactoring and add tests 2025-11-11 17:44:00 +01:00
Wangmo Tenzing 60c3e88777 differentiate between macho fat and java class files 2025-11-11 17:43:49 +01:00
Romain Thomas fe54643fe3 Bump version 2025-10-25 08:43:43 +02:00
Antoine Prouvost 00f3322411 Add missing visibility (#1254) 2025-10-18 05:47:25 +02:00
Romain Thomas 562eacc974 Reorder includes 2025-10-05 07:32:23 +02:00
Romain Thomas 76c54de0e7 Resolve #1251 2025-10-05 07:32:09 +02:00
Romain Thomas 3507c8fefc Fix paging compilation issue 2025-09-21 10:26:06 +02:00
Clifford Yapp c82f9c64f2 Update LIEF to 0.15.1 2024-09-24 09:57:58 -04:00
Romain Thomas f4d68357cb Bump version 2024-07-23 10:11:51 +02:00
Romain Thomas 03f234cbb6 Add documentation link 2024-07-23 10:05:27 +02:00
Romain Thomas 2c5c77333e Update doc 2024-07-23 10:00:32 +02:00
Romain Thomas 0dd839d7db Add support for Mach-O .hwx files 2024-07-23 09:59:03 +02:00
Romain Thomas 2d9855fc7f Bump version 2023-06-17 13:39:34 +02:00
Romain Thomas 45d772ad45 Fix typo 2023-06-17 13:39:34 +02:00
Farid Zakaria 790e628b56 Add additional missing undef for ELF
Add missing undef for ELF that cause failures if
lib/elf.h is included before LIEF.
2023-06-17 13:30:03 +02:00
Romain Thomas 88bbd410e6 Fix #932 2023-06-17 13:30:03 +02:00
Romain Thomas 1347dec367 Disable static link with libstdc++ 2023-05-28 12:28:12 +02:00
Romain Thomas b85e785f62 Add OSX arm64 workflow 2023-05-28 11:35:36 +02:00
Romain Thomas b9a5f970b2 Fix #916 2023-05-28 08:38:49 +02:00
Romain Thomas ac98429d75 Set version 2023-05-27 20:58:53 +02:00
Romain Thomas 19af291ab6 Fix C99 comment style (#916) 2023-05-27 20:50:41 +02:00
Romain Thomas ebbc55fd69 Resolve #904 2023-05-21 16:11:58 +02:00
Romain Thomas 1ea659535e Fix #912 2023-05-20 10:32:14 +02:00
Romain Thomas 6ed889e8cf Fix missing include 2023-05-20 10:31:56 +02:00
Romain Thomas b3d6a0737f Resolve #909 2023-05-20 10:31:29 +02:00
2003 changed files with 201482 additions and 220934 deletions
+79
View File
@@ -0,0 +1,79 @@
name: 'iOS'
on: push
jobs:
ios-sdk:
runs-on: macos-13
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install system dependencies
run: |
brew install cmake ninja ccache
- name: Get Date
id: get-date
run: |
echo "date=$(/bin/date -u "+%Y-%m-%d-%H;%M;%S")" >> $GITHUB_OUTPUT
shell: bash
- name: Setup cache dir
shell: bash
run: |
mkdir -p ~/.ccache
- name: ccache cache files
uses: actions/cache@v4
with:
path: ${{ runner.temp }}/.ccache
key: ios-${{ runner.os }}-${{ steps.get-date.outputs.date }}
restore-keys: |
ios-${{ runner.os }}
- name: Build iOS SDK
shell: bash
env:
CCACHE_DIR: ${{ runner.temp }}/.ccache
CCACHE_MAXSIZE: 10.0G
CCACHE_CPP2: 1
CCACHE_COMPRESS: 1
run: |
bash scripts/osx/package_ios.sh
- name: 'Upload Artifact'
uses: actions/upload-artifact@v4
with:
name: ios-sdk
path: build/*.tar.gz
retention-days: 3
deploy:
runs-on: ubuntu-latest
if: ${{ always() }}
needs: ios-sdk
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: ${{ runner.temp }}/artifacts
- name: Display artifacts
run: ls -R
working-directory: ${{ runner.temp }}/artifacts
- name: Deploy
env:
LIEF_S3_KEY: ${{ secrets.LIEF_S3_KEY }}
LIEF_S3_SECRET: ${{ secrets.LIEF_S3_SECRET }}
shell: bash
run: |
docker run --rm \
-v $GITHUB_WORKSPACE:/src \
-v $RUNNER_TEMP:/runner_tmp \
-e GITHUB_ACTIONS="true" \
-e GITHUB_WORKSPACE=$GITHUB_WORKSPACE \
-e GITHUB_REF=$GITHUB_REF \
-e GITHUB_REPOSITORY=$GITHUB_REPOSITORY \
-e LIEF_S3_KEY=$LIEF_S3_KEY \
-e LIEF_S3_SECRET=$LIEF_S3_SECRET \
liefproject/deploy \
python3 /src/.github/deploy.py /runner_tmp/artifacts
+142
View File
@@ -0,0 +1,142 @@
name: 'Linux AArch64'
on: push
jobs:
linux-sdk:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get Date
id: get-date
run: |
echo "date=$(/bin/date -u "+%Y-%m-%d-%H;%M;%S")" >> $GITHUB_OUTPUT
shell: bash
- name: ccache cache files
uses: actions/cache@v4
with:
path: ~/.ccache
key: linux-aarch64-${{ runner.os }}-sdk-${{ steps.get-date.outputs.date }}
restore-keys: |
linux-aarch64-${{ runner.os }}-sdk
- name: Build SDK
shell: bash
run: |
mkdir -p $RUNNER_TEMP/lief-install
mkdir -p $HOME/.ccache
chmod -R 777 $HOME/.ccache
docker run --name lief-sdk -u 1001:1001 --rm \
-e CCACHE_COMPRESS=1 \
-e CCACHE_MAXSIZE=10.0G \
-e CCACHE_DIR=/ccache \
-v $GITHUB_WORKSPACE:/src \
-v $RUNNER_TEMP/lief-install:/install \
-v $HOME/.ccache:/ccache \
liefproject/manylinux2014-aarch64 \
bash /src/scripts/docker/linux-sdk-aarch64
- name: 'Upload SDK Artifact'
uses: actions/upload-artifact@v4
with:
name: linux-aarch64-sdk
path: build/*.tar.gz
retention-days: 3
- name: 'Upload Install Artifact'
uses: actions/upload-artifact@v4
with:
name: linux-aarch64-install
path: ${{ runner.temp }}/lief-install
retention-days: 1
wheels:
runs-on: ubuntu-latest
needs: linux-sdk
strategy:
matrix:
python-version: [3.9, '3.10', '3.11', '3.12']
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get Date
id: get-date
run: |
echo "date=$(/bin/date -u "+%Y-%m-%d-%H;%M;%S")" >> $GITHUB_OUTPUT
shell: bash
- name: ccache cache files
uses: actions/cache@v4
with:
path: ~/.ccache
key: linux-aarch64-${{ runner.os }}-${{ matrix.python-version }}-${{ steps.get-date.outputs.date }}
restore-keys: |
linux-aarch64-${{ runner.os }}-${{ matrix.python-version }}
- name: Download LIEF install dir
uses: actions/download-artifact@v4
with:
name: linux-aarch64-install
path: ${{ runner.temp }}/lief-install
- name: Python ${{ matrix.python-version }} -- Wheel
shell: bash
env:
PYTHON_VERSION: ${{ matrix.python-version }}
run: |
mkdir -p $HOME/.ccache
chmod -R 777 $HOME/.ccache
PYTHON_VERSION_ALT=$(echo "${PYTHON_VERSION}" | sed 's/\.//') # Transform 3.8 -> 38
PYTHON_BINARY="/opt/python/cp${PYTHON_VERSION_ALT}-cp${PYTHON_VERSION_ALT}/bin/python${PYTHON_VERSION}"
docker run -u 1001:1001 --rm \
-e CCACHE_COMPRESS=1 \
-e CCACHE_MAXSIZE=10.0G \
-e CCACHE_CPP2=1 \
-e CCACHE_DIR=/ccache \
-e PYTHON_VERSION=$PYTHON_VERSION_ALT \
-e PYTHON_BINARY=$PYTHON_BINARY \
-v $GITHUB_WORKSPACE:/src \
-v $HOME/.ccache:/ccache \
-v $RUNNER_TEMP/lief-install:/install \
liefproject/manylinux2014-aarch64 \
bash /src/scripts/docker/linux-py-aarch64
- name: 'Artifact'
uses: actions/upload-artifact@v4
with:
name: linux-aarch64-python${{ matrix.python-version }}-wheel
path: dist/*.whl
retention-days: 3
deploy:
runs-on: ubuntu-latest
if: ${{ always() }}
needs: [linux-sdk, wheels]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Download artifacts
uses: actions/download-artifact@v4
with:
pattern: linux-aarch64-*
merge-multiple: true
path: ${{ runner.temp }}/artifacts
- name: Display artifacts
run: ls -R
working-directory: ${{ runner.temp }}/artifacts
- name: Deploy
env:
LIEF_S3_KEY: ${{ secrets.LIEF_S3_KEY }}
LIEF_S3_SECRET: ${{ secrets.LIEF_S3_SECRET }}
shell: bash
run: |
docker run --rm \
-v $GITHUB_WORKSPACE:/src \
-v $RUNNER_TEMP:/runner_tmp \
-e GITHUB_ACTIONS="true" \
-e GITHUB_WORKSPACE=$GITHUB_WORKSPACE \
-e GITHUB_REF=$GITHUB_REF \
-e GITHUB_REPOSITORY=$GITHUB_REPOSITORY \
-e LIEF_S3_KEY=$LIEF_S3_KEY \
-e LIEF_S3_SECRET=$LIEF_S3_SECRET \
liefproject/deploy \
python3 /src/.github/deploy.py /runner_tmp/artifacts
+3 -3
View File
@@ -6,7 +6,7 @@ env:
jobs:
osx-sdk:
runs-on: macos-14
runs-on: macos-13
steps:
- uses: actions/checkout@v4
with:
@@ -60,7 +60,7 @@ jobs:
path: install/x64
retention-days: 1
osx-testing:
runs-on: macos-14
runs-on: macos-13
if: "!contains(github.event.commits[0].message, '[skip-test]')"
steps:
- uses: actions/checkout@v4
@@ -124,7 +124,7 @@ jobs:
python tests/run_tools_check.py ${LIEF_BUILD_DIR}/
ctest --output-on-failure --test-dir ${LIEF_BUILD_DIR}/
wheels:
runs-on: macos-14
runs-on: macos-13
needs: osx-sdk
strategy:
matrix:
+1 -1
View File
@@ -7,7 +7,7 @@ env:
jobs:
osx:
runs-on: macos-14
runs-on: macos-11.0
steps:
- uses: actions/checkout@v4
with:
-1
View File
@@ -6,7 +6,6 @@ build/
*.lib
lief.egg-info/
dist/
**/target/*
api/rust/cargo/target/*
api/rust/examples/target/*
tools/target/*
+3 -3
View File
@@ -35,9 +35,9 @@ elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git"
AND IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/.git" AND Git_FOUND)
include(LIEFGit)
else()
set(LIEF_VERSION_MAJOR 1)
set(LIEF_VERSION_MINOR 0)
set(LIEF_VERSION_PATCH 0)
set(LIEF_VERSION_MAJOR 0)
set(LIEF_VERSION_MINOR 17)
set(LIEF_VERSION_PATCH 6)
endif()
if (DEFINED ENV{LIEF_COMMIT})
+2 -2
View File
@@ -186,8 +186,8 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2017 - 2026 R. Thomas
Copyright 2017 - 2026 Quarkslab
Copyright 2017 - 2025 R. Thomas
Copyright 2017 - 2025 Quarkslab
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
+4 -14
View File
@@ -20,8 +20,7 @@ modify and abstract ELF, PE and MachO formats.
* **Parsing**: LIEF can parse [ELF](https://lief.re/doc/latest/formats/elf/index.html), [PE](https://lief.re/doc/latest/formats/pe/index.html), [MachO](https://lief.re/doc/latest/formats/macho/index.html), [COFF](https://lief.re/doc/latest/formats/coff/index.html), OAT, DEX, VDEX, ART and provides an user-friendly API to access to internals.
* **Modify**: LIEF can use to modify some parts of these formats (adding a section, changing a symbol's name, ...)
* **Abstract**: Three formats have common features like sections, symbols, entry point... LIEF factors them.
* **API**: LIEF can be used in [C++](https://lief.re/doc/latest/doxygen/), Python, [Rust](https://lief-rs.s3.fr-par.scw.cloud/doc/latest/lief/index.html), C and
[Node.js](https://github.com/Piebald-AI/node-lief) (unofficial, AI-generated)
* **API**: LIEF can be used in [C++](https://lief.re/doc/latest/doxygen/), Python, [Rust](https://lief-rs.s3.fr-par.scw.cloud/doc/latest/lief/index.html) and C
**Extended features**:
@@ -36,15 +35,6 @@ modify and abstract ELF, PE and MachO formats.
* [**Ghidra**](https://lief.re/doc/latest/plugins/ghidra/index.html)
* [**BinaryNinja**](https://lief.re/doc/latest/plugins/binaryninja/index.html)
# Sponsors
<br />
<p align="center">
<a href="https://quansight.com/" target="_blank">
<img width="300px" src="https://lief.re/quansight_logo.jpg"/><br />
</a>
</p>
# Content
- [About](#about)
@@ -89,7 +79,7 @@ version = "0.0.1"
edition = "2021"
[dependencies]
lief = "0.17.3"
lief = "0.17.6"
```
## Python
@@ -112,7 +102,7 @@ pip install [--user] --force-reinstall --index-url https://lief.s3-website.fr-pa
- **Nightly**:
* SDK: https://lief.s3-website.fr-par.scw.cloud/latest/sdk
* Python Wheels: https://lief.s3-website.fr-par.scw.cloud/latest/lief
- **v0.17.3**: https://github.com/lief-project/LIEF/releases/tag/0.17.3
- **v0.17.6**: https://github.com/lief-project/LIEF/releases/tag/0.17.6
Here are guides to install or integrate LIEF:
@@ -230,7 +220,7 @@ Romain Thomas ([@rh0main](https://www.romainthomas.fr/)) - Formerly at [Quarksla
### License
LIEF is provided under the [Apache 2.0 license](https://github.com/lief-project/LIEF/blob/0.17.3/LICENSE).
LIEF is provided under the [Apache 2.0 license](https://github.com/lief-project/LIEF/blob/0.17.6/LICENSE).
### Bibtex
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2
View File
@@ -702,6 +702,8 @@ enum LIEF_DYNAMIC_TAGS {
LIEF_DT_HIPROC = 0x7FFFFFFF, /**< End of processor specific tags. */
LIEF_DT_GNU_HASH = 0x6FFFFEF5, /**< Reference to the GNU hash table. */
LIEF_DT_TLSDESC_PLT = 0x6FFFFEF6, /**< Location of PLT entry for TLS descriptor resolver calls. */
LIEF_DT_TLSDESC_GOT = 0x6FFFFEF7, /**< Location of GOT entry for TLS descriptor resolver PLT entry. */
LIEF_DT_RELACOUNT = 0x6FFFFFF9, /**< ELF32_Rela count. */
LIEF_DT_RELCOUNT = 0x6FFFFFFA, /**< ELF32_Rel count. */
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License",;
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+3 -4
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -52,8 +52,7 @@ enum LIEF_PE_SUBSYSTEM {
LIEF_PE_SUBSYSTEM_EFI_RUNTIME_DRIVER = 12, /**< An EFI driver with run-time services. */
LIEF_PE_SUBSYSTEM_EFI_ROM = 13, /**< An EFI ROM image. */
LIEF_PE_SUBSYSTEM_XBOX = 14, /**< XBOX. */
LIEF_PE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION = 16, /**< A BCD application. */
LIEF_PE_SUBSYSTEM_XBOX_CODE_CATALOG = 17,
LIEF_PE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION = 16 /**< A BCD application. */
};
struct Pe_OptionalHeader_t {
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
+2 -2
View File
@@ -23,8 +23,8 @@ if (LIEF_EXTERNAL_NANOBIND)
find_package(Python REQUIRED COMPONENTS Interpreter Development.Module)
find_package(nanobind REQUIRED)
else()
set(NANOBIND_VERSION 2.11.0.r10.g5f0a380)
set(NANOBIND_SHA256 SHA256=4494b2b580b400e98e4d847b6a9e2a3aeb99581ac7545f6efaa52605335fa806)
set(NANOBIND_VERSION 2.8.0.r19.g617d5a0)
set(NANOBIND_SHA256 SHA256=dfe63078063cb49979517130664e74b373d8f6f981a5636e1ee0201877aa46ee)
set(NANOBIND_URL "${THIRD_PARTY_DIRECTORY}/nanobind-${NANOBIND_VERSION}.zip"
CACHE STRING "URL to the Nanobind")
FetchContent_Declare(nanobind
+1 -1
View File
@@ -62,4 +62,4 @@ Romain Thomas `@rh0main <https://x.com/rh0main>`_
----
LIEF is provided under the `Apache 2.0 license <https://github.com/lief-project/LIEF/blob/0.15.1/LICENSE>`_
LIEF is provided under the `Apache 2.0 license <https://github.com/lief-project/LIEF/blob/0.17.6/LICENSE>`_
+1 -13
View File
@@ -45,18 +45,6 @@ def _compute_best(cls, *arg, **kwargs):
return WheelTag(pyvers, abis, archs)
def _get_vc_env(vc_arch: str) -> dict[str, str]:
try:
from setuptools import distutils # type: ignore[import,attr-defined]
return distutils._msvccompiler._get_vc_env(vc_arch) # type: ignore[no-any-return]
except AttributeError:
from setuptools._distutils import (
_msvccompiler, # type: ignore[import,attr-defined]
)
return _msvccompiler._get_vc_env(vc_arch) # type: ignore[no-any-return,attr-defined]
def _fix_env():
config = get_config()
if sys.platform.startswith("win"):
@@ -64,7 +52,7 @@ def _fix_env():
from setuptools import msvc
is64 = sys.maxsize > 2**32
arch = 'x64' if is64 else 'x86'
ninja_env = _get_vc_env(arch)
ninja_env = msvc.msvc14_get_vc_env(arch)
os.environ.update(ninja_env)
if sys.platform.startswith("darwin"):
+1 -6
View File
@@ -71,12 +71,7 @@ class Versioning:
MA, MI, PA = map(int, tag.split(".")) # 0.9.0 -> (0, 9, 0)
if is_dev:
if MI == 17:
# Special case for the 0.17.0 which is the last version of
# the 0.X.Y series
tag = "1.0.0"
else:
tag = f"{MA}.{MI + 1}.{0}"
tag = f"{MA}.{MI + 1}.{0}"
if count == '0' and not dirty:
return tag
@@ -1,5 +1,5 @@
/* Copyright 2017 - 2026 R. Thomas
* Copyright 2017 - 2026 Quarkslab
/* Copyright 2017 - 2025 R. Thomas
* Copyright 2017 - 2025 Quarkslab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -392,9 +392,6 @@ class Section(lief.Section):
@property
def comdat_info(self) -> Section.ComdatInfo | None: ...
@property
def coff_string(self) -> String: ...
def __str__(self) -> str: ...
class Relocation(lief.Relocation):
@@ -4325,6 +4325,10 @@ class DynamicEntry(lief.Object):
GNU_HASH = 1879047925
TLSDESC_PLT = 1879047926
TLSDESC_GOT = 1879047927
RELACOUNT = 1879048185
RELCOUNT = 1879048186
@@ -1,10 +1,10 @@
from collections.abc import Sequence
import enum
import io
import lief.MachO
import os
from typing import Iterator, Optional, Union, overload
import lief.MachO
import lief
import lief.objc
@@ -641,16 +641,10 @@ class FatBinary:
def raw(self) -> list[int]: ...
def get(self, arg: Header.CPU_TYPE, /) -> Binary: ...
def __len__(self) -> int: ...
@overload
def __getitem__(self, arg: int, /) -> Binary: ...
@overload
def __getitem__(self, arg: Header.CPU_TYPE, /) -> Binary: ...
def __iter__(self) -> FatBinary.it_binaries: ...
def __str__(self) -> str: ...
-2
View File
@@ -326,8 +326,6 @@ class OptionalHeader(lief.Object):
WINDOWS_BOOT_APPLICATION = 16
XBOX_CODE_CATALOG = 17
class DLL_CHARACTERISTICS(enum.IntFlag):
def __repr__(self, /): ...
+2 -255
View File
@@ -2,13 +2,12 @@ from collections.abc import Sequence
import enum
import io
import lief
import lief.ELF
import lief.MachO
import lief.PE
import os
from typing import Iterator, Optional, Union, overload
import lief.ELF
import lief.MachO
from . import (
ART as ART,
Android as Android,
@@ -168,255 +167,6 @@ def hash(arg: str, /) -> int: ... # type: ignore
def to_json(arg: Object, /) -> str: ...
class BinaryStream:
@property
def size(self) -> int: ...
def __bool__(self) -> bool: ...
def __len__(self) -> int: ...
@property
def pos(self) -> int: ...
def increment_pos(self, value: int) -> BinaryStream: ...
def decrement_pos(self, value: int) -> None: ...
def setpos(self, value: int) -> None: ...
def read_uleb128(self) -> tuple[Union[int,lief.lief_errors], int]: ...
def read_sleb128(self) -> tuple[Union[int,lief.lief_errors], int]: ...
def read_dwarf_encoded(self, encoding: int) -> Union[int,lief.lief_errors]: ...
def read_string(self, maxsize: int = 18446744073709551615) -> Union[str,lief.lief_errors]: ...
def peek_string(self, maxsize: int = 18446744073709551615) -> Union[str,lief.lief_errors]: ...
def peek_string_at(self, offset: int, maxsize: int = 18446744073709551615) -> Union[str,lief.lief_errors]: ...
@overload
def read_u16string(self) -> Union[str,lief.lief_errors]: ...
@overload
def read_u16string(self, length: int) -> Union[str,lief.lief_errors]: ...
@overload
def peek_u16string(self) -> Union[str,lief.lief_errors]: ...
@overload
def peek_u16string(self, length: int) -> Union[str,lief.lief_errors]: ...
@overload
def peek_u16string(self, offset: int, length: int) -> Union[str,lief.lief_errors]: ...
def read_mutf8(self, maxsize: int = 18446744073709551615) -> Union[str,lief.lief_errors]: ...
def peek_data(self, offset: int, size: int, virtual_address: int = 0) -> bytes | None: ...
@overload
def read_data(self, size: int) -> bytes | None: ...
@overload
def read_data(self) -> bytes | None: ...
def align(self, align_on: int) -> int: ...
def set_endian_swap(self, swap: bool) -> None: ...
def read_u8(self) -> Union[int,lief.lief_errors]: ...
def read_i8(self) -> Union[int,lief.lief_errors]: ...
@overload
def peek_u8(self) -> Union[int,lief.lief_errors]: ...
@overload
def peek_u8(self, offset: int) -> Union[int,lief.lief_errors]: ...
@overload
def peek_i8(self) -> Union[int,lief.lief_errors]: ...
@overload
def peek_i8(self, offset: int) -> Union[int,lief.lief_errors]: ...
def read_u16(self) -> Union[int,lief.lief_errors]: ...
def read_i16(self) -> Union[int,lief.lief_errors]: ...
@overload
def peek_u16(self) -> Union[int,lief.lief_errors]: ...
@overload
def peek_u16(self, offset: int) -> Union[int,lief.lief_errors]: ...
@overload
def peek_i16(self) -> Union[int,lief.lief_errors]: ...
@overload
def peek_i16(self, offset: int) -> Union[int,lief.lief_errors]: ...
def read_u32(self) -> Union[int,lief.lief_errors]: ...
def read_i32(self) -> Union[int,lief.lief_errors]: ...
@overload
def peek_u32(self) -> Union[int,lief.lief_errors]: ...
@overload
def peek_u32(self, offset: int) -> Union[int,lief.lief_errors]: ...
@overload
def peek_i32(self) -> Union[int,lief.lief_errors]: ...
@overload
def peek_i32(self, offset: int) -> Union[int,lief.lief_errors]: ...
def read_u64(self) -> Union[int,lief.lief_errors]: ...
def read_i64(self) -> Union[int,lief.lief_errors]: ...
@overload
def peek_u64(self) -> Union[int,lief.lief_errors]: ...
@overload
def peek_u64(self, offset: int) -> Union[int,lief.lief_errors]: ...
@overload
def peek_i64(self) -> Union[int,lief.lief_errors]: ...
@overload
def peek_i64(self, offset: int) -> Union[int,lief.lief_errors]: ...
@property
def start(self) -> int: ...
@property
def start_addr(self) -> int: ...
@property
def end(self) -> int: ...
@property
def end_addr(self) -> int: ...
@property
def p(self) -> int: ...
@property
def p_addr(self) -> int: ...
class SpanStream(BinaryStream):
@overload
def slice(self, offset: int, size: int) -> Union[SpanStream,lief.lief_errors]: ...
@overload
def slice(self, offset: int) -> Union[SpanStream,lief.lief_errors]: ...
def to_vector(self) -> Optional[VectorStream]: ...
@property
def content(self) -> bytes: ...
@property
def __bytes__(self) -> bytes: ...
class VectorStream(BinaryStream):
@staticmethod
def from_file(path: Union[str, os.PathLike]) -> Union[VectorStream,lief.lief_errors]: ...
@staticmethod
def from_bytes(buffer: bytes) -> Optional[VectorStream]: ...
@property
def content(self) -> memoryview: ...
@overload
def slice(self, arg0: int, arg1: int, /) -> Optional[SpanStream]: ...
@overload
def slice(self, arg: int, /) -> Optional[SpanStream]: ...
class FileStream(BinaryStream):
@staticmethod
def from_file(arg: Union[str, os.PathLike], /) -> Union[FileStream,lief.lief_errors]: ...
@property
def content(self) -> bytes: ...
class WriteStream:
@overload
def __init__(self) -> None: ...
@overload
def __init__(self, endian_swap: bool) -> None: ...
def reserve(self, size: int) -> WriteStream: ...
def increase_capacity(self, size: int) -> WriteStream: ...
def align(self, alignment: int, fill: int = 0) -> WriteStream: ...
@property
def size(self) -> int: ...
def __len__(self) -> int: ...
@property
def tellp(self) -> int: ...
def seekp(self, pos: int) -> WriteStream: ...
def seek_end(self) -> WriteStream: ...
def pad(self, size: int, value: int = 0) -> WriteStream: ...
def set_endian_swap(self, swap: bool) -> None: ...
@property
def endian_swap(self) -> bool: ...
@property
def raw(self) -> memoryview: ...
def __bytes__(self) -> bytes: ...
def write_u8(self, arg: int, /) -> WriteStream: ...
def write_i8(self, arg: int, /) -> WriteStream: ...
def write_u16(self, arg: int, /) -> WriteStream: ...
def write_i16(self, arg: int, /) -> WriteStream: ...
def write_u32(self, arg: int, /) -> WriteStream: ...
def write_i32(self, arg: int, /) -> WriteStream: ...
def write_u64(self, arg: int, /) -> WriteStream: ...
def write_i64(self, arg: int, /) -> WriteStream: ...
def write_uleb128(self, value: int) -> WriteStream: ...
def write_sleb128(self, value: int) -> WriteStream: ...
@overload
def write(self, s: str) -> WriteStream: ...
@overload
def write(self, buffer: bytes) -> WriteStream: ...
@overload
def write(self, buffer: Sequence[int]) -> WriteStream: ...
@overload
def write(self, other: WriteStream) -> WriteStream: ...
def put(self, c: int) -> WriteStream: ...
class Header(Object):
class ARCHITECTURES(enum.Enum):
@staticmethod
@@ -673,9 +423,6 @@ class Binary(Object):
def load_debug_info(self, path: Union[str | os.PathLike]) -> DebugInfo: ...
@property
def virtual_size(self) -> int: ...
def __str__(self) -> str: ...
class Section(Object):
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More