📦 版本动态
### 主要功能和修复 安全修复: - 拒绝 zip 条目中使用绝对路径或指向当前工作目录(CWD)的路径 - 清理导出时 gradle 脚本中的所有字符串值 - 在摘要页面添加缺失的转义 核心: - 使用队列代替递归进行类型更新 图形界面(GUI): - 图形视图、代码面板同步等(PR #2784) - 在资源树中折叠单子目录链(PR #2866) - 在文件选择器中处理粘贴的文件列表(PR #2876) - 对文件异常显示简单消息框(#2659) API: - 允许在未找到匹配文件时创建输入类别节点(#2806) - 新增用于处理调用图的模块/库(#2890) ### 所有更改 <details> <summary>点击展开</summary> ### 功能特性 - [核心] 图形视图、代码面板同步等(PR #2784) - [核心] 使用队列代替递归进行类型更新 - [核心] 新增用于处理调用图的模块/库(#2890) - [图形界面] 为桌面文件添加 MIME 类型 - [图形界面] 加载后打开单个已加载类 - [图形界面] ---
### 主要 Bug 修复 - 代码区域由错误的线程更新,导致大量异常报告弹窗、UI(用户界面)冻结和 CPU(中央处理器)占用过高 (#2798) ### 其他 Bug 修复 - [gui] 解决项目数据加载期间可能的 NPE(空指针异常) (#2794) - [gui] 在 JadxTokenMaker 中对 `NULL` token(令牌)停止 token 处理 (#2798) - [gui] 使 Split view(拆分视图)复选框能够在两种模式之间正确切换 (PR #2801) - [core] 为从具有已知类型的字段赋值的变量插入泛型转换 (#2776) **完整变更日志**:https://github.com/skylot/jadx/compare/v1.5.4...v1.5.5 ### 下载文件: - [jadx-gui-1.5.5-with-jre-win.zip](https://github.com/skylot/jadx/releases/download/v1.5.5/jadx-gui-1.5.5-with-jre-win.zip) - 包含 JRE(Java运行时环境)的 jadx-gui - [jadx-gui-1.5.5-win.zip](https://github.com/skylot/jadx/releases/download/v1.5.5/jadx-gui-1.5.5-win.zip) - jadx-gui Windows 可执行文件(需要安装系统 JRE) - [jadx-1.5.5.zip](https://github.com/skylot/jadx/releases/download/v1.5.5/jadx-1.5.5.zip) - cross-p
### 主要特性 CLI(命令行界面): - 实现配置文件加载与保存 (#1731) GUI(图形用户界面): - 随 UI 缩放调整字体大小,使用 FlatLaf 字体包 - 使用支持 CJK(中日韩文字)的 FontUtils.getCompositeFont() (PR #2751) Plugins(插件): - 脚本插件现已外部化,不再包含在发布包中。请参阅 [jadx-script-kotlin](https://github.com/jadx-decompiler/jadx-script-kotlin) 获取安装详情。 - 支持 '.apks' 文件 (PR #2647) - 允许使用 `.zip` 作为插件构件(内含 jar 文件) - 将插件异常报告至插件的 GitHub 项目 ### 全部变更 <details> <summary>点击展开</summary> ### 功能 - [core] 允许修改类型推断更新的限制 (PR #2629) - [core] 支持 '.apks' 文件 (PR #2647) - [core] 从重复类中选择更优类 (#2701)(PR #2702) - [cli] 实现配置文件加载与保存 (#1731) - [gui] 添加 UI 缩放比例选项 (#2720) - [gui] 随 UI 缩放调整字体大小,使用 FlatLaf 字体包 - [gui] 报告插件异常
### 功能特性 - [aab] 增强 AAB 解析(PR #2557) - [gui] 新增搜索选项,可在文本或二进制资源中搜索(PR #2526) - [gui] 允许查看和编辑输入的 smali 文件 - [export] 使用 manifest 中的 `compileSdkVersion`,更新 AGP 至 8.10.1,以及其他改进(PR #2528) ### 问题修复 - 修正纯文本 XML 文件的加载(PR #2537) - 修正负数的十六进制格式(#2531) - 仅在 x86-64 架构上使用 'dev.dirs' 的 JNI 实现(#2578) - 生成 CFG 时使用正确的换行符(PR #2592) - [cli] 改进 jadx-cli 中的内存使用(#2524) - [cli] 添加缺失的 '-XX:+IgnoreUnrecognizedVMOptions' JVM 参数(#2554) - [gui] 修复搜索对话框中换行布局重绘问题的临时方案(PR #2521) - [gui] 移除 Frida 代码片段中的重复类(PR #2525) - [gui] 在 Frida 脚本中使用 `var` 替代 `let` 声明类变量(PR #2527) - [gui] 防止 MethodSearchProvider 中的 IndexOutOfBoundsException 异常(PR #2542) - [gui] 若项目未加载则禁用调试器操作(#2547)
### 主要特性 核心: - 自定义 ZIP 读取器实现,以防止篡改 - 添加 Gradle 导出模板,支持 Android 应用/库和简单 Java - 初步支持 DEX v41(#2128) GUI(图形用户界面): - 添加带选项的导出对话框(PR #2378) - 树形结构使用搜索(PR #2498) - 从 UI 主题添加动态代码编辑器主题(PR #2471) - 添加预览标签功能(PR #2474) - 新的 HexViewer(十六进制查看器)(PR #2469) 插件: - 添加 APKM 支持(PR #2379) - 解析并使用带有 SMAP 的 Kotlin SourceDebugExtension 来重命名类和包(PR #2389) API(应用程序接口): - 为 JadxPlugin 添加 'unload' 方法(#2463) - 为树节点添加上下文菜单项的方法(#2412) - 添加按名称获取 jadx-gui 图标的方法 - 添加打开使用对话框的方法 ### 所有变更 <details> <summary>点击展开</summary> ### 功能特性 - 替换方法参数注解中的常量(PR #2358) - 添加 APKM 支持(PR #2379) - 解析并使用带有 SMAP 的 Kotlin SourceDebugExtension 来重命名类