工具介绍
一个JAR包分析工具,批量分析,SCA漏洞分析,方法调用关系搜索,字符串搜索,Spring组件分析,信息泄露检查,CFG程序分析,JVM栈帧分析,进阶表达式搜索,字节码指令级的动态调试分析,反编译JAR包一键导出,一键提取序列化数据恶意代码,一键分析BCEL字节码。
Jar Analyzer 的用途
场景01
:从大量 JAR 中分析某个方法在哪个 JAR 里定义(精确到具体类具体方法)
场景02
:从大量 JAR 中分析哪里调用了 Runtime.exec 方法(精确到具体类具体方法)
场景03
:从大量 JAR 中分析字符串 ${jndi 出现在哪些方法(精确到具体类具体方法)
场景04
:从大量 JAR 中分析有哪些 Spring Controller/Mapping 信息(精确到具体类具体方法)
场景05
:从大量 JAR 中分析是否存在 Apache Log4j2 漏洞(匹配所有 CVE 漏洞)
场景06
:从大量 JAR 中分析是否有使用 FASTJSON 47/68/80 等存在漏洞的版本
场景07
:从大量 JAR 中分析各种常见的 Java 安全漏洞调用出现在哪些方法
场景08
:你需要深入地分析某个方法中 JVM 指令调用的传参(带有图形界面)
场景09
:你需要深入地分析某个方法中 JVM 指令和栈帧的状态(带有图形界面)
场景10
:你需要深入地分析某个方法的 Control Flow Graph (带有图形界面)
场景11
:你有一个 Tomcat 需要远程分析其中的 Servlet/Filter/Listener 信息
场景12
:你有一个序列化数据里面包含了恶意的 Class 字节码需要一键提取分析
场景13
:你有一个 BCEL 格式的字节码需要一键反编译代码分析
场景14
:你有一大堆 Jar 文件或目录需要全部批量反编译导出代码
场景15
:从大量 JAR 中分析 IP 地址/手机号/邮箱等各种信息泄露
测试功能
:字节码指令级别的调试
工具使用
首页
一键快速搜索(自从 4.0 版本后支持通过配置动态生成 GUI 按钮)
例如一个 Runtime.exec
的动态规则(配好后直接生成按钮和搜索逻辑)
Runtime.exec:- !!me.n1ar4.jar.analyzer.engine.SearchConditionclassName: java/lang/RuntimemethodName: execmethodDesc: null
静态分析 spring 项目
通过 agent 分析 tomcat
自定义表达式搜索
从 4.0 版本后支持信息泄露检查(部分正则来源于 HaE 项目)
从 4.0 版本开始可以和 IDEA 一样快捷键两次 shift 调出 Lucene 全局搜索
自从 4.0 版本开始修复增强批量反编译 Jar 导出功能
自从 4.1 版本后支持选择启动引擎和使用 JD-GUI 快速查看两种方式
-
启动引擎分析通常是非常耗时的操作,有时候我们没有必要完全分析
-
启动 JD-GUI 可以快速反编译和查看字节码,用于某些场景
自从 4.2 版本后支持黑暗主题切换
UI 主题
支持以下:
default (默认使用 类似 IDEA 主题)metalwin (仅 Windows 支持)win-classic (仅 Windows 支持)motifmac (仅 MacOS 支持)gtk (仅某些 Linux 支持)crossaqua (仅 MacOS 支持)nimbus
在启动时指定:
java -jar jar-analyzer.jar gui -t [theme]
或者修改启动脚本的代码
set "theme_name=default"
项目地址
https://github.com/jar-analyzer/jar-analyzer
原创 wolven Chan 风铃Sec