Open source, full-featured, multiplatform command line toolkit to work with and analyze PE (Portable Executables) binaries.
git clone https://github.com/mentebinaria/readpe.git
cd readpe
cmake -B build
cmake --build build
NOTE: You may need to install CMake, and OpenSSL using your package manager. Examples:
apt install cmake libssl-dev
yum install cmake3 openssl-devel
cd readpe
sudo cmake --install build
echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/libpe.conf
sudo ldconfig
cd readpe
CFLAGS="-I/usr/local/opt/openssl/include/" LDFLAGS="-L/usr/local/opt/openssl/lib/" cmake -B build
cmake --build build
NOTE: You may need to install CMake, OpenSSL and PCRE via Homebrew:
brew update
brew install cmake openssl
How to build on Windows using Cygwin)
cd readpe
cmake -B build
cmake --build build
NOTE: The following packages must be installed along with your Cygwin:
| Category | Package |
|---|---|
| Archive | zip |
| Devel | binutils |
| Devel | gcc-core |
| Devel | git |
| Devel | cmake |
| Net | libssl-devel |
Open CMakeLists.txt in Visual Studio.
This is still highly experimental and bug reports are highly appriciated.
This repository used to be pev. We just moved the repository from a user account to an organization account.
We also renamed the repository as the original name pev stood for PE Version
and does not reflect the current state of this application. We felt that readpe
was a good name as it is the most prominent tool.
Libpe has been absorbed into this repository since the two repositories are tightly coupled and version controling them together made the most logical sense.
Please install OpenSSL for your system. Use a package manager to make things easier. If you're compiling pev in macOS, make sure you've set both CFLAGS and LDFLAGS environment variables according.
Please check the online documentation for more details.
I get an error while loading shared libraries: libpe.so.1: cannot open shared object file: No such file or directory. How can I fix that?
Please refer to 'How to install on Linux'.
This project is licensed under the GNU General Public License version 2 with the exception of the contents of the lib folder which are licensed under the GNU Lesser General Public License version 3.
A copy of these licenses can be found in the project root directory.
Files included as part of this software from outside sources:
| Files | Project/Author | License |
|---|---|---|
| lib/compat/asprintf.c | Thomas Gamper | BSD-3-Clause |
| lib/compat/strlcat.c | OpenBSD Project | ISC |
| lib/compat/getopt.c | GNU C Library | LGPL-2.1+ |
| lib/compat/include/getopt.h | GNU C Library | LGPL-2.1+ |
| lib/compat/include/unistd.h | win32ports/unistd_h | MIT |
| lib/compat/include/sys/queue.h | FreeBSD Project | BSD-3-Clause |
Furthermore src/dylib.c, src/dylib.h, and src/stack.h were originally written under the MIT License by Jardel Weyrich.
Project can be found here Source code can be found here Licensed under BSD-1-Clause
Project can be found here Licensed under MIT License
Project can be found here Licensed under MIT License
Project can be found here Source Code can be found here Licensed under Apache-2.0