Commit Graph

16 Commits

Author SHA1 Message Date
Romain Thomas a89bc6df4f Add import hash function as well as ordinal resolver functions (PE part)
For PE binary it's now possible get the *imphash* value through the
lief.PE.get_imphash function. It's also possible to resolve ordinals
imports by using the lief.PE.resolve_ordinals

Resolve #54
2017-07-16 18:02:54 +02:00
Romain Thomas 8c7ceafa82 Handle encoding errors (resolve #59) 2017-07-15 15:10:47 +02:00
Romain Thomas c0bb618307 Update doc 2017-07-01 18:35:10 +02:00
Romain Thomas 99896da627 Add 'PE.Symbol.has_section' python API 2017-06-30 17:24:40 +02:00
Romain Thomas 8ddc71d337 Parse PE Rich Header (resolve #15) 2017-06-27 09:12:40 +02:00
Romain Thomas 907e853b18 Fix some ambiguous API (fix #27)
PE::Binary::get_content_from_virtual_address can now take either:
  Absolute Virtual Address / Relative Virtual Address

In the PE Python API:
  * Merge 'PE.parse_from_raw' and 'PE.parse'
  * Change 'PE.Binary.section_from_virtual_address' to 'PE.Binary.section_from_rva'

In the PE C++ API:
  * Change 'Binary::section_from_virtual_address' to 'Binary::section_from_rva'
2017-06-25 15:11:47 +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 baa1b415ae Enable DOS stub rebuilding
Python API:

  * lief.PE.Binary.dos_stub property
  * lief.PE.Builder.build_dos_stub method

  C++ API:

  * LIEF::PE::Binary::dos_stub setter/getter
  * LIEF::PE::Builder::build_dos_stub method
2017-05-01 20:45:53 +02:00
Romain Thomas b60b36a844 Enable PE hooking
* Add 'hook_function' to hook a PE imported function
  * Add tutorial on PE hooking (resolve #5)
  * Add 'PE::get_import' and 'PE::has_import' to retrieve import
2017-05-01 18:11:37 +02:00
Romain Thomas 2ded57e676 Improve documentation 2017-04-29 10:45:26 +02:00
Romain Thomas c031d7accf Fix #20 2017-04-21 13:59:33 +02:00
Romain Thomas 3ffbb53850 Uniform API name for sections and segments.
ELF:
  - segment.data has been renamed to segment.content
2017-04-17 07:32:30 +02:00
Romain Thomas 8ecba03288 Add 'has_section' and 'has_data_directory' methods to PE::TLS object 2017-04-04 22:25:17 +02:00
Romain Thomas c6a3d198ad Fix error with unicode 2017-04-04 17:22:16 +02:00
Romain Thomas dae0c81eda Fix typo (Algorithm) 2017-04-04 15:34:20 +02:00
Romain Thomas 306a191a03 First public release 2017-03-30 16:56:49 +02:00