Skip to content

Jar Analyzer - 一个JAR包分析工具,批量分析搜索,方法调用关系搜索,字符串搜索,Spring分析,CFG分析,JVM Stack Frame分析,远程分析Tomcat,进阶表达式搜索,自定义SQL查询,字节码查看,命令行分析,使用简易RASP保护

License

jar-analyzer/jar-analyzer

Repository files navigation

Jar-Analyzer V2

CHANGE LOG

Jar Analyzer 是一个分析 Jar 文件的 GUI 工具:

  • 支持大 Jar 以及批量 Jars 分析
  • 方便地搜索方法之间的调用关系
  • 分析 LDC 指令定位 Jar 中的字符串
  • 一键分析 Spring Controller/Mapping
  • 对于方法字节码和指令的高级分析
  • 一键反编译,优化对内部类的处理
  • 一键生成方法的 CFG 分析结果
  • 一键生成方法的 Stack Frame 分析结果
  • 远程分析 Tomcat 中的 Servlet 等组件
  • 自定义 SQL 语句进行高级分析
  • 集成 ClazzSearcher 项目作为命令行分析版本
  • 允许从字节码层面直接修改方法名(测试功能)
  • 自从 2.14 版本之后支持了全屏显示的功能
  • 自从 2.15 版本后支持代码区域字符串搜索功能
  • 自从 2.15 版本后支持通过 HTTP 分析远程文件

更多的功能正在开发中

有问题和建议欢迎提 issue

前往下载 (已提供国内下载地址)

Jar Analyzer 的用途

  • 场景1:从大量 JAR 中分析某个方法在哪个 JAR 里定义(精确到具体类具体方法)
  • 场景2:从大量 JAR 中分析哪里调用了 Runtime.exec 方法(精确到具体类具体方法)
  • 场景3:从大量 JAR 中分析字符串 ${jndi 出现在哪些方法(精确到具体类具体方法)
  • 场景4:从大量 JAR 中分析有哪些 Spring Controller/Mapping 信息(精确到具体类具体方法)
  • 场景5:你需要深入地分析某个方法中 JVM 指令调用的传参(带有图形界面)
  • 场景6:你需要深入地分析某个方法中 JVM 指令和栈帧的状态(带有图形界面)
  • 场景7:你需要深入地分析某个方法的 Control Flow Graph (带有图形界面)
  • 场景8:你有一个 Tomcat 需要远程分析其中的 Servlet/Filter/Listener 信息
  • 场景9:查实现接口 A 继承接口 B 类注解 C 且方法名 test 方法内调用 Da 方法的方法

相关

虽然 Jar Analyzer 使用了简易的 RASP 进行保护,但仍然可能存在安全漏洞,我们会第一时间进行修复

漏洞公告

文章

视频

BUILD

编译和构建过程如下:

  1. 构建核心项目 mvn -B clean package -DskipTests --file pom.xml
  2. 构建agent子项目 mvn -B clean package -DskipTests --file agent\pom.xml
  3. 构建命令行子项目 mvn -B clean package -DskipTests --file class-searcher\pom.xml
  4. 构建rasp子项目 mvn -B clean package -DskipTests --file jar-analyzer-rasp\pom.xml
  5. 使用cmake构建native目录的C代码生成dll文件放入resources
  6. 使用winresgcc构建启动exe文件和图标信息
  7. 参考build.pybuild.yml文件进行最终的文件合并和版本构建

截图

方法调用关系

方法调用搜索 (支持 equals/like 选项,支持黑名单过滤)

指令分析

CFG 分析

带图形的 Stack Frame 分析

分析 Spring Framework

2.8 版本开始支持 tomcat 分析(一检查杀内存马)

自定义 SQL 语句任意分析

Jar Analyzer 2.12 版本以后使用自研 RASP 保护程序

(Runtime Application Self-Protection)

Jar Analyzer 2.15 版本以后支持代码区域的搜索

Jar Analyzer 2.15 版本以后支持远程 Jar 文件加载

快捷键

  • CTRL+X 方法交叉引用 快速跳转方法 callercallee 页面
  • CTRL+F 代码区域搜索 打开搜索面板 支持 nextprev 选项

命令行

文档

表达式

文档

注意

文档

子项目

文档

其他

文档

参考

文档

Thanks

IntelliJ IDEA logo.

This project is developed using JetBrains IDEA. Thanks to JetBrains for providing me with a free license, which is a strong support for me.

About

Jar Analyzer - 一个JAR包分析工具,批量分析搜索,方法调用关系搜索,字符串搜索,Spring分析,CFG分析,JVM Stack Frame分析,远程分析Tomcat,进阶表达式搜索,自定义SQL查询,字节码查看,命令行分析,使用简易RASP保护

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Languages