猫头鹰
信安舆情早知道

PortEx:分析PE文件的java库

项目主页

https://github.com/katjahahn/PortEx

PortEx简介

PORTEX是一个PE文件静态恶意软件分析JAVA库,其重点在于PE畸形鲁棒性和异常检测。PortEx是用Java和Scala编写的,并且针对的是Java应用程序。

特征

  • 读取头信息:MSDOS头、COFF文件头、可选头、Section Table
  • 读取标准节格式:Import Section、Resource Section、Export Section、Debug Section、Relocations
  • 转储节、overlay、嵌入ZIP、JAR或.class文件
  • 扫描文件异常,包括结构异常,已弃用、保留、错误或非默认值。
  • 可视化PE文件结构,因为它在磁盘上,并可视化文件的本地熵
  • 计算文件和节的Shannon熵
  • 计算文件和节的哈希值
  • 扫描PEiD签名或自己的签名数据库
  • 扫描Jar到EXE包装器(例如exe4j,jsmooth,jar2exe,launch4j)
  • 提取文件中包含的Unicode和ASCII字符串
  • Overlay检测和转储
  • 从resource section提取ICO文件
  • 从文件中提取版本信息

更多PortEx信息请参阅PortEx Wiki文档

使用PortEx

包含PortEx到Maven项目

可以通过添加以下Maven依赖项将PortEx包含到项目中:

<dependency>
   <groupId>com.github.katjahahn</groupId>
   <artifactId>portex_2.10</artifactId>
   <version>2.0.8</version>
</dependency>

要使用本地构建,请按如下所示添加库:

<dependency>
   <groupId>com.github.katjahahn</groupId>
   <artifactId>portex_2.10</artifactId>
   <version>2.0.8</version>
   <scope>system</scope>
   <systemPath>$PORTEXDIR/target/scala-2.10/portex_2.10-2.0.6.jar</systemPath>
</dependency>

将PortEx包括到SBT项目

在build.sbt中添加如下的依赖关系:

libraryDependencies += "com.github.katjahahn" % "portex_2.10" % "2.0.2"

创建PortEx

Requirements

PortEx是用sbt构建的

用sbt编译和构建

简单地编译项目调用:

$ sbt compile

创建jar:

$ sbt package

要编译可用作命令行工具的fat jar,输入以下命令:

$ sbt assembly

创建Eclipse项目

可以使用sbteclipse插件创建一个eclipse项目。 将以下行添加到project / plugins.sbt:

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.4.0")

生成Eclipse的项目文件:

$ sbt eclipse

通过导入向导将项目导入Eclipse。

转载请注明来自MottoIN,未经允许不得转载!MottoIN » PortEx:分析PE文件的java库

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

MottoIN 换一个角度看安全

寻求报道联系我们