PortEx
======
PortEx is a Ja 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 Ja.
! example
* Reading header information from: MSDOS Header, COFF File Header, Optional Header, Section Table
* Reading PE structures: Imports, Resources, Exports, Debug Directory, Relocations, Delay Load Imports, Bound Imports
* Dumping of sections, resources, o, embedded ZIP, JAR or .class files
* Scanning for file format anomalies, including structural anomalies, deprecated, reserved, wrong or non-default .
* PE file structure, local entropies and byteplot of the file with colors and sizes
* Calculate Shannon Entropy and Chi Squared for files and sections
* Calculate ImpHash and Rich and RichPV hash for files and sections
* Parse RichHeader and checksum
* Calculate and Optional Header checksum
* Scan for PEiD signatures, internal file type 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
* Extraction and con of .ICO files from icons in the resource section
* Extraction of information and manifest from the file
* Reading .NET metadata and streams (Alpha)
For more information have a look at PortEx Wiki and the Documentation
PortexAnalyzer CLI is a command line tool that runs the library PortEx under the hood.
If you are looking for a readily compiled command line PE scanner to analyse files with it, you will find the newest here PortexAnalyzer.jar
The long-term release of the CLI tool is on the releases page.
The GUI is a here: PortexAnalyzerGUI
You can include PortEx to your project by adding the following Ma:
To use a local build, add the library as follows:
Add the dependency as follows in your build.sbt
PortEx is build with sbt
To simply compile the project invoke:
To create a jar:
To compile a fat jar that can be used as command line tool, type:
You can create an eclipse project by using the sbteclipse plugin.
Add the following line to *project/plugins.sbt*:
Generate the project files for Eclipse:
Import the project to Eclipse via the *Import Wizard*.
I develop PortEx and PortexAnalyzer as a hobby in my freetime. If you like it, please consider buying me a coffee:
Karsten Hahn
Twitter/X:
Mastodon:
Bluesky:
Youtube: MalwareAnalysisForHedgehogs
开发语言:Scala
Star 数:538
该项目属于病毒分析方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕Java library to analyse Portable Executable files with a special focus on malware analysis and PE malformation robustness展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | PortEx - Java library to analyse Portable Executable files |
| 所属分类 | 病毒分析 |
| 发布作者 | admin |
| 发布时间 | 2026-10-05 23:18:11 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 93 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |