关于PortEx
PortEx是一款功能强大的可执行文件安全分析工具,该工具本质上是一个Java库,可以帮助广大研究人员对可移植可执行文件执行静态恶意软件分析。该工具主要针对的是PE恶意信息的鲁棒性和异常检测。
PortEx基于Java和Scala开发,主要针对的是Java应用程序的安全问题。
功能介绍
1、从MSDOS头、COFF文件头、Optional头和Section表读取Header信息;
2、读取PE结构:Import、Resources、Export、调试目录、Relocation
、Delay Load Import、Bound Import;
3、转储Resources、嵌入式ZIP、JAR或.class文件;
4、扫描文件格式异常,包括结构异常、弃用、保留、错误和非默认值;
5、以颜色高亮形式可视化PE文件结构、文件的局部熵和字节图;
6、仅算文件的香浓熵和卡方;
7、计算文件的ImpHash和RichPV哈希值;
8、解析RichHeader并验证校验和;
9、扫描PEiD签名、内部文件类型签名和签名数据库;
10、扫描Jar-to-EXE封装器,例如exe4j、jsmooth、jar2exe、launch4j等;
11、提取文件中包含的Unicode和ASCII字符串;
12、从Resource字段提取.ICO图标文件;
13、从文件中提取版本信息和Manifest配置;
14、其他......
工具下载
命令行版本:
https://github.com/katjahahn/PortEx/raw/master/progs/PortexAnalyzer.jar
GUI版本:
https://github.com/struppigel/PortexAnalyzerGUI
除此之外,广大研究人员还可以使用下列命令获取工具源码:
git
clone
https:
//github.com/struppigel/PortEx.git
(向右滑动,查看更多)
工具使用
将PortEx引入到一个Maven项目中
我们通过添加下列Maven依赖,将PortEx引入到你自己的项目之中:
<
dependency
>
<
groupId
>
com.github.katjahahn
</
groupId
>
<
artifactId
>
portex_2.12
</
artifactId
>
<
version
>
4.0.0
</
version
>
</
dependency
>
(向右滑动,查看更多)
如需使用本地构建,请添加下列库:
<
dependency
>
<
groupId
>
com.github.katjahahn
</
groupId
>
<
artifactId
>
portex_2.12
</
artifactId
>
<
version
>
4.0.0
</
version
>
<
scope
>
system
</
scope
>
<
systemPath
>
$PORTEXDIR/target/scala-2.12/portex_2.12-4.0.0.jar
</
systemPath
>
</
dependency
>
(向右滑动,查看更多)
将PortEx引入到一个SBT项目中
将下列依赖组件添加到你的build.sbt文件中:
libraryDependencies +=
"com.github.katjahahn"
%
"portex_2.12"
%
"4.0.0"
(向右滑动,查看更多)
PortEx构建
工具依赖
PortEx使用sbt进行构建。
使用sbt编译和构建代码
编译调用的项目:
sbt compile
创建一个jar:
sbt package
编译jar并在命令行工具中使用:
sbt assembly
创建Eclipse项目
我们还可以通过使用sbteclipse插件创建一个eclipse项目。将下列内容添加到project/plugins.sbt文件中:
addSbtPlugin
("
com
.typesafe
.sbteclipse
" % "
sbteclipse-plugin
" % "2
.4
.0
")
(向右滑动,查看更多)
为Eclipse生成项目文件:
sbt eclipse
通过Import Wizard将项目导入到Eclipse中即可。
工具运行截图
许可证协议
本项目的开发与发布遵循Apache-2.0开源许可证协议。
项目地址
PortEx:https://github.com/struppigel/PortEx
https://github.com/struppigel/PortEx/wiki
http://struppigel.github.io/PortEx/javadocs/
http://www.scala-sbt.org/
https://ko-fi.com/struppigel
原文始发于微信公众号(FreeBuf):如何使用PortEx分析可移植可执行文件的安全性
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论