166 Commits

Author SHA1 Message Date
Romain Thomas
04dddd3710 Fix alignment issue when removing a PE section 2018-08-10 15:16:29 +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
c6779702b1 Expose Python API to remove ELF static symbols 2018-07-23 13:23:04 +02:00
Romain Thomas
16595316fd Enable write on Fat Mach-O 2018-07-16 13:32:00 +02:00
Romain Thomas
918438c6be Enable to remove sections using the abstract layer 2018-07-09 15:08:39 +02:00
Romain Thomas
957384cd36 Add ELF dtor functions 2018-06-28 16:49:55 +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
a9f3cb8f9b Enable to add relocation associated with symbol
Resolve #184
2018-06-19 09:59:29 +02:00
Romain Thomas
f4e2d81bfe Add Mach-O encryption info command 2018-06-08 16:39:11 +02:00
Romain Thomas
311c7951e6 Fix missing builder 2018-06-08 15:34:21 +02:00
Romain Thomas
cc5617dd75 Fix missing dyldinfo 2018-06-08 15:23:03 +02:00
Romain Thomas
33a2af4b18 Enhance Python binding 2018-06-08 14:58:00 +02:00
Romain Thomas
cd1cc457cf Resolve #119 and enhance ELF Python bindings 2018-06-08 10:48:33 +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
68b0958a2a Set default python version to 3.5
Resolve: #127
2018-05-16 10:32:05 +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
f97751f075 Fix typo 2018-05-10 11:23:21 +02:00
Romain Thomas
e7e0b4678b Update doc 2018-05-10 10:57:38 +02:00
Romain Thomas
3a381ca5fc Fix typo 2018-05-08 18:24:05 +02:00
Romain Thomas
8023aa2ce5 Update python doc 2018-05-07 07:57:07 +02:00
Romain Thomas
60c042fa6e Update OAT doc 2018-05-05 16:07:32 +02:00
Romain Thomas
a47ff2ea66 Update OAT doc 2018-05-05 15:59:43 +02:00
Romain Thomas
d3fe00cc48 Include modules according to cmake options 2018-05-05 11:02:41 +02:00
Romain Thomas
4ef1bb845f Add new formats: OAT, DEX, VDEX, ART 2018-05-04 12:46:28 +02:00
yd0b0N
0bbeaa81e9 Add applies_to field to Relocation
The field contains a pointer to the Section object
the OBJECT Relocation applies to.
2018-05-03 07:34:46 +02:00
yd0b0N
08b514191f Add support for PPC32/64 relocations 2018-05-02 15:15:33 +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
6676d6c91d Fix typo 2018-03-27 21:26:52 +02:00
Romain Thomas
5a6448c00d Explicit is better than implicit:
Add api to specify if the virtual address given to
LIEF::Binary::patch_address or
LIEF::Binary::get_content_from_virtual_address
is relative or absolute
2018-03-27 15:36:08 +02:00
Romain Thomas
4969a4c55a Expose MachO SymbolCommand (LC_SYMTAB) 2018-03-19 16:46:48 +01:00
Romain Thomas
46fa0e9747 Fix #139
API added:
  * PE::ResourceDialog::lang
  * PE::ResourceDialog::sub_lang
2018-03-18 18:16:19 +01:00
Romain Thomas
4e3e87eea4 Fix #136 2018-03-18 18:15:21 +01: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
1418272c2c Expose item iterator 2018-02-19 09:32:01 +01:00
Romain Thomas
eab4a7614f Parse PE Code View (PDB 7.0)
Resolve: #138
2018-02-17 12:50:10 +01:00
Peter
2fca982c8d
Added FreeBSD references to solve install issues
Added FreeBSD as possible target OS. Python3.6 install --user was throwing error about unknown OS. 
these fixes worked on my end.
2018-02-09 10:28:28 +01:00
Romain Thomas
9d93cc5ec4 Update API for MachO RPath. Related to 27575527db50d8c340d94b01e7501c22273654ee 2018-01-18 14:41:48 +01:00
Jakob Rieck
196994dc08 Parse the MachO LC_RPATH command 2017-12-15 00:14:00 +01:00
Romain Thomas
ae4c2a95ee Fix #126 2017-12-11 08:55:40 +01:00
Romain Thomas
1c722d9ff2 Add new ELF relocations 2017-11-25 11:42:00 +01:00
Romain Thomas
4e38d9cf99 Fix #117 2017-11-21 16:59:39 +01:00