freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何使用PortEx分析可移植可执行文件的安全性
2023-05-22 18:11:55
所属地 广西

关于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、其他......

工具下载

命令行版本:【点我下载

GUI版本:【点我下载

除此之外,广大研究人员还可以使用下列命令获取工具源码:

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:【GitHub传送门

参考资料

https://github.com/struppigel/PortEx/wiki

http://struppigel.github.io/PortEx/javadocs/

http://www.scala-sbt.org/

https://ko-fi.com/struppigel

# 可执行文件 # Java代码审计 # 恶意软件检测 # JAVA安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录