CHANGE LOG
首頁

一鍵快速搜索(自從4.0版本後支持通過配置動態生成GUI按鈕)

例如一個Runtime.exec的動態規則(配好後直接生成按鈕和搜索邏輯)
Runtime.exec :
- !!me.n1ar4.jar.analyzer.engine.SearchCondition
className : java/lang/Runtime
methodName : exec
methodDesc : null靜態分析spring項目

通過agent分析tomcat

自定義表達式搜索

從4.0版本後支持信息洩露檢查(部分正則來源於HaE 項目)

從4.0版本開始可以和IDEA一樣快捷鍵兩次shift調出Lucene全局搜索

自從4.0版本開始修復增強批量反編譯Jar導出功能

自從4.1版本後支持選擇啟動引擎和使用JD-GUI 快速查看兩種方式
JD-GUI可以快速反編譯和查看字節碼,用於某些場景
Jar Analyzer的用途
JAR中分析某個方法在哪個JAR裡定義(精確到具體類具體方法)JAR中分析哪裡調用了Runtime.exec方法(精確到具體類具體方法)JAR中分析字符串${jndi出現在哪些方法(精確到具體類具體方法)JAR中分析有哪些Spring Controller/Mapping信息(精確到具體類具體方法)JAR中分析是否存在Apache Log4j2漏洞(匹配所有CVE漏洞)JAR中分析是否有使用FASTJSON 47/68/80等存在漏洞的版本JAR中分析各種常見的Java安全漏洞調用出現在哪些方法JVM指令調用的傳參(帶有圖形界面)JVM指令和棧幀的狀態(帶有圖形界面)Control Flow Graph (帶有圖形界面)Tomcat需要遠程分析其中的Servlet/Filter/Listener信息Class字節碼需要一鍵提取分析BCEL格式的字節碼需要一鍵反編譯代碼分析Jar文件或目錄需要全部批量反編譯導出代碼JAR中分析IP地址/手機號/郵箱等各種信息洩露Jar Analyzer是一個分析Jar文件的GUI工具:
Jar以及批量Jars分析LDC指令定位Jar中的字符串Spring Controller/MappingCFG分析結果Stack Frame分析結果Tomcat中的Servlet等組件SQL語句進行高級分析2.14版本之後支持了全屏顯示的功能2.15版本後支持代碼區域字符串搜索功能2.15版本後支持通過HTTP分析遠程文件2.16版本後支持一鍵導出反編譯JAVA代碼2.17版本後支持字節碼指令級別的遠程調試(參考示例圖)2.17版本後支持從序列化數據一鍵提取惡意JAVA代碼(參考示例圖)2.18版本後支持HTTP API查詢接口(參考示例圖)2.19版本後支持啟動時配置10種UI主題( LookAndFeel )2.19版本後支持實時的CPU佔用和內存的折線圖展示(參考示例圖)2.20版本後支持選中字符串全局高亮顯示(參考示例圖)2.21版本後支持分析配置類和包名的白名單2.21版本後支持左側文件數使用CTRL+F打開類名搜索(參考示例圖)2.21版本後新增內置開啟ZGC的JRE 21環境(僅包含核心功能)2.23版本後新增SCA分析(參考示例圖1 示例圖2)2.24版本後改善SCA分析邏輯(顯著提高掃描效率)3.0版本後支持生成HTML方法調用圖(參考示例圖)3.0版本後支持代碼區域選中字符串右鍵搜索(參考示例圖)3.0版本後支持方法右鍵添加備忘錄(參考示例圖)3.0版本後新增多種常見的JAVA RCE漏洞調用一鍵搜索功能3.1版本後支持BCEL字符串一鍵反編譯Java代碼(參考示例圖)3.1版本後遠程Tomcat分析改為premain方式(參考示例圖)3.2版本後遠程Tomcat分析功能重寫和增強(參考示例圖)4.0版本後方法跳轉的定位大幅優化和精確(使用JavaParser庫實現)4.0版本後支持一鍵的信息洩露檢查(參考示例圖)4.0版本後支持類似IDEA的全局搜索(基於Lucene支持代碼片段)4.0版本後支持不限制次數的前進後退步驟(記錄所有的操作信息)4.0版本批量反編譯Jar導出源碼功能修復增強4.0版本後新增多個圖標GUI界面進一步美化4.1版本後內置JD-GUI可以跳過分析快速查看更多的功能正在開發中
有問題和建議歡迎提issue
前往下載
方法調用關係

方法調用搜索(支持equals/like選項,支持黑名單過濾)

Jar Analyzer 2.15版本以後支持代碼區域的搜索

Jar Analyzer 2.15版本以後支持遠程Jar文件加載

Jar Analyzer 2.17版本以後支持從序列化數據中一鍵提取惡意代碼

Jar Analyzer 2.18版本以後支持HTTP API
示例圖1 示例圖2
Jar Analyzer 2.19版本以後支持實時的CPU和內存佔用分析

Jar Analyzer 2.20版本後支持選中字符串全局高亮顯示

表達式搜索是jar-analzyer重要的高級功能:可以自定義多種條件組合搜索方法
表達式搜索位於首頁以及Advance的Plugins部分
詳細文檔
想深入交流可以發聯繫方式到郵箱後我拉你進群: ZW15aXFpbmdAZ21haWwuY29t
Jar Analyzer V1最初版誕生於2022.11.27Jar Analyzer V2在2023.10.23第一次提交Jar Analyzer v2正式版在2023.12.07發布Jar Analyzer V2在2024.08.15發布3.0版本Jar Analyzer V2在2024.09.30總Star破千Jar Analyzer V2在2024.11.07發布4.0版本目前版本4.X計劃每月更新一次(一般情況下在當天的0點發布)
如果當天是非工作日則延期至之後第一個工作日
參考性能測試文檔對比分析G1GC和ZGC情況
注意:當Jar數量較多或巨大時可能導致臨時目錄和數據庫文件巨大
有UI兼容性問題請查看ISSUE部分的置頂
注意:首先對你的IDEA進行設置(本項目不支持Eclipse/VS Code等IDE環境)

編譯和構建過程如下:(以Windows為例其他環境類似)
JDK 8 64位(無論Oracle JDK或OpenJDK都可)IDEA環境中至少啟動一次(生成GUI代碼)Maven 3.X並正確配置了PATH變量(需要使用mvn命令)Contributor和ContributorMD生成最新貢獻者信息agent子項目cd agent && package.batpackage.batcmake構建native目錄生成dll文件放入resourceswinres和gcc構建啟動exe文件和圖標信息build.py和build.yml文件以上是基礎功能,進階和測試性的功能請參考:進階測試性功能
例如類似OD/GDB的指令級GUI調試(未完成)

CTRL+X方法交叉引用快速跳轉方法caller和callee頁面CTRL+F代碼區域搜索打開搜索面板支持next和prev選項CTRL+F文件樹區搜索顯示搜索面板搜索文件樹中的類名以及內部類支持以下:
IDEA主題)Windows支持)Windows支持)MacOS支持)Linux支持)MacOS支持)在啟動時指定: java -jar jar-analyzer.jar gui -t [theme]
例如: java -jar jar-analyzer.jar gui -t win-classic
或者修改啟動腳本的代碼
set " theme_name=default " 文件
文件
早期文章視頻以及解釋一些內部的原理和注意事項
文件
文件
文件
This project is developed using JetBrains IDEA. Thanks to JetBrains for providing me with a free license, which is a strong support for me.