Romain Thomas
38e5565568
Abstract pdb::Type::{size, name}
2026-02-14 10:55:16 +01:00
Romain Thomas
21cf565261
Update copyright
2026-01-11 22:04:09 +01: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
84f963a716
Initial support for the COFF format
...
Resolve #1091
2025-06-08 20:01:21 +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
Cristian Le
0e72c53729
Include GNUInstallDirs unconditionally
2025-05-06 07:34:08 +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
2c0bf31cc0
++year
2025-01-01 09:49:21 +01:00
Romain Thomas
f7a127eac3
Initial disassembler support
2024-11-02 16:42:41 +01:00
Romain Thomas
442fb46395
Initial support for Apple's dyld shared cache
2024-10-19 06:29:24 +02:00
Romain Thomas
b2b7fb96ec
Add support for extensions.
2024-07-13 07:51:52 +02:00
Romain Thomas
2a31841aec
Update logging interface
2024-06-22 05:49:59 +02:00
Romain Thomas
35b201bdf0
Cleaup examples
2024-06-22 05:26:42 +02:00
Romain Thomas
393fc9cabb
Cleanup CMake
2024-06-22 05:19:20 +02:00
Romain Thomas
e46074212d
Re-scope Mach-O enums
2024-05-09 06:02:00 +02:00
Romain Thomas
b2b56a7107
Replace std::endl with \n
2024-05-05 23:31:23 +02:00
Romain Thomas
9c5c513dd5
Fix heap-buffer-overflow as described in issue #1049
2024-04-28 16:52:24 +02:00
Romain Thomas
6d1a230da2
Rename master branch into main
2024-04-27 06:19:02 +02:00
Romain Thomas
307e113f8e
Resolve #1038
2024-03-30 07:14:40 +01:00
Romain Thomas
ec17282da3
Update documentation
2024-03-17 05:45:45 +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
1eb2df6e47
Use a CMakeLists.txt in the src/ directory
2023-11-04 05:31:13 +01:00
Romain Thomas
78006bc772
New build backend based on scikit-build-core
2023-11-04 04:06:51 +01: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
9f66386cef
Fix removed attribute
2023-04-28 06:30:32 +02:00
Romain Thomas
cfe89fdc3c
Bump version
2023-04-15 13:16:25 +02:00
Romain Thomas
656c6b4fdd
Fix warning
2023-03-25 07:19:39 +01:00
Romain Thomas
9da2466609
Improve the LIEF Python build system by using pyproject.toml
...
- It also provides typing info (close #650 )
- Enhance the test suite
- Remove deprecated PE functions
2023-02-19 20:19:03 +01:00
Romain Thomas
969411f8ef
Welcome 2023
2023-01-03 10:38:09 +01:00
Romain Thomas
1149e81c2b
Merge pull request #849 from mrexodia/msvc-runtime
...
Fix MSVC runtime selection
2023-01-03 09:20:42 +00:00
Duncan Ogilvie
bbdc62f691
Fix MSVC runtime selection
2023-01-02 17:30:42 +01:00
Romain Thomas
a12a522410
Backport check from #846
2022-12-17 13:22:17 +01:00
Romain Thomas
eac0bd7141
Backport check from liyansong2018 ( #845 / #846 )
2022-12-17 11:19:38 +01:00
liyansong2018
b42b5e68be
Check ELF section
2022-12-09 22:12:54 -05:00
liyansong2018
0d21ae733e
Avoid null pointer in c-api
2022-12-07 04:25:43 -05:00
Romain Thomas
91d5162be4
Enable support for parsing a Mach-O from memory
2022-11-22 10:55:15 +01:00
Romain Thomas
e1a8244b92
Enhance Mach-O's builder and add support for recent LC commands
2022-04-16 15:10:56 +02:00
Romain Thomas
266f989e52
Enable support for modifying section-less ELF binaries
2022-04-03 19:34:44 +02:00
Romain Thomas
baa023b914
Remove exceptions
2022-04-01 05:38:30 +02:00
Romain Thomas
724cf995f3
Check if the binary is None
2022-03-01 06:34:41 +01:00
Romain Thomas
ba54ea632b
Add support for PE delayed imports
...
Resolve #664
2022-03-01 06:18:44 +01:00
Eric Kilmer
79b9caf424
Minor fixup/cleanup for consistency in example(s)
2022-02-27 19:46:01 -05:00
Eric Kilmer
a2a9d1b137
Export LIEF targets with CMake
...
With these changes, we no longer need to manually find the LIEF library
by filename. CMake takes care of generating the LIEF::LIEF target and
library location for us in the exported target set. This is basically a
requirement when using external dependencies because the original
functionality did not take care of this.
I have updated the example projects to make sure that they will work
with this new setup. In doing so, I changed quite a bit to more closely
follow CMake best practices that I hope we can agree on to both improve
reliability and reduce maintenance and support questions for people who
configure LIEF with external dependencies.
This project still supports finding static or shared LIEF libraries in
the same install prefix using the find_package COMPONENTS method.
This project still supports development of other projects that want to
use LIEF without installing. Just specify the following option during
configuration of your project that depends on LIEF:
```cmake
cmake -DLIEF_DIR=<LIEF_BUILD_DIR> ...
```
2022-02-25 19:02:36 -05: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
rthomas
a615adbee4
This commit cleans and modernizes the code base of LIEF.
...
Among the changes:
- It removes the ``and, or, not`` keywords
- It updates the Documentation
- It moves the internal structures in the ``details::`` namespace
2022-01-27 20:18:54 +01:00