Files
YukiHookAPI/docs/about/changelog.md

11 KiB
Raw Blame History

更新日志

这里记录了 YukiHookAPI 的版本更新历史。

1.0.87 | 2022.05.10

  • 新增 refreshModuleAppResources 功能,以适配语言区域、字体大小、分辨率改变等情况下的 Resources 刷新
  • 新增 isEnableModuleAppResourcesCache 功能,可自行设置是否自动缓存当前模块的 Resources

1.0.86 | 2022.05.06

  • 修复不支持 Resources Hook(资源钩子) 的情况下在 initZygote 时持续报错的问题,复现在 ZUI/LSPosed CI(1.8.3-6550)
  • 优化并对 Resources Hook 进行异常处理,只有被使用后不支持才会打印错误和警告

1.0.85 | 2022.05.04

  • 修复无法 Hook 系统框架的严重问题,从 1.0.80 开始出现
  • 调试日志中新增区分 initZygote 装载的包名为 android-zygotepackageName 保持 android 不变

1.0.83 | 2022.05.04

  • 修复 YukiHookModuleStatusloadSystem 后大量报错的问题
  • 新增 type 中的 android 类型
  • 更新帮助文档的示例说明

1.0.82 | 2022.05.04

  • 修复了一处概念混淆错误,区分 initZygote 与系统框架的关系,之前的注释和文档有问题,非常抱歉
  • PackageParam 新增 loadSystem 方法,不需要再写 loadApp(name = "android") 即可 Hook 系统框架

1.0.81 | 2022.05.04

  • 修复使用 by 方法设置条件后 Hook 方法体内查找不到的方法、构造方法依然输出错误日志的问题
  • 在执行 Hook 过程中加入全局日志显示当前 Hook APP 的包名,并修复一处错误日志打印样式的问题

1.0.80 | 2022.05.01

  • InjectYukiHookWithXposed 注解新增 entryClassName 功能,可自定义生成的 xposed_init 入口类名
  • YukiHookXposedInitProxy 更名为 IYukiHookXposedInit,原接口名称已作废,将在后续版本中直接被删除
  • 新增 initZygote 与 Resources Hook 功能,支持 Hook Layout
  • 新增 onXposedEvent 方法,可监听原生 Xposed API 的全部事件
  • 对 Hook 功能的 lambda 进行 inline 处理,避免生成过碎的匿名类,提升编译后的运行性能
  • 修复 PrefsData 编译后的方法体复制过大的问题
  • 增加 XSharePreference 可读性测试,失败后会自动打印警告日志
  • PackageParam 新增 appResourcesmoduleAppResourcesmoduleAppFilePath 功能
  • PackageParamloadApp 新增不写 name 功能,默认筛选全部 APP
  • PackageParam 新增 loadZygote 方法,可直接 Hook 系统框架
  • PackageParam 新增 resources().hook 功能
  • 优化方法、构造方法、变量查找功能,找不到的错误日志将优先显示已设置的查询条件
  • 增加 hasExtends 扩展方法,可判断当前 Class 是否有继承关系
  • 增加 isSupportResourcesHook 功能,判断当前是否支持资源钩子(Resources Hook)
  • current 功能新增 superClass 方法调用父类
  • 查找方法、构造方法、变量新增 superClass 查询条件,可继续在父类中查找
  • YukiHookAPI 大量方法与 Xposed API 解耦合
  • 新增 Xposed API 的原生 Hook 优先级功能
  • 修复 isFirstApplication 可能判断不准确的问题
  • 屏蔽 MIUI 系统上 MiuiCatcherPatch 重复调用 Hook 入口方法的问题
  • 优化 Hook 入口调用方法,避免因为 Hook Framework 问题导致多次调用
  • 修复 Hook ClassLoader 导致 Hook 卡死的问题,感谢 WankkoRee 的反馈
  • 提升 XC_Callback 接口对接后的性能
  • Java type 新增 ClassLoader 类型
  • 优化 API 帮助文档,修复可能持续缓存页面的问题

1.0.78 | 2022.04.18

  • YukiHookModulePrefs 新增 isRunInNewXShareMode 方法,可用于判断模块当前是否处于 New XSharePreference 模式
  • 修复 YukiHookModulePrefsNew XSharePreference 模式下工作的部分问题
  • 新增 ModulePreferenceFragment,现在,你可以完全替换掉 PreferenceFragmentCompat 并开始使用新的功能
  • 适配 PreferenceFragmentCompat 的 Sp 数据存储解决方案,感谢 mahoshojoHCG 的反馈
  • 更新自动处理程序以及 Kotlin 依赖到最新版本
  • 修正部分文档和代码注释中的错误

1.0.77 | 2022.04.15

  • YukiHookModulePrefs 新增 clear 方法,感谢 WankkoRee 的建议
  • YukiHookModulePrefs 新增 getStringSetputStringSetall 方法
  • HookParamargs 增加 any 方法
  • 新增 ModuleApplication,可在模块中继承此类实现更多功能
  • 对接全部的 findClass 功能到 Xposed API在非宿主环境继续使用原生 ClassLoader
  • 修复了一些可能存在的 BUG

1.0.75 | 2022.04.13

  • 更正了自动处理程序的逻辑识别部分,感谢 ApeaSuperz 的贡献
  • 修正一处文档注释的引用未更改的问题
  • HookParam 中删除了 firstArgslastArgs 方法,现在你可以使用 args().first()args().last() 来取代它
  • HookParam 中删除了 args() 中的默认参数 index = 0,现在你可以使用 args().first()args(index = 0) 来取代它
  • HookParamresult 功能增加了泛型匹配,现在你可以使用 result<T> 来匹配你的目标方法已知返回值类型了
  • 方法、构造方法查询功能新增 emptyParam 条件,并完善了文档相关需要注意的查询条件误区
  • 增加了 type 中的 android 类型

1.0.73 | 2022.04.10

  • 修正几处文档的中文翻译错误,感谢 WankkoRee 的贡献
  • 修复在某些情况下 XC_LoadPackage.LoadPackageParam 内容为空抛出异常的问题,感谢 Luckyzyx 的反馈
  • 修复一些已知的 BUG提升 Hook 稳定性

1.0.72 | 2022.04.09

  • 更新 API 文档到新的地址
  • PackageParam 中加入 appContext 功能
  • 修复一些已知的 BUG提升 Hook 稳定性

1.0.71 | 2022.04.04

  • 修复 VariousClass 无法匹配时会停止 Hook 抛出异常的严重问题

1.0.70 | 2022.04.04

  • 修复 instanceClass 在静态实例中调用后报错问题
  • 在 Hook 过程中加入 isUseAppClassLoader 功能,感谢 WankkoRee 的反馈
  • 加入 withProcess 功能,可根据 APP 当前指定进程进行 Hook
  • 修复查找方法、构造类和变量的严重逻辑错误问题
  • 修复 Hook 目标类不存在的时候无法忽略异常输出的问题
  • 修复部分情况下 APP 启动方法装载过快导致 Hook 不能生效的问题
  • 修复 allMethods 未 Hook 到方法时不会抛出异常的问题,感谢 WankkoRee 的反馈
  • 加入 Hook 状态监听功能,感谢 WankkoRee 的建议
  • 修改 Xposed 入口注入类的方式,重新声明 API 的定义域
  • 加入混淆的方法以及变量的查找功能,可使用不同类型筛选 index 定位指定的方法和变量,感谢 WankkoRee 提供的思路
  • 查找方法、变量时允许传入多种类型,例如 String 声明的类名和 VariousClass
  • 加入全新的 current 功能,可对任意的类构建一个反射方法操作空间,方便地调用和修改其中的方法和变量
  • 修复了 Hook 过程中的大量 BUG感谢 WankkoRee 对此项目所做出的贡献

1.0.69 | 2022.03.30

  • 添加并改进一些方法功能的注释
  • 增加 Demo 中的更多示例 Hook 内容
  • 修复在一个 Hook 实例中,allMethods 多次使用时只有最后一个生效的问题,感谢 WankkoRee 的反馈

1.0.68 | 2022.03.29

  • 增加 Demo 中的新用例和 LSPosed 作用域
  • 增加 Member 查找缓存和查找缓存配置开关
  • 移除和修改 MethodFinderFieldFinder 以及 HookParam 相关方法的调用
  • 增加更多 Finder 中的 cast 类型并支持 cast 为数组
  • 整体的性能和稳定性提升
  • 修复上一个版本可能存在的 BUG

1.0.67 | 2022.03.27

  • 增加三个 Finder 中的 modifiers 功能,可筛选 staticnativepublicabstract 等诸多描述类型
  • 增加方法和构造方法查找时可模糊方法参数类型为指定个数进行查找
  • 增加 MemberhasModifiers 扩展功能
  • 增加 MethodFinderConstructorFinder 中的 give 方法,可获得原始类型
  • 增加 YukiHookModulePrefs 中的 PrefsData 模板功能
  • 彻底对方法、构造方法及变量的查找方案进行重构
  • 优化代码注释,修复了可能产生的 BUG

1.0.66 | 2022.03.25

  • 修复 MethodFinder 中的一个严重问题
  • 增加 hookParam 中的 args 调用方法
  • 修复其它可能存在的问题以及修复部分类的注释问题

1.0.65 | 2022.03.25

  • 重新发布版本修复 Maven 仓库因为缓存问题新版本不正确的情况
  • 增加 MethodFinderFieldFinder 新的返回值调用方法
  • 修复可能存在的问题,并修复太极使用过程中可能存在的问题
  • 修复自动生成 Xposed 入口类可能发生的问题
  • 增加了 type 中的 android 类型以及 java 类型

1.0.6 | 2022.03.20

  • 修复 YukiHookModulePrefs 在使用一次 direct 忽略缓存后每次都忽略的 BUG
  • 增加新的 API作废了 isActive 判断模块激活的传统用法
  • 修复非 Xposed 环境使用 API 时打印调试日志的问题
  • 修复查找 Field 时的日志输出问题和未拦截的异常问题
  • 解耦合 ReflectionUtils 中的 Xposed API
  • 增加 YukiHookModuleStatus 方法名称的混淆,以精简模块生成的体积
  • 装载模块自身 Hook 时将不再打印欢迎信息
  • 修复上一个版本仍然存在的某些 BUG

1.0.55 | 2022.03.18

  • 修正一处注释错误
  • 临时修复一个 BUG
  • 增加了 type 中的大量 android 类型以及少量 java 类型
  • 修复新版与旧版 Kotlin APIs 的兼容性问题

1.0.5 | 2022.03.18

  • 修复旧版本 LSPosed 框架情况下欢迎信息多次打印的问题
  • 添加 onInit 方法来配置 YukiHookAPI
  • 新增 executorNameexecutorVersion 来获取当前 Hook 框架的名称和版本号
  • 新增 by 方法来设置 Hook 的时机和条件
  • YukiHookModulePrefs 新增可控制的键值缓存,可在宿主运行时模块动态更新数据
  • 修复了一些可能存在的 BUG

1.0.4 | 2022.03.06

  • 修复 LSPosed 在最新版本中启用“只有模块classloader可以使用Xposed API”选项后找不到 XposedBridge 的问题
  • 添加 YukiHookAPI 的常量版本名称和版本号
  • 新增 hasField 方法以及 isAllowPrintingLogs 配置参数
  • 新增 isDebug 开启的情况下 API 将自动打印欢迎信息测试模块是否生效

1.0.3 | 2022.03.02

  • 修复一个潜在性的异常未拦截 BUG
  • 增加 ignoredError 功能
  • 增加了 type 中的 android 类型
  • 增加监听 hook 后的 ClassNotFound 功能

1.0.2 | 2022.02.18

  • 修复 Windows 下无法找到项目路径的问题
  • 移除部分反射 API合并至 BaseFinder 进行整合
  • 增加直接使用字符串创建 Hook 的方法

1.0.1 | 2022.02.15

  • RemedyPlan 增加 onFind 功能
  • 整合并修改了部分反射 API 代码
  • 增加了 type 中的 java 类型
  • 修复忽略错误在控制台仍然输出的问题

1.0 | 2022.02.14

  • 首个版本提交至 Maven