Adrien Guinet
b69fc05107
fat_offset API for MachO binaries within FAT MachO
2017-07-15 14:48:41 +02:00
Romain Thomas
15937dee41
Fix typo
2017-07-13 08:53:52 +02:00
Adrien Guinet
9de39bf2d9
Add virtual_address_to_offset to MachO::Binary Python API
2017-07-12 07:38:33 -07:00
Romain Thomas
483b8dc2ea
Parse relocations in ELF object file ( Resolve #51 )
...
New API:
* lief.ELF.Binary.object_relocations - Object relocations
* lief.ELF.Binary.relocations - All relocations(plt/got, dynamic, obj)
2017-07-11 20:09:19 +02:00
Romain Thomas
b7b0bde4d5
Add a *purpose* property to ELF relocations
...
Adding such property enables to store plt/got and dynamic relocations
in a same container. (related to #51 )
2017-07-11 11:22:21 +02:00
Romain Thomas
0b4bb7d565
Update doc for Mach-O Source Version
2017-07-08 08:45:29 +02:00
Romain Thomas
c359778194
Parse LC_SOURCE_VERSION. Resolve #45
2017-07-07 21:21:22 +02:00
Romain Thomas
18d89198a0
Parse MachO LC_FUNCTION_STARTS
2017-07-07 08:43:42 +02:00
Romain Thomas
0e972d69ce
Add Mach-O/dyld_info API
2017-07-05 13:43:28 +02:00
Romain Thomas
e2b81e0a8e
Parse MachO Dyld Info, add Python API and update doc
2017-07-04 14:46:48 +02:00
Romain Thomas
c0bb618307
Update doc
2017-07-01 18:35:10 +02:00
Romain Thomas
99896da627
Add 'PE.Symbol.has_section' python API
2017-06-30 17:24:40 +02:00
Romain Thomas
25b9985c80
Add relocation size
2017-06-28 17:45:32 +02:00
Romain Thomas
744c24518c
Add the endianness in the abstraction layer ( resolve #29 )
2017-06-28 07:50:00 +02:00
Romain Thomas
8ddc71d337
Parse PE Rich Header ( resolve #15 )
2017-06-27 09:12:40 +02:00
Romain Thomas
b37c608cbd
Enhance MachO API
...
* Add API to retrieve UUID, Main, Dylinker command
* Add Python API for UUID, Main, Dylinker command
2017-06-25 19:34:45 +02:00
Romain Thomas
907e853b18
Fix some ambiguous API ( fix #27 )
...
PE::Binary::get_content_from_virtual_address can now take either:
Absolute Virtual Address / Relative Virtual Address
In the PE Python API:
* Merge 'PE.parse_from_raw' and 'PE.parse'
* Change 'PE.Binary.section_from_virtual_address' to 'PE.Binary.section_from_rva'
In the PE C++ API:
* Change 'Binary::section_from_virtual_address' to 'Binary::section_from_rva'
2017-06-25 15:11:47 +02:00
Romain Thomas
a57139afea
Fix conflict between OSX uuid_t and LIEF uuid_t
2017-06-24 08:19:04 +02:00
Romain Thomas
0622118cbc
Add API for Mach-O UUID object
2017-06-23 21:37:40 +02:00
Romain Thomas
c44a975913
Enhance 'macho_reader.py'
2017-06-23 21:37:23 +02:00
Romain Thomas
e4cd61e4bf
Serialize PE object into json ( resolve #18 )
2017-06-14 10:17:45 +02:00
Romain Thomas
733053bc63
Enhance PE resources
...
* Improve Resource Manager
* Fix bug when rebuilding resources (aligment issue)
* Provide a Python API to access to the resource tree
* Pretty print lang/sublang of resources
* Parse resource dialog
* Parse resource icons
* Parse resource version
* Add tests on the resource builder
* Add tutorial (related to #28 )
2017-06-11 16:47:16 +02:00
Romain Thomas
a8e1e40e1e
Update doc
2017-06-11 16:21:30 +02:00
Romain Thomas
6d70333f64
Implement equals operators for ELF::GnuHash
2017-06-11 16:02:01 +02:00
Romain Thomas
37cd8aa3cc
Resolve #36
2017-06-11 15:26:42 +02:00
Romain Thomas
d9c6b436b5
Parse ELF notes ( resolve #35 )
2017-06-11 11:00:41 +02:00
Romain Thomas
caceb3a527
Improve abstraction layer
...
* Enable bitness through ``LIEF::Header::is_32`` and
``LIEF::Header::is_64` (See #29 )
* Add ``modes`` ot the Python API
* Abstract binary object type (executable, library...)
2017-05-06 17:45:04 +02:00
Romain Thomas
ffa51ada1d
Bug fix in abstract layer for MachO binaries without entrypoint (library)
...
* MachO API: add ``has_entrypoint``
2017-05-06 17:06:18 +02:00
Romain Thomas
77d43f9db4
Fully handle section-less ELF binaries
...
* Fix #25
* ELF `tiny` binaries are now handled (see #7 )
* Computation of dynamic symbols can be done with differents methods:
hash table, sections and relocations. (See LIEF::ELF::DYNSYM_COUNT_METHODS)
* ELF parser can be configured to use one of the DYNSYM_COUNT_METHODS
* Improve tests
2017-05-06 16:18:02 +02:00
Romain Thomas
baa1b415ae
Enable DOS stub rebuilding
...
Python API:
* lief.PE.Binary.dos_stub property
* lief.PE.Builder.build_dos_stub method
C++ API:
* LIEF::PE::Binary::dos_stub setter/getter
* LIEF::PE::Builder::build_dos_stub method
2017-05-01 20:45:53 +02:00
Romain Thomas
b60b36a844
Enable PE hooking
...
* Add 'hook_function' to hook a PE imported function
* Add tutorial on PE hooking (resolve #5 )
* Add 'PE::get_import' and 'PE::has_import' to retrieve import
2017-05-01 18:11:37 +02:00
Romain Thomas
2a737b5d02
Change to version 'v2.1.1'
2017-04-29 20:23:26 +02:00
Romain Thomas
2ded57e676
Improve documentation
2017-04-29 10:45:26 +02:00
Jessy Campos
27c78a3715
Grouping src files and headers in order to display them correctly in VS Solution Explorer
2017-04-25 12:41:21 -04:00
Romain Thomas
c031d7accf
Fix #20
2017-04-21 13:59:33 +02:00
Romain Thomas
3ffbb53850
Uniform API name for sections and segments.
...
ELF:
- segment.data has been renamed to segment.content
2017-04-17 07:32:30 +02:00
Romain Thomas
a7ef358f33
Disable '-Wno-macro-redefined' when not available
2017-04-16 10:40:30 +02:00
Romain Thomas
99042451d8
Add function to apply a permutation on the dynamic symbols
2017-04-07 11:06:04 +02:00
Romain Thomas
4df7c5bb84
Fix typo
2017-04-06 14:42:45 +02:00
Romain Thomas
d75fd098b9
Enclose paths within quotes ( fix #9 )
2017-04-05 15:33:18 +02:00
Romain Thomas
8ecba03288
Add 'has_section' and 'has_data_directory' methods to PE::TLS object
2017-04-04 22:25:17 +02:00
Romain Thomas
044fa78513
Change pybind11 version
2017-04-04 19:01:02 +02:00
Romain Thomas
c6a3d198ad
Fix error with unicode
2017-04-04 17:22:16 +02:00
Romain Thomas
e100c60417
Fix typos
2017-04-04 16:32:41 +02:00
Romain Thomas
dae0c81eda
Fix typo (Algorithm)
2017-04-04 15:34:20 +02:00
Romain Thomas
306a191a03
First public release
2017-03-30 16:56:49 +02:00