如何使用PortEx分析可移植可执行文件的安全性

新闻资讯   2023-06-06 21:17   48   0  


 关于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",如有侵权,请联系管理员删除!

博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。