19 Commits

Author SHA1 Message Date
e0dfc827b3 Merge remote-tracking branch 'main/master' into HEAD 2021-02-08 14:17:51 +03:00
passthecilantro
327a524de1
Fix #1115 (#139)
Co-authored-by: William Woodruff <william.woodruff@trailofbits.com>
Co-authored-by: William Woodruff <william@trailofbits.com>
2020-09-25 15:48:28 -04:00
passthecilantro
a54ea62286
Rename libpe-parser-library -> libpe-parse (#138)
Co-authored-by: William Woodruff <william@yossarian.net>
2020-09-23 23:20:49 -04:00
William Woodruff
79a2333a8b
treewide: CI, cmake fixes (#132)
Massages the pe-parse build into a format that's more accomodating
for vcpkg, in preparation for imminent packaging.
2020-04-24 13:48:46 -04:00
Eric Kilmer
566e4f6f8b
Pass resource by const pointer instead of value (#127)
* Pass resource by const pointer instead of value

Found/Suggested by LGTM:

This parameter of type resource is 128 bytes - consider passing a const
pointer/reference instead.

* Fix pepy

* resource by reference

* Change other iter* functions to be consistent pass by const reference
2020-04-06 10:48:33 -04:00
William Woodruff
14849a5e66
CMake: Set minimum to 3.12 (#117) 2020-03-27 11:50:36 -04:00
William Woodruff
a27dca9321
CMake: Set minimum to 3.11 (#116)
This was incorrectly set to 3.7, despite
add_compile_definitions appearing in 3.11.
2020-03-27 11:42:49 -04:00
a.yankovich
d7fa0b2d4b Merge remote-tracking branch 'rem/master' 2019-12-23 18:37:16 +03:00
Stefan Siegfried
bd68ba418f Populate Rich header version strings (#94) 2019-11-16 17:45:55 +01:00
William Woodruff
fe719c9b87
pe-parser-library, dump-pe: Windows.h accommodations (#99)
Makes it easier to use pe-parse in a translation unit where
Windows.h is also included.
2019-10-27 21:36:27 -04:00
William Woodruff
2c775e5d6a
Directory entry retrieval (#90)
* pe-parser-library: Directory entry extraction

Also runs clang-format on all library files.

* dump-pe: Refactor, clang-format

* pe-parser-library: Use enum for directory kinds

* travis: Refactor

* travis: Fixup stages

* travis: Fix matrix

* examples, pe-parser-library, pepy: clang-format

* travis: Use minimal for lint

* travis: Use find

* clang-format: Remove old option

* travis: More experimentation

* travis: Move addons

* travis: Remove coverity

* travis: Hackery

* travis: Move addons up

* .travis: clang-format-8

* examples: clang-format

* travis: Fix homebrew

* CONTRIBUTING: Add contrib guidelines

* travis: Build python ext, reenable coverity

Remove old build files.

* travis: Re-add coverity secret

* travis: Build with coverity in a separate dir
2019-10-21 09:00:54 -04:00
b69a5fdcbb Merge remote-tracking branch 'r/master' 2019-10-16 12:01:56 +03:00
Stefan Siegfried
1544c61c38 Initial impl. of Rich header parser. (#89)
* Initial impl. of Rich header parser. Closes trailofbits/pe-parse#83

* Fix const correctness per @woodruffw PR review
2019-10-14 15:57:54 -04:00
cc1c28adc3 remove qt dependencies 2019-03-25 15:34:26 +03:00
e2aa74a854 qmake support added 2019-03-25 15:27:06 +03:00
Jack Williams
724247d321 Goodness for dump-pe utility (#80) 2018-10-16 17:37:48 -04:00
Jack Williams
766b183a1b Explicit use of std namespace, prefer std::vector over std::list, never use std::endl (#74) 2018-09-24 11:10:29 -04:00
William Woodruff
78869e5337
cmake: Bump minimum version to 3.7 (#78) 2018-09-21 17:29:29 -04:00
Alessandro Gario
b60b908fa2 Install public headers, add Arch package, build pepy under Travis and more (#57)
* CMake: Added install directives

* CMake: Added support for find_package(pe-parse)

* Fixed a compilation error on Linux

* CMake: Fix cmake module installation

* Added ArchLinux package

* Finished implementing the address converted example

* peaddrconv: Print the image base address.

* peaddrconv: Enable more warnings.

* Update travis to also build the examples

* Fix a compilation warning on Ubuntu 14.04

* Travis: Add macOS support.

* Better output for Travis, fix a compilation error on macOS.

* Travis: Do not build examples under macOS.

* Travis: Also compile the python module (pepy)

* Readme: Add a section to show how to use the library.

* Windows: Fix a compilation error, enable /analyze (see details).

The nt-headers.h include file is defining several constexpr values
using reserved (by windows.h) names.

These names (i.e.: IMAGE_FILE_MACHINE_UNKNOWN) are in fact macros
defined inside the Windows header files, and causes the preprocessor
to break definitions such as the following one:

constexpr std::uint16_t IMAGE_FILE_MACHINE_UNKNOWN = 0x0;

The fix (for now) consists in including the nt-headers.h file before
windows.h, but we should probably choose whether to use different
names or avoid defining those values (since they are inside the
system header anyway).
2017-11-25 16:01:53 -05:00