CHANGE LOG
front page

Quick search with one click (since version 4.0 , it supports dynamic generation of GUI buttons through configuration)

For example, a dynamic rule of Runtime.exec (and directly generate buttons and search logic after matching)
Runtime.exec :
- !!me.n1ar4.jar.analyzer.engine.SearchCondition
className : java/lang/Runtime
methodName : exec
methodDesc : null Static analysis spring project

Analyze tomcat through agent

Custom expression search

Support information leakage inspection after version 4.0 (some regular sources from HaE projects)

Starting from version 4.0 , you can use the same shortcut key as IDEA to call up Lucene global search twice shift and call up Lucene global search

Since version 4.0 , it has been fixed and enhanced batch decompilation Jar export function

Since version 4.1 , it supports two ways to choose to start the engine and use JD-GUI to quickly view.
JD-GUI can quickly decompile and view bytecode for certain scenarios 
What is Jar Analyzer
JAR in which method is defined from a large number JAR (accurate to specific methods of specific classes)Runtime.exec method is called from a large number JAR (accurate to specific methods of specific classes)${jndi appearing from a large number JAR (accurate to specific methods of specific classes)Spring Controller/Mapping information from a large number of JAR (accurate to specific classes and specific methods)Apache Log4j2 vulnerabilities exist from a large number JAR (match all CVE vulnerabilities)FASTJSON 47/68/80 from a large number JARJava security vulnerabilities from a large number of JARJVM instruction calls in a method (with a graphical interface)JVM instructions and stack frames in a method (with graphical interface)Control Flow Graph in depth (with graphical interface)Tomcat that needs to remotely analyze the Servlet/Filter/Listener informationClass bytecode that requires one-click extraction and analysisBCEL format bytecode that requires one-click decompile code analysisJar files or directories that need to be decompiled in batchesIP address, mobile phone number, email address, etc. from a large number JAR Jar Analyzer is a GUI tool for analyzing Jar files:
Jar and batch Jars analysisLDC instruction to locate strings in JarSpring Controller/MappingCFG analysis results of one-click generation methodStack Frame analysis results for one-click generation methodServlet in TomcatSQL statements for advanced analysis2.14 , the full screen display function has been supported.2.15 , support code area string search function2.15 , it supports the analysis of remote files through HTTP2.16 , it supports one-click export and decompilation of JAVA code2.17 , it supports remote debugging at the bytecode instruction level (refer to the example image)2.17 , it supports one-click extraction of malicious JAVA code from serialized data (refer to the example image)2.18 , it supports HTTP API query interface (refer to the example image)2.19 , it supports 10 UI themes when starting ( LookAndFeel )2.19 , support real-time CPU usage and memory line chart display (refer to the example diagram)2.20 , global highlighting of selected strings is supported (refer to the example image)2.21 , it supports whitelisting of configuration classes and package names.2.21 , the number of files on the left is supported to open class name search using CTRL+F (refer to the example image)2.21 , a JRE 21 environment with built-in ZGC enabled (only core functions)SCA analysis since version 2.23 (see Example Figure 1 Example Figure 2)SCA analysis logic since version 2.24 (significantly improve scanning efficiency)3.0 , it supports generation of HTML method call diagrams (refer to the example diagram)3.0 , right-click search for strings is supported in the code area (refer to the example image)3.0 , support methods to right-click to add memos (refer to the example image)3.0 , many common JAVA RCE vulnerabilities have been added to call one-click search function.3.1 , support BCEL string decompilation of Java code with one-click (refer to the example image)3.1 , remote Tomcat analysis has been changed to premain (refer to the example image)Tomcat analysis function rewrite and enhance since version 3.2 (see example image)4.0 , the positioning of method jumps has been greatly optimized and accurate (implemented using JavaParser library)4.0 , it supports one-click information leakage inspection (refer to the example image)4.0 , it supports global search similar to IDEA (based on Lucene support code snippets)4.0 , it supports forward and backward steps without limiting the number of times (record all operation information)4.0 the function of batch decompiling Jar exported source code is repaired and enhanced4.0 , multiple icon GUI interfaces have been added to further beautify4.1 , built-in JD-GUI can be skipped to quickly viewMore features are under development
If you have any questions or suggestions, please feel free to ask issue
Go to download
Method call relationship

Method call search (supports equals/like options, supports blacklist filtering)

Jar Analyzer 2.15

Jar Analyzer 2.15 supports remote Jar file loading after version 2.15

After Jar Analyzer 2.17 it supports one-click extraction of malicious code from serialized data.

Jar Analyzer 2.18 supports HTTP API after version 2.18
Example Figure 1 Example Figure 2
Jar Analyzer 2.19 supports real-time CPU and memory usage analysis after version 2.19

Jar Analyzer 2.20

Expression search is an important advanced feature of jar-analzyer : you can customize a variety of conditional combination search methods.
Expression search is located on the home page and Plugins section of Advance
Detailed documentation
If you want to communicate in depth, you can send the contact information to the email address and I will bring you into the group: ZW15aXFpbmdAZ21haWwuY29t
Jar Analyzer V1 was born on 2022.11.27Jar Analyzer V2 was first submitted on 2023.10.23Jar Analyzer v2 official version is released on 2023.12.07Jar Analyzer V2 releases version 3.0 in 2024.08.15Jar Analyzer V2 broke 10,000 in total Star in 2024.09.30Jar Analyzer V2 releases version 4.0 in 2024.11.07 Currently, version 4.X is planned to be updated once a month (usually released at 0 o'clock on the same day)
If the day is a non-working day, it will be postponed to the first working day after that
Comparative analysis of G1GC and ZGC situations with reference to performance test documents
Note: When there are large or large Jar , it may lead to huge temporary directories and database files.
If you have UI compatibility issues, please check the top of ISSUE section.
Note: First set up your IDEA (this project does not support IDE environments such as Eclipse/VS Code )

The compilation and construction process is as follows: (Taking Windows as an example, other environments are similar)
JDK 8 64位installed (both Oracle JDK or OpenJDK )IDEA environment (generate GUI code)Maven 3.X installed and PATH variables configured correctly (need to use the mvn command)Contributor and ContributorMD to generate the latest contributor informationagent subproject cd agent && package.batpackage.batcmake to build native directory to generate dll files and put them into resourceswinres and gcc to build startup exe file and icon informationbuild.py and build.yml files The above are basic functions, advanced and test functions, please refer to: Advanced test functions
For example, instruction-level GUI debugging similar to OD/GDB (not completed)

CTRL+X method cross reference quick jump method caller and callee pageCTRL+F code area search opens the search panel to support next and prev optionsCTRL+F file tree area search displays the search panel search class name and internal classes in the file tree The following are supported:
IDEA themes)Windows )Windows )MacOS )Linux )MacOS only) Specified at startup: java -jar jar-analyzer.jar gui -t [theme]
For example: java -jar jar-analyzer.jar gui -t win-classic
Or modify the code of the startup script
set " theme_name=default " document
document
Early articles and videos and explanations of some internal principles and precautions
document
document
document
This project is developed using JetBrains IDEA. Thanks to JetBrains for providing me with a free license, which is a strong support for me.