{"id":13575800,"url":"https://github.com/jar-analyzer/jar-analyzer","last_synced_at":"2026-04-02T17:51:06.711Z","repository":{"id":203076862,"uuid":"701800919","full_name":"jar-analyzer/jar-analyzer","owner":"jar-analyzer","description":"Jar Analyzer - 一个 JAR 包 GUI 分析工具，方法调用关系搜索，方法调用链 DFS 算法分析，模拟 JVM 的污点分析验证 DFS 结果，字符串搜索，Java Web 组件入口分析，CFG 程序分析，JVM 栈帧分析，自定义表达式搜索，紧跟 AI 技术发展，支持 MCP 调用，支持 n8n 工作流","archived":false,"fork":false,"pushed_at":"2026-03-28T04:20:42.000Z","size":99588,"stargazers_count":2026,"open_issues_count":18,"forks_count":192,"subscribers_count":17,"default_branch":"master","last_synced_at":"2026-03-28T08:32:05.308Z","etag":null,"topics":["bytecode","jar","java-asm","java-bytecode","java-debugger","java-decompiler","java-gui","java-security","java-vulnerability","program-analysis","static-analysis","vulnerability","web-vulnerability"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jar-analyzer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.MD","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-10-07T15:42:35.000Z","updated_at":"2026-03-28T05:43:28.000Z","dependencies_parsed_at":"2026-02-22T12:06:36.237Z","dependency_job_id":null,"html_url":"https://github.com/jar-analyzer/jar-analyzer","commit_stats":null,"previous_names":["jar-analyzer/jar-analyzer"],"tags_count":53,"template":false,"template_full_name":null,"purl":"pkg:github/jar-analyzer/jar-analyzer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jar-analyzer%2Fjar-analyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jar-analyzer%2Fjar-analyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jar-analyzer%2Fjar-analyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jar-analyzer%2Fjar-analyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jar-analyzer","download_url":"https://codeload.github.com/jar-analyzer/jar-analyzer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jar-analyzer%2Fjar-analyzer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31312744,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bytecode","jar","java-asm","java-bytecode","java-debugger","java-decompiler","java-gui","java-security","java-vulnerability","program-analysis","static-analysis","vulnerability","web-vulnerability"],"created_at":"2024-08-01T15:01:04.310Z","updated_at":"2026-04-02T17:51:06.704Z","avatar_url":"https://github.com/jar-analyzer.png","language":"Java","readme":"# Jar-Analyzer\n\n[CHANGE LOG](CHANGELOG.MD)\n\n`jar-analyzer` 项目连续 `5` 年更新，共发布 `61` 个版本（含 `v1` 和 `v2` 版本）完全开源，完全免费\n\nThe `jar-analyzer` project has been continuously updated for `5` years, with `61` versions released, contains v1 and v2 version, completely open source and completely free.\n\n![](https://img.shields.io/github/last-commit/jar-analyzer/jar-analyzer)\n![](https://img.shields.io/github/release-date/jar-analyzer/jar-analyzer)\n![](https://img.shields.io/github/v/release/jar-analyzer/jar-analyzer)\n![](https://img.shields.io/github/downloads/jar-analyzer/jar-analyzer/total)\n\n![](https://img.shields.io/badge/protected%20by-gitleaks-blue)\n![](https://github.com/jar-analyzer/jar-analyzer/workflows/leak%20check/badge.svg)\n![](https://github.com/jar-analyzer/jar-analyzer/workflows/truffle%20check/badge.svg)\n\n![](https://github.com/jar-analyzer/jar-analyzer/workflows/maven%20check/badge.svg)\n![](https://github.com/jar-analyzer/jar-analyzer/workflows/golang%20check/badge.svg)\n![](https://github.com/jar-analyzer/jar-analyzer/workflows/python%20check/badge.svg)\n![](https://github.com/jar-analyzer/jar-analyzer/workflows/test%20core/badge.svg)\n\n官方文档：https://docs.qq.com/doc/DV3pKbG9GS0pJS0tk\n\n如果贡献代码：fork 本项目到自己仓库，参考 [build](#build) 部分搭建项目，提交 Pull Requests 即可\n\n感谢以下贡献者（排名不分先后）\n\n\u003cp\u003e\n  \u003ca href=\"https://github.com/4ra1n\"\u003e\u003cimg src=\"https://github.com/4ra1n.png?size=72\" width=\"72\" height=\"72\" alt=\"4ra1n\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/whwlsfb\"\u003e\u003cimg src=\"https://github.com/whwlsfb.png?size=72\" width=\"72\" height=\"72\" alt=\"whwlsfb\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/0cat-r\"\u003e\u003cimg src=\"https://github.com/0cat-r.png?size=72\" width=\"72\" height=\"72\" alt=\"0cat-r\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/Gosiu\"\u003e\u003cimg src=\"https://github.com/Gosiu.png?size=72\" width=\"72\" height=\"72\" alt=\"Gosiu\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/ly-test-fuzz\"\u003e\u003cimg src=\"https://github.com/ly-test-fuzz.png?size=72\" width=\"72\" height=\"72\" alt=\"ly-test-fuzz\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/AII12754\"\u003e\u003cimg src=\"https://github.com/AII12754.png?size=72\" width=\"72\" height=\"72\" alt=\"AII12754\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/sensensen404\"\u003e\u003cimg src=\"https://github.com/sensensen404.png?size=72\" width=\"72\" height=\"72\" alt=\"sensensen404\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/MyDynasty\"\u003e\u003cimg src=\"https://github.com/MyDynasty.png?size=72\" width=\"72\" height=\"72\" alt=\"MyDynasty\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/TianMing2018\"\u003e\u003cimg src=\"https://github.com/TianMing2018.png?size=72\" width=\"72\" height=\"72\" alt=\"TianMing2018\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/hacats\"\u003e\u003cimg src=\"https://github.com/hacats.png?size=72\" width=\"72\" height=\"72\" alt=\"hacats\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/R0ser1\"\u003e\u003cimg src=\"https://github.com/R0ser1.png?size=72\" width=\"72\" height=\"72\" alt=\"R0ser1\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/su18\"\u003e\u003cimg src=\"https://github.com/su18.png?size=72\" width=\"72\" height=\"72\" alt=\"su18\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/7eleven\"\u003e\u003cimg src=\"https://github.com/7eleven.png?size=72\" width=\"72\" height=\"72\" alt=\"7eleven\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/L-codes\"\u003e\u003cimg src=\"https://github.com/L-codes.png?size=72\" width=\"72\" height=\"72\" alt=\"L-codes\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/osword\"\u003e\u003cimg src=\"https://github.com/osword.png?size=72\" width=\"72\" height=\"72\" alt=\"osword\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n感谢以下用户的赞赏和支持\n\n| 用户ID | 赞赏金额 |\n|--------|--------|\n| GGBond | 50     |\n| xrayl  | 50     |\n\n一些真实的用户使用评价和反馈，参考 [用户评价](#用户评价)\n\nJar Analyzer\n\n- 一个 `JAR` 包分析工具\n- 完善美观的 `GUI` 支持（现代化 `Java GUI` 界面，可拖拽，明暗橙三主题，十种风格）\n- 基础分析（支持 `Jar/War/Classes` 输入，支持多文件，支持嵌套 `FatJar`）\n- 黑白名单配置（构建数据库和搜索功能都支持黑白名单过滤，支持精确类名和包名过滤）\n- 反编译（内置 `Fernflower` 改进版本双击反编译，使用 `JavaParser` 精确定位方法位置）\n- 方法调用关系搜索（构建方法调用关系数据库，可搜方法定义与方法引用，支持精确和模糊搜索）\n- 方法调用链 `DFS` 算法分析（支持 **正向/反向** 调用链分析，基于 `DFS` 算法的深度调用链追踪）\n- 简单的模拟 `JVM` 污点分析实现，可验证 `DFS` 算法推导方法调用链可行性（beta）\n- 字符串搜索（搜索 `LDC` 指令，支持模糊搜索和精确搜索，可定位具体方法，联动调用进行分析）\n- `Java Web` 组件入口分析（`Java Servlet/Filter` 组件分析，`Spring` 入口信息一键分析）\n- `CFG` 程序分析（方法内部控制流可视化，基本块划分与展示，异常处理流程分析）\n- `JVM` 栈帧分析（局部变量表与操作数栈状态跟踪，运行时数据流静态分析）\n- 自定义表达式搜索（基于 `SpEL` 的多种语法组合搜索，用于搜索漏洞 `Gadget` 等）\n- 常见安全分析功能（支持简单的 `SCA` 分析，敏感信息泄漏分析，可能的 `gadget` 分析）\n- 应急响应分析功能（一键提取序列化数据中的恶意 `class` 反编译，一键提取 `BCEL` 代码）\n- 测试功能：不同于 `IDEA` 等工具的源码级调试，实现了字节码级别的单步动态调试（仅初步实现）\n\n相关项目：\n\n- 核心引擎：https://github.com/jar-analyzer/jar-analyzer-engine\n- `claude code` 插件：https://github.com/jar-analyzer/jar-analyzer-claude\n\n为什么选择 Jar Analyzer \n\n- 简单易上手，相比 `codeql/tabby` 简化很多，足够应对 `90%` 场景\n- 完善且美观的 `GUI` 设计， 只需鼠标点点点，即可进行大多数的代码审计\n- 内置常见的 `source` 入口分析，支持动态的 `sink` 配置文件规则，方便快捷\n- 代码完全开源，构建基于 `github actions` 你可以随意查看功能代码，定制功能\n- 活跃的开源社区和维护，常年持续更新完善，欢迎贡献和参与\n- 本项目跟随主流技术路线，尝试基于 `AI` 做探索（支持 `mcp` 和 `n8n` 流程等）\n\n![](img/0080.png)\n\n静态分析 `spring / java web` 项目\n\n![](img/0072.png)\n\n一键快速搜索（自从 `4.0` 版本后支持通过配置动态生成 `GUI` 按钮）\n\n![](img/0077.png)\n\n例如一个 `Runtime.exec` 的动态规则（配好后直接生成按钮和搜索逻辑）\n\n```yaml\n  Runtime.exec:\n    - !!me.n1ar4.jar.analyzer.engine.SearchCondition\n      className: java/lang/Runtime\n      methodName: exec\n      methodDesc: null\n```\n\n自从 `5.3` 版本后支持深度优先搜索算法自动分析漏洞链\n\n![](img/0082.png)\n\n自从 `5.7` 版本后支持简单的模拟 `JVM` 污点分析验证 `DFS` 结果（勾选污点分析验证即可）\n\n![](img/0081.png)\n\n![](img/0084.png)\n\n自从 `5.17` 版本以后支持多 `tab` 展示和方法名 `ctrl+左键` 展示调用并跳转\n\n![](img/0085.png)\n\n自从 `5.0` 版本后大幅改进了表达式搜索功能\n\n![](img/0073.png)\n\n从 `4.0` 版本后支持信息泄露检查（部分正则来源于 [HaE](https://github.com/gh0stkey/HaE) 项目）\n\n`AI` 相关功能文档：[README-ai.md](doc/README-ai.md)\n\n## 常见用途\n\n- 场景01：从大量 `JAR` 中分析某个方法在哪个 `JAR` 里定义（精确到具体类具体方法）\n- 场景02：从大量 `JAR` 中分析哪里调用了 `Runtime.exec` 方法（精确到具体类具体方法）\n- 场景03：从大量 `JAR` 中分析字符串 `${jndi` 出现在哪些方法（精确到具体类具体方法）\n- 场景04：从大量 `JAR` 中分析有哪些 `Spring Controller/Mapping` 信息（精确到具体类具体方法）\n- 场景05：从大量 `JAR` 中分析是否存在 `Apache Log4j2` 漏洞（匹配所有 `CVE` 漏洞）\n- 场景06：从大量 `JAR` 中分析是否有使用 `FASTJSON 47/68/80` 等存在漏洞的版本\n- 场景07：从大量 `JAR` 中分析各种常见的 `Java` 安全漏洞调用出现在哪些方法\n- 场景08：你需要深入地分析某个方法中 `JVM` 指令调用的传参（带有图形界面）\n- 场景09：你需要深入地分析某个方法中 `JVM` 指令和栈帧的状态（带有图形界面）\n- 场景10：你需要深入地分析某个方法的 `Control Flow Graph` （带有图形界面）\n- 场景11：你有一个 `Tomcat` 需要远程分析其中的 `Servlet/Filter/Listener` 信息\n- 场景12：你有一个序列化数据里面包含了恶意的 `Class` 字节码需要一键提取分析\n- 场景13：你有一个 `BCEL` 格式的字节码需要一键反编译代码分析\n- 场景14：你有一大堆 `Jar` 文件或目录需要全部批量反编译导出代码\n- 场景15：从大量 `JAR` 中分析 `IP` 地址/手机号/邮箱等各种信息泄露\n- 场景16：需要将 `JAR` 分析加入到已有的工作流（`CICD` / `AI workflow` 等） \n- 测试功能：字节码指令级别的调试\n\n## 更新记录\n\n- 自从 `2.14` 版本之后支持了全屏显示的功能\n- 自从 `2.15` 版本后支持代码区域字符串搜索功能\n- 自从 `2.15` 版本后支持通过 `HTTP` 分析远程文件\n- 自从 `2.16` 版本后支持一键导出反编译 `JAVA` 代码\n- 自从 `2.17` 版本后支持字节码指令级别的远程调试（参考 [示例图](img/0035.png)）\n- 自从 `2.17` 版本后支持从序列化数据一键提取恶意 `JAVA` 代码（参考 [示例图](img/0036.png)）\n- 自从 `2.18` 版本后支持 `HTTP API` 查询接口（参考 [示例图](img/0038.png)）\n- 自从 `2.19` 版本后支持启动时配置 `10` 种 `UI` 主题（`LookAndFeel`）\n- 自从 `2.19` 版本后支持实时的 `CPU` 占用和内存的折线图展示（参考 [示例图](img/0040.png)）\n- 自从 `2.20` 版本后支持选中字符串全局高亮显示（参考 [示例图](img/0041.png)）\n- 自从 `2.21` 版本后支持分析配置类和包名的白名单\n- 自从 `2.21` 版本后支持左侧文件数使用 `CTRL+F` 打开类名搜索（参考 [示例图](img/0045.png)）\n- 自从 `2.21` 版本后新增内置开启 `ZGC` 的 `JRE 21` 环境（仅包含核心功能）\n- 自从 `2.23` 版本后新增 `SCA` 分析（参考 [示例图1](img/0051.png) [示例图2](img/0050.png)）\n- 自从 `2.24` 版本后改善 `SCA` 分析逻辑（显著提高扫描效率）\n- 自从 `3.0` 版本后支持生成 `HTML` 方法调用图（参考 [示例图](img/0053.png)）\n- 自从 `3.0` 版本后支持代码区域选中字符串右键搜索（参考 [示例图](img/0054.png)）\n- 自从 `3.0` 版本后支持方法右键添加备忘录（参考 [示例图](img/0055.png)）\n- 自从 `3.0` 版本后新增多种常见的 `JAVA RCE` 漏洞调用一键搜索功能\n- 自从 `3.1` 版本后支持 `BCEL` 字符串一键反编译 `Java` 代码（参考 [示例图](img/0061.png)）\n- 自从 `3.1` 版本后远程 `Tomcat` 分析改为 `premain` 方式（参考 [示例图](img/0062.png)）\n- 自从 `3.2` 版本后远程 `Tomcat` 分析功能重写和增强（参考 [示例图](img/0065.png)）\n- 自从 `4.0` 版本后方法跳转的定位大幅优化和精确（使用 `JavaParser` 库实现）\n- 自从 `4.0` 版本后支持一键的信息泄露检查（参考 [示例图](img/0084.png)）\n- 自从 `4.0` 版本后支持类似 `IDEA` 的全局搜索（基于 `Lucene` 支持代码片段）\n- 自从 `4.0` 版本后支持不限制次数的前进后退步骤（记录所有的操作信息）\n- 自从 `4.0` 版本批量反编译 `Jar` 导出源码功能修复增强\n- 自从 `4.0` 版本后新增多个图标 `GUI` 界面进一步美化\n- 自从 `4.1` 版本后内置 `JD-GUI` 可以跳过分析快速查看\n- 自从 `4.2` 版本后支持黑暗主题切换\n- 自从 `4.4` 版本后支持不跳转情况下右键预览方法代码\n- 自从 `5.0` 版本之后 `Panel` 支持拖动拉伸缩小\n- 自从 `5.0` 版本之后支持了 `Interceptor/Servlet/Filter/Listener` 分析\n- 自从 `5.0` 版本之后大幅改进了表达式搜索相关功能\n- 自从 `5.1` 版本之后支持了简单的 `Gadget` 分析\n- 自从 `5.3` 版本后支持深度优先搜索算法自动分析漏洞链\n- 自从 `5.7` 版本后支持污点分析（beta）并在 `5.8` 版本修复和完善\n- 自从 `5.10` 版本后支持了 `MCP` 请参考文档 [MCP](mcp-doc/README.md)\n\n[详细更新日志 - CHANGE LOG](CHANGELOG.MD)\n\n有问题和建议欢迎提 `issue` 更多的功能正在开发中 [前往下载](https://github.com/jar-analyzer/jar-analyzer/releases/latest)\n\n## 用户评价\n\n(01) 我发现 `jar-analyzer` 性能方面很出色（某知名安全研究员）\n\n(02) 某些场景 `jar-analyzer` 的表达式功能比 `codeql` 更好用（某安全研究员）\n\n(03) 我使用 `jar-analyzer` 挖了不少的 `0 day` 漏洞，推荐使用 (某知名安全研究员)\n\n(04) 大佬的 `jar-analyzer` 很好用 （某乙方安全工程师）\n\n(05) 师傅的 `jar-analyzer` 太强了 （某知名安全研究员）\n\n(06) 刚才老板大力表扬了 `jar-analyzer` 说超级好用（某甲方安全工程师）\n\n(07) 大佬，先说一句 `jar-analyzer` 真好用（某乙方安全工程师）\n\n(08) `jar-analyzer` 最好用（某乙方安全工程师）\n\n(09) `Java` 漏洞挖掘神器 `jar-analyzer`（某乙方安全工程师）\n\n(10) 我用 `jar-analyzer` 辅助挖到了价值 `10w` 的 `0 day`（某年入百万安全研究员）\n\n(11) `jar-analyzer` 可以快速筛选符合的 `gadget` 辅助挖掘新链（知名项目 `java-chains` 创始人）\n\n(12) `jar-analyzer` 在手 `java` 漏洞不愁（某安全公司总裁）\n\n(13) 拼尽全力，无法战胜（某大甲方安全工程师，有丰富的代码审计和 `SAST` 工具开发经验）\n\n(14) 这几天已经用这个挖到了几个洞了，对于新手很友好（某安全工程师）\n\n(15) `DFS` 漏洞利用链分析功能完整，用起来比 `tabby` 和 `codeql` 都要简单（某安全工程师）\n\n(16) 使用 `jar-anlyzer mcp` 配合 `n8n` 工作流，确实能挖到洞 (某安全专家)\n \n## 表达式\n\n表达式搜索是 `jar-analzyer` 重要的高级功能：可以自定义多种条件组合搜索方法\n\n表达式搜索位于首页以及 `Advance` 的 `Plugins` 部分\n\n注意：如果表达式效率过低，可能是默认内存过小原因，可以考虑修改启动脚本 `-Xms` 参数\n\n```shell\nset \"java_args=-XX:+UseG1GC -Xms2g -XX:MaxGCPauseMillis=200 %other_args%\"\n```\n\n[详细文档](doc/README-el.md)\n\n## 感谢列表\n\n- 4ra1n (https://github.com/4ra1n) (项目作者) \n- whw1sfb (https://github.com/whwlsfb) (第一次贡献，重要 AI 贡献)\n- 0cat (https://github.com/0cat-r) (重要 AI 贡献)\n- Honey Baby (https://github.com/Gosiu) (多次重要贡献) \n- fantasy (https://github.com/ly-test-fuzz) \n- AII (https://github.com/AII12754)\n- phil (https://github.com/sensensen404)\n- MyDynasty (https://github.com/MyDynasty) \n- TianMing2018 (https://github.com/TianMing2018) \n- hacats (https://github.com/hacats) \n- R0ser1 (https://github.com/R0ser1) \n- su18 (https://github.com/su18) \n- 7eleven (https://github.com/7-e1even)\n- L-codes (https://github.com/L-codes) (AI 贡献)\n- osword (https://github.com/zhzhdoai) (AI 贡献)\n\n## 时间\n\n- `Jar Analyzer V1` 最初版诞生于 `2022.11.27`\n- `Jar Analyzer V2` 在 `2023.10.23` 第一次提交\n- `Jar Analyzer v2` 正式版在 `2023.12.07` 发布\n- `Jar Analyzer V2` 在 `2024.08.15` 发布 `3.0` 版本\n- `Jar Analyzer V2` 在 `2024.09.30` 总 `Star` 破千\n- `Jar Analyzer V2` 在 `2024.11.07` 发布 `4.0` 版本\n- `Jar Analyzer V2` 在 `2025.01.07` 日下载量破万\n- `Jar Analyzer` 在 `2026.03.19` 发布 `engine` 子项目\n- `Jar Analyzer` 在 `2026.03.21` 发布 `claude code` 插件\n- `Jar Analyzer V2` 在 `2026.03.23` 总 `Star` 破两千\n\n## 性能测试\n\n参考 [性能测试文档](doc/README-test.md) 对比分析 `G1GC` 和 `ZGC` 情况\n\n## 其他截图\n\n[截图文档](doc/README-screenshot.md)\n\n## BUILD\n\n注意：首先对你的 `IDEA` 进行设置（本项目不支持 `Eclipse/VS Code` 等 `IDE` 环境）\n\n![](img/0063.png)\n\n注意：过高版本的 `IDEA` 可能删除了该功能，可以在插件市场搜索 `Swing UI Designer` 安装\n\n编译和构建过程如下：（以 `Windows` 为例其他环境类似）\n\n由于 `jar-analyzer` 历史提交过大，请使用 `--depth 1` 加速克隆\n\n```shell\ngit clone --depth 1 https://github.com/jar-analyzer/jar-analyzer\n```\n\n核心项目构建\n\n1. 重要：确保你安装了 `JDK 8 64位` （建议 `OpenJDK`）\n2. 重要：如果你修改了代码请确保在 `IDEA` 环境中至少启动一次（生成 `GUI` 代码）\n3. 重要：确保你安装了 `Maven 3.X` （一般 `IDEA` 已自带）\n4. 可选：完善贡献者信息：检查修改 `thanks.md/thanks.txt` 和 `pom.xml`\n5. 可选：使用 `cmake` 构建 `native` 目录生成 `dll` 文件放入 `resources`\n\nMCP 构建\n\n1. 确保安装了 `golang 1.24` 及以上版本\n2. 打开 `mcp` 目录即可（标准 `go mod` 项目）\n3. 可以基于 `gox` 目录编译多平台可执行文件（开源 `gox` 修改版）\n\n其他组件构建\n\n1. 可选：构建 `agent` 子项目 `cd agent \u0026\u0026 package.bat`\n2. 可选：使用 `winres` 和 `gcc` 构建启动 `exe` 文件和图标信息\n3. 可选：完整发版参考 `build.py` 和 `build.yml` 文件\n\n## 进阶功能\n\n以上是基础功能，进阶和测试性的功能请参考：[进阶测试性功能](doc/README-advance.md)\n\n例如类似 `OD/GDB` 的指令级 `GUI` 调试（未完成）\n\n![](img/0035.png)\n\n## 快捷键\n\n- `CTRL+X` 方法交叉引用 快速跳转方法 `caller` 和 `callee` 页面\n- `CTRL+F` 代码区域搜索 打开搜索面板 支持 `next` 和 `prev` 选项\n- `CTRL+F` 文件树区搜索 显示搜索面板 搜索文件树中的类名以及内部类\n\n## UI 主题\n\n支持以下：\n\n- default (默认使用 类似 `IDEA` 主题)\n- metal\n- win (仅 `Windows` 支持)\n- win-classic (仅 `Windows` 支持)\n- motif\n- mac (仅 `MacOS` 支持)\n- gtk (仅某些 `Linux` 支持)\n- cross\n- aqua (仅 `MacOS` 支持)\n- nimbus\n\n在启动时指定：`java -jar jar-analyzer.jar gui -t [theme]`\n\n例如：`java -jar jar-analyzer.jar gui -t win-classic`\n\n或者修改启动脚本的代码\n\n```shell\nset \"theme_name=default\"\n```\n\n## 注意\n\n[文档](doc/README-note.md)\n\n## 子项目\n\n[文档](doc/README-sub.md)\n\n## 其他\n\n早期文章视频以及解释一些内部的原理和注意事项\n\n[文档](doc/README-others.md)\n\n## 参考\n\n[文档](doc/README-thanks.md)\n\n## API\n\n[文档](doc/README-api.md)\n\n## 安全公告\n\n- [\\[GHSA-43rf-3hm4-hv5f\\] 反编译恶意的 CLASS 文件可能导致程序不可用](https://github.com/jar-analyzer/jar-analyzer/security/advisories/GHSA-43rf-3hm4-hv5f)\n- [\\[GHSA-x5h2-78p8-w943\\] Jar Analyzer 2.13 版本之前存在 SQL 注入漏洞](https://github.com/jar-analyzer/jar-analyzer/security/advisories/GHSA-x5h2-78p8-w943)\n- [\\[GHSA-jmcg-r2c5-7m29\\] Jar Analyzer 存在 ZIP SLIP 漏洞（最坏情况可导致 RCE 风险）](https://github.com/jar-analyzer/jar-analyzer/security/advisories/GHSA-jmcg-r2c5-7m29)\n- [\\[GHSA-h6vc-3rcp-p7qp\\] 表达式分析功能中的 SpEL 注入漏洞可导致远程代码执行](https://github.com/jar-analyzer/jar-analyzer/security/advisories/GHSA-h6vc-3rcp-p7qp)\n\n不再接受用户的输入导致的安全问题，除非恶意的输入 `class/jar` 文件可能导致的安全问题\n\n不再接收 `GUI` 中可能的漏洞，不认为通过 `Webswing` 等方式暴露到 `web` 端会产生漏洞\n\n注意：当 `Jar` 数量较多或巨大时 **可能导致临时目录和数据库文件巨大** 请确保足够的空间\n\n有 `UI` 兼容性问题请查看 `ISSUE` 部分的置顶\n\n## Star\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"https://api.star-history.com/svg?repos=jar-analyzer/jar-analyzer\u0026type=Date\" width=\"600\" height=\"400\" alt=\"Star History Chart\" valign=\"middle\"\u003e\n\n\u003c/div\u003e\n","funding_links":[],"categories":["📚 Projects (1974 total)","Java"],"sub_categories":["Documentation"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjar-analyzer%2Fjar-analyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjar-analyzer%2Fjar-analyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjar-analyzer%2Fjar-analyzer/lists"}