PortEx- Java Library for Static Analysis of PE File

PortEx is a Java library for static malware analysis of Portable Executable files. Its focus is on PE malformation robustness, and anomaly detection. PortEx is written in Java and Scala, and targeted at Java applications. some of the features are:

  • Reading header information from: MSDOS Header, COFF File Header, Optional Header, Section Table
  • Reading standard section formats: Import Section, Resource Section, Export Section, Debug Section, Relocations
  • Dumping of sections, overlay, embedded ZIP, JAR or .class files
  • Scanning for file anomalies, including structural anomalies, deprecated, reserved, wrong or non-default values. The Beta1 release is able to detect 77 different anomalies.
  • Visualize a PE file structure as it is on disk and visualize the local entropies of the file
  • Calculate Shannon Entropy for files and sections
  • Calculate hash values for files and sections
  • Scan for PEiD signatures or your own signature database
  • Scan for Jar to EXE wrapper (e.g. exe4j, jsmooth, jar2exe, launch4j)
  • Extract Unicode and ASCII strings contained in the file
  • Overlay detection and dumping
  • File scoring based on statistical information

PortEx is free and open source and you can download it over this link: http://katjahahn.github.io/PortEx/

Notify of
1 Comment
Newest Most Voted
Inline Feedbacks
View all comments

Interested in a completely-implemented PE file loader and writer? Do you want to load and run PE files yourself? Generate and link PDB files to already compiled EXE/DLL files? Written in C++?


Demonstration: https://www.youtube.com/watch?v=Vn9YNqm5ny0