Skip to content

Latest commit

 

History

History
225 lines (172 loc) · 7.8 KB

CHANGELOG.MD

File metadata and controls

225 lines (172 loc) · 7.8 KB

0.1-beta

nothing

0.2-beta

Bugs:

  • [bug] right click on mac os not work #5
  • [bug] mac os open too many files bug #6

Others:

  • [new feature] jars in jar file situation #1
  • [new feature] allow user input a jar directory #3

0.3-beta

Congratulates, I make some meaningful updates. Please note, run this on Java 11-17, other versions not support, and I had not test this on Mac OS and Linux, if you found a bug, please report a issue, much thanks. (In fact, I can chose a lower version of QuiltFlower so that this can run under Java 8, but I wonder if it's worth it, is there many Java 8 users?)

Support 3 ways to decompile class file:

  • QuiltFlower (FernFlower)
  • Procyon
  • CFR

Rebuild UI and add a progress bar showing the progress of loading jars.

Interestingly, I have added some example cases in the README.md.

Finally, I made an exe version, but you need have a local JRE 11-17 environment.

Important:

  • Add CFR and QuiltFlower decompilers #8
  • [docs] add a more complex example case #9
  • [new feature] a progress bar to show load jar progress #4

Bugs:

  • [bug] code panel cannot resize #10

Others:

  • [new feature] allow use null class name and search all methods #7

0.4-beta

This is a buf fix version, does not contain new features. So I had not made an exe version, only a jar version.

I try to make the cursor as accurate as possible to point to the real method call position. But I can't confirm all the situations. If you find any problems, you can ask for issue. And I chose a lower version of QuiltFlower to support Java 8.

Important:

  • [important] [bug] method position not accurate enough #2
  • [important] [bug] the number of parameters does not match show info #16

Others:

  • use quilt flower 1.8.1 to support Java 8 #15
  • remove unnecessary dependencies to reduce jar file size

0.5-beta

New Features:

  • [important] [feat] add a new panel to show your decompile history #13
  • [important] [feat] add a panel to show subclasses and super classes #11
  • [important] [feat] add a option to chose search directly or method call #19
  • [feat] show formatted bytecode and asm code #18

Others:

  • use quilt flower 1.8.1 to support Java 8 #15 (support 8 and 11)

0.6-beta

This is a special version, which support a new feature but is not stable

Change:

  • Rebuild UI
  • Spring Controller and Mapping Analysis
  • New README

0.7

Important version: https://www.bilibili.com/video/BV1Pe4y1T7Ma

Bug:

  • [important] [bug] cannot decompile spring class sometimes #28
  • [important] [bug] spring should not contain duplicate content #31
  • [bug] springboot loader class npe bug #30
  • [bug] macos tabbed panel bug #25

Feature:

  • [important] [feat] prompt the user why decompilation fails #33
  • [important] [feat] support getmapping and postmapping #23
  • [important] [feat] controller without controller anno #24
  • [feat] prompt user what is inner jar and spring boot jar #35
  • [feat] prompt user when the search result is empty #34
  • [feat] delete logs when exit checkbox #32

Others:

  • [important] [improve] code refactor #27
  • [improve] show number should be changed to details #29
  • [improve] spring analyze use asm 9 #26
  • spring package is unnecessary (delete ui)
  • new README and screenshot

0.8

重要更新版本,整体重构并新增多个功能

从该版本开始,仅支持Java 11以上,因为某些组件不能在Java 8正常运行,不过会提供包含JREEXE版本

更新内容:

  • [important] 整体UI使用中文重构(我不觉得老外会使用) #40
  • [important] 重写代码面板实现类似IDEA的效果 #49
  • [important] 实现正则和包含搜索字符串的功能 #50
  • [important] 实现直接从jar包搜索二进制的功能 #51
  • [important] 实现无脑搜索(类/方法/字段/常量 任何地方) #52
  • [important] 增加搜索字符串常量的功能 #47
  • [important] 使用黑色主题完全重构UI #42
  • [important] 增加一个常见搜索面板允许直接设置搜索内容 #60
  • [important] 自动处理普通JAR/SpringBoot JAR/WAR区别 #59
  • [important] [bug] 优化方法位置精确定位的算法 #41
  • [feat] 支持分析war包 #58
  • [feat] 新增菜单跳转issue和项目地址 #44
  • [feat] 新增菜单验证当前最新版本 #45
  • [feat] 应该增加一个面板显示目标类中有哪些方法 #54
  • [feat] 应该对两种搜索方式给出提示 #37
  • [bug] 提示框多屏情况下不在同屏显示 #46
  • [bug] CFR反编译有时候不工作 #36
  • [improve] 更优雅地查看字节码和ASM代码 #56
  • [improve] 所有方法的显示应该进行排序以区分重载 #57
  • [improve] 搜索结果应该去重 #53
  • [improve] 给反编译代码使用更优雅的字体 #55
  • [improve] 当选择反编译类时应该清空方法调用信息 #39

0.9

优化方法定位算法,修改并重新编译某些依赖库代码以支持Java 8 - Java 19所有版本

加入了简单的表达式搜索(beta)功能:

#method
    .nameContains("方法名包含什么")
    .classNameContains("该方法类名包含什么")
    .returnType("方法返回值类型")
    .paramTypeMap(参数索引 (int),"参数索引类型")
    .paramsNum(参数个数 (int))
    .isStatic(是否静态 (boolean))

示例:

#method
    .nameContains("rce")
    .classNameContains("RCE")
    .returnType("java.lang.String")
    .paramTypeMap(0,"java.lang.String")
    .paramsNum(1)
    .isStatic(false)

更新内容:

  • [important] 适配JDK8-JDK19所有版本 #63
  • [important] 解决在非JDK11-14中字体的BUG #64
  • [important] 支持拖入Jar文件加载 #61
  • [important] 表达式搜索 #62
  • [important] 方法精确定位算法优化 #65

虽然现在支持了其他的Java版本,但还是建议使用Java 11

下载说明:

  • jar-analyzer-*.jar 使用 java -jar 启动(使用Java 8以上启动,支持 Windows/Mac/Linux
  • jar-analyzer-*-system-jre.exe 使用系统Java 8以上启动(Windows
  • jar-analyzer-*-jre-exe.zip 内置Java 11 JREexe 版本(Windows

1.0

增强了表达式搜索的功能,支持各种各样的组合搜索

更新内容:

  • [important] [bug] 表达式搜索存在漏报 #67
  • [important] [bug] 方法定位算法遇到泛型时的问题 #70
  • [important] [feat] 表达式搜索支持子类父类递归分析 #68
  • [important] [feat] 表达式支持方法注解和类注解搜索 #79
  • [important] [feat] 表达式搜索支持字段搜索 #80
  • [bug] 应该避免处理access$方法 #77
  • [bug] 使用Fira字体在某些情况下有意外的问题 #74
  • [feat] 自动检查更新 #78
  • [feat] 表达式支持方法前后缀 #69
  • [feat] 代码面板应该支持普通的字符串搜索等功能 #76
  • [improve] 字符串搜索应该处理不必要的前后缀字符 #73
  • [improve] 常规搜索简化操作优化体验 #81
  • [improve] 滚动条应该加入两侧的按钮 #75

下载说明:

  • jar-analyzer-*.jar 使用 java -jar 启动(使用Java 8以上启动,支持 Windows/Mac/Linux
  • jar-analyzer-*-system-jre.exe 使用系统Java 8以上启动(Windows
  • jar-analyzer-*-jre-exe.zip 内置Java 11 JREexe 版本(Windows

1.1

优化一些细节问题,提高用户体验

更新内容:

  • [important] 选择文件时只显示JAR/WAR文件提高效率 #84
  • [bug] 应该支持隐藏文件/目录 #85
  • [feat] 显示每一个方法和类来自哪一个Jar文件 #86
  • [feat] 常见搜索允许自定义补充 #87
  • [improve] 限制JAR包大小防止加载过多过大的文件 #83
  • [improve] 表达式查询默认应该显示一些信息提示 #88
  • 简单优化 UI 界面
  • 完善 README 文档

下载说明:

  • jar-analyzer-*.jar 使用 java -jar 启动(使用Java 8以上启动,支持 Windows/Mac/Linux
  • jar-analyzer-*-system-jre.exe 使用系统Java 8以上启动(Windows
  • jar-analyzer-*-jre-exe.zip 内置Java 11 JREexe 版本(Windows

1.2

todo