96 Commits

Author SHA1 Message Date
Romain Thomas
6720ed2385 Update copyright 2021-01-16 18:17:17 +01:00
Romain Thomas
9b49d5d4ab Fix test 2021-01-16 09:44:51 +01:00
Romain Thomas
e6c606e78a Update tests 2021-01-16 09:44:51 +01:00
Romain Thomas
d29a74996b Process PKCS #9 counter signature and enhance signature verification 2021-01-16 09:44:51 +01:00
rthomas
634c2fc98e Enhance PE Authenticode 2021-01-16 09:44:51 +01:00
rthomas
1364f22c78 Improve logging interface 2020-11-09 21:02:50 +01:00
rthomas
d6753b17c5 Fix error 2020-10-10 11:01:05 +02:00
rthomas
2e65a94b7c Export binding's original offset 2020-10-09 18:42:52 +02:00
Romain Thomas
eeddc38393 Handle PE forwarded exports
Resolve: #307
2019-12-10 06:33:48 +01:00
rthomas
4105c31f61 Missing import 2019-11-08 16:05:59 +01:00
Andrew Williams
20f46e74a3 Unify SignerInfo issuer field format (#319)
* Unify SignerInfo issuer field format

This makes it so that the SignerInfo issuer field has the same
format as the issuer fields in each x509 cert, so the two can
be more easily compared.

Also, this commit adds '0x' in front of the Data Directory
RVAs and sizes to make it more clear that the values are printed
in hex.

* Add missing include in SignerInfo.cpp

* Address Codacy feedback and minor change to text

The serial number of the signing certificate will now be
printed as 'Serial Number' instead of 'Issuer Serial Number'
since the latter is a bit confusing (the serial number in
the SignerInfo section is the serial number of the certificate
that actually signed the executable)

* Update python pe_reader example based on issuer changes
2019-07-25 11:38:42 +02:00
Romain Thomas
7ff0859879 Fix terminal columns 2019-06-23 10:20:21 +02:00
Cédric Tessier
9fc3a8a433 Add coredump support in LIEF 2019-04-18 07:17:46 +02:00
Romain Thomas
8d7ec26a93 Add ELF ABI Version 2018-12-30 20:27:53 +01:00
1orenz0
3537440b8d Add support to parse POGO debug entries 2018-12-16 16:34:12 +01:00
Romain Thomas
6f967238fc Introduce Mach-O Build Version command
New API:
  LIEF::MachO::BuildVersion
  LIEF::MachO::BuildToolVersion

  LIEF::MachO::Binary::has_build_version
  LIEF::MachO::Binary::build_version
2018-12-13 15:37:19 +01:00
Romain Thomas
decb8621f8 Enhancement 2018-10-01 10:40:58 +02:00
Romain Thomas
b5a08463ad Expose API to list functions found in a binary 2018-09-12 14:44:18 +02:00
Romain Thomas
2d603ede82 Move from fatal to error 2018-08-12 10:55:32 +02:00
Romain Thomas
1f875dbea8 Fix error 2018-08-10 11:15:49 +02:00
Romain Thomas
02f4851c9f Return string located in the .rodata section
New API: lief.ELF.Binary.strings / LIEF::ELF::Binary::strings()
2018-07-27 10:56:41 +02:00
Romain Thomas
16595316fd Enable write on Fat Mach-O 2018-07-16 13:32:00 +02:00
Romain Thomas
9268a35c68 Bug fix: Exit too early 2018-07-16 08:58:26 +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
67d924a220 Add constructor functions in the abstract layer
New API:
  * LIEF::ELF::Binary::get_relocation
  * LIEF::Binary::ctor_functions
2018-06-19 15:27:35 +02:00
Romain Thomas
f4e2d81bfe Add Mach-O encryption info command 2018-06-08 16:39:11 +02:00
Romain Thomas
163cd3bcc9 Expose ELF relocation info 2018-06-06 14:13:07 +02:00
Romain Thomas
4fcfba0cbf Enhance Dylib version API 2018-05-16 10:35:51 +02:00
Romain Thomas
9e3b5b45f7 Support new Mach-O command:
* Segment split info
  * Sub framework
  * Dyld environment
2018-05-14 16:34:45 +02:00
Romain Thomas
5d9645847b Change logging level from DEBUG to INFO 2018-05-10 10:57:38 +02:00
Romain Thomas
4ef1bb845f Add new formats: OAT, DEX, VDEX, ART 2018-05-04 12:46:28 +02:00
Romain Thomas
db26017872 Remove debug message 2018-04-23 09:37:41 +02:00
Romain Thomas
4ef839c3d8 Enhance BinaryStream Interface 2018-04-15 08:55:23 +02:00
Romain Thomas
a16e1c4d13 Expose DataInCode 2018-04-02 08:21:15 +02:00
Romain Thomas
9cadce30e7 Expose basic structure of code signature 2018-04-02 08:21:15 +02:00
Romain Thomas
237611f859 Expose the Dynamic symbol command 2018-03-28 16:14:56 +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
df3d269e23 Enhance ELF symbols 2018-03-07 12:51:28 +01:00
Romain Thomas
5d56141061 Show Mach-O opcodes and export-trie 2018-03-02 09:24:59 +01:00
Romain Thomas
a40da3e3b4 Enable to export and create dynamic symbols
New API:

  * Binary::{has_dynamic_symbol, has_static_symbol}
  * Binary::{get_dynamic_symbol, get_static_symbol}
  * Binary::add_exported_function
  * Binary::export_symbol

  * Symbol::visibility
  * SymbolVersion::local / SymbolVersion::global

Resolve #112
2018-02-28 16:18:33 +01:00
Romain Thomas
d13db18214 Support the '.note.android.ident' section 2018-02-28 15:45:46 +01:00
Romain Thomas
eab4a7614f Parse PE Code View (PDB 7.0)
Resolve: #138
2018-02-17 12:50:10 +01:00
Romain Thomas
9d93cc5ec4 Update API for MachO RPath. Related to 27575527db50d8c340d94b01e7501c22273654ee 2018-01-18 14:41:48 +01:00
Romain Thomas
0234e3b8bb Parse the PE Load Configuration structure 2017-10-06 07:55:58 +02:00
Romain Thomas
9036a2405d Bug fix in dynamic symbols counting based on GnuHash
API Changes (ELF):

  * ELF::GnuHash::{check_bloom_filter, check_bucket, check}
2017-09-23 14:08:52 +02:00
Romain Thomas
accf47ebf2 Fix performances issues
Fix #94
2017-09-20 13:58:19 +02:00
Romain Thomas
23257830b2 Parse the MachO LC_THREAD/LC_UNIXTHREAD command
New object: MachO::ThreadCommand

Resolve: #89
2017-09-13 17:42:05 +02:00
Romain Thomas
d18074c840 Fix typo in file name 2017-09-07 13:50:58 +02:00
Romain Thomas
b2d36940f6 Enable ELF interpreter modification (without size restriction)
See: 'examples/python/changer_elf_interpreter.py' for usage

Resolve: #86
2017-09-07 13:37:09 +02:00
Romain Thomas
f3e7c8d14b Add encoding 2017-09-05 22:40:22 +02:00