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
This commit is contained in:
Romain Thomas
2017-07-30 17:22:09 +02:00
parent 8d25408ffb
commit 782295bfb8
52 changed files with 3789 additions and 309 deletions
+2
View File
@@ -68,6 +68,8 @@ void init_LIEF_iterators(py::module& m) {
init_ref_iterator<LIEF::MachO::it_libraries>(m);
init_ref_iterator<LIEF::MachO::it_segments>(m);
init_ref_iterator<LIEF::MachO::it_sections>(m);
init_ref_iterator<LIEF::MachO::it_binding_info>(m);
init_ref_iterator<LIEF::MachO::it_export_info>(m);
#endif
}