25 Commits

Author SHA1 Message Date
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
5d56141061 Show Mach-O opcodes and export-trie 2018-03-02 09:24:59 +01:00
Romain Thomas
d13db18214 Support the '.note.android.ident' section 2018-02-28 15:45:46 +01:00
Romain Thomas
9d93cc5ec4 Update API for MachO RPath. Related to 27575527db50d8c340d94b01e7501c22273654ee 2018-01-18 14:41:48 +01: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
8caf1515cb Add 'NX' in the abstract layer
API Changes:
  - LIEF::Binary::has_nx() - Added

Resolve: #72
2017-08-02 09:23:55 +02:00
Romain Thomas
2a9b156f99 Abstract PIE
Resolve: #71
2017-08-01 17:57:38 +02:00
Romain Thomas
cbe8354847 Improve API of Mach-O's Header
API changes:
  - 'has_flag' renamed to 'has'
  - 'add' to add a flag - added
  - 'remove' to remove a flag - added
  - operator+= to add a flag - added
  - operator-= to remove a flag - added
2017-08-01 16:32:49 +02:00
Romain Thomas
782295bfb8 Parser Dyld Info in depth (binding, rebases, exports)
Binding and rebase bytes codes are now parsed as well as export info
trie. Through ``RelocationDyld`` we created kind of *virtual* relocation
to modeling relocation process performed by Dyld

API Changes (Python / C++)
  * MachO::RelocationDyld   - Added
  * MachO::RelocationObject - Added
  * MachO::Relocation       - Updated according to previous ones

  * MachO::ExportInfo       - Added
  * MachO::BindingInfo      - Added

  * MachO::DyldInfo::rebase_opcodes    - Added
  * MachO::DyldInfo::bindings          - Added
  * MachO::DyldInfo::bind_opcodes      - Added
  * MachO::DyldInfo::weak_bind_opcodes - Added
  * MachO::DyldInfo::lazy_bind_opcodes - Added
  * MachO::DyldInfo::exports           - Added
  * MachO::DyldInfo::export_trie       - Added

  * MachO::Symbol
    - Tied to MachO::BindingInfo (if any)
    - Tied to MachO::ExportInfo (if any)

  * MachO::Binary::relocations - Added
  * MachO::Binary::has_symbol  - Added
  * MachO::Binary::get_symbol  - Added

Resolve: #67
2017-07-30 17:29:09 +02:00
Romain Thomas
5b993117ed Parse Mach-O 'Version Min' command
Resolve: #44
2017-07-27 15:50:55 +02:00
Romain Thomas
29c8157ecc Parse Mach-O relocations and add MachO API to retrieve section from name
API Update:
  lief.MachO.Section.relocations - to access to the relocations
  lief.MachO.binary.get_section - Get section from name
  lief.MachO.binary.has_section -Check if section with given name exists

Resolve #57
2017-07-17 17:27:28 +02:00
Romain Thomas
c359778194 Parse LC_SOURCE_VERSION. Resolve #45 2017-07-07 21:21:22 +02:00
Romain Thomas
ba9be1f63f Handle exceptions 2017-07-07 16:25:14 +02:00
Romain Thomas
18d89198a0 Parse MachO LC_FUNCTION_STARTS 2017-07-07 08:43:42 +02:00
Romain Thomas
f7cc518dcf Add dyld info to macho_reader 2017-07-06 18:20:22 +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
64b0ddf769 Add changelog 2017-07-01 18:38:43 +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
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
c44a975913 Enhance 'macho_reader.py' 2017-06-23 21:37:23 +02:00
Romain Thomas
306a191a03 First public release 2017-03-30 16:56:49 +02:00