8 Commits

Author SHA1 Message Date
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
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
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
8ddc71d337 Parse PE Rich Header (resolve #15) 2017-06-27 09:12:40 +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
d9c6b436b5 Parse ELF notes (resolve #35) 2017-06-11 11:00:41 +02:00
Romain Thomas
306a191a03 First public release 2017-03-30 16:56:49 +02:00