Jadx 1.2.0 开源Android逆向工具 11/14更新
本帖最后由 leon406 于 2020-11-15 10:42 编辑时隔一年,作者终于又更新了{:301_993:}
1.2.0更新内容如下:
主要变化
[*]gui:支持重命名方法,类和字段
[*]gui:允许加载多个文件,添加文件按钮
[*]res:修复重复的条目并在XML资源中消除文件名的混淆
[*]核心:改进的泛型和varargs恢复
[*]从标准库添加方法信息,改进泛型和varargs恢复
[*]deobf:添加Kotlin元数据的类名解析
[*]deobf:通过包含类属性和有关分别实现的超类的接口的信息来改进模糊的类名称
[*]gui:添加Messages_de_DE.properties
[*]gui:允许加载多个文件,添加文件按钮
[*]gui:允许搜索完整的方法/字段签名,而不仅仅是名称
[*]gui:映射前进和后退鼠标键进行导航
[*]gui:在鼠标悬停时突出显示具有启用操作的标识符(例如“查找用法”或“重命名”)
[*]gui:通过树面板中的弹出菜单重命名类和字段
[*]gui:重新打开文件重新加载选项卡
[*]gui:支持重命名方法,类和字段
[*]res:修复XML资源中重复的条目并消除文件名的混淆
[*]res:如果包含不可打印的字符或重复项,则重命名资源密钥
性能改进
[*]gui:减少内存使用量栏的更新次数
[*]res:加速已混淆资源的重命名
Bug修复
[*]在实地访问上将强制类型转换添加为确切类型
[*]将方法和字段类型添加到使用情况信息
[*]添加了另一个枚举还原模式
[*]使用位置的其他强制转换有助于键入推断
[*]插入移动之前进行其他检查以帮助键入推断
[*]对循环中的'if'块进行附加检查
[*]附加检查类签名
[*]恢复枚举类的其他模式
[*]另外显示所有内部类的smali代码(递归)
[*]另外显示内部类的smali代码(
[*]调整限制以跳过大型方法的处理
[*]调整算术指令的类型
[*]允许跨块内联移动
[*]允许在同步块中的'monitor-exit'周围内联变量
[*]允许重新生成类代码
[*]在OverrideMethodVisitor之前附加方法详细信息
[*]带回smali文件支持
[*]在删除之前检查枚举构造函数的内容
[*]检查字段访问中的强制转换,将方法内联移动到访客
[*]类解决问题
[*]收集班级用法并修复班级访问修饰符
[*]并发访问可能会导致JNodeCache中出现java.lang.ClassCastException
[*]正确检测同步块中的出口
[*]跨PHI指令正确合并代码变量
[*]正确的方法出口块收集
[*]正确解析array-data-payload
[*]稀疏开关有效载荷的正确跳过大小
[*]填充数组指令的正确类型和数据合并
[*]如果class不是内部,则正确处理扩展枚举
[*]深度重载内部类,const值和匿名类
[*]不要将输入文件作为资源复制到输出文件夹
[*]不要为静态方法添加@override
[*]如果超级方法是私有方法,请不要添加@override
[*]不要为PHI insn添加强制类型转换
[*]不要再应用已解析的类型
[*]如果不需要,不要应用const split
[*]如果搜索失,则不应用类型
[*]不要用指令副本复制结果arg(破坏SSA变量分配)
[*]在不分配变量的情况下不生成字符串连接
[*]不要内联'null'对象以使代码可编译
[*]不要在同步语句中内联常量
[*]不要在MethodInvokeVisitor中修改方法参数类型
[*]如果是指令,请不要打印注释的大小写值
[*]不要从枚举中删除合成方法
[*]不信任签名中的类型信息,请在应用前检查
[*]不要在ZipF上使用FileChannel以避免创建临时文件
[*]不要使用操作系统特定的换行符
[*]不要使用可变LiteralArg类的静态变量
[*]从dex转换结果中排除目录
[*]处理原始类型转换中的方法参数
[*]在布尔值上处理xor
[*]改善开关中的“输出”块检测
[*]改进类型推断中的布尔类型处理
[*]改进将布尔值转换为int的检查
[*]改善ClassNode重载并还原某些更改
[*]改进类型推断中类型更新的限制计算
[*]改进资源类型检测并删除不推荐使用的方法
[*]改善数组的类型推断
[*]在invoke insn中改进泛型的类型推断
[*]改进方法调用中类型变量的类型推断
[*]改善通配符类型比较
[*]来自同一块的内联分配指令
[*]内联类常量以修复枚举转换
[*]内联移动指令以帮助流程构造器
[*]加载.class文件
[*]如果要内联某些方法,请公开类
[*]对合成构造函数进行正确替换
[*]标记覆盖方法并修复返回类型
[*]方法信息缓存错误
[*]@override的更多可见性检查
[*]将类卸载移动到同步块
[*]在逐数组转换中保留代码语义
[*]防止方法签名解析中的无限循环
[*]防止zipbomb伪造的标题攻击
[*]记录内联的类并为其生成Smali代码
[*]重做阴影字段处理
[*]在方法内联访问者中重新加载正确类的请求
[*]在指令检查后删除枚举方法
[*]删除未使用结果的移动指令
[*]替换注释中数组的常量
[*]替换注释中的常量
[*]替换数组中的类型变量
[*]在类重载上重新运行签名解析器
[*]将char文字错误地解析为字符串
[*]解决CodeWriter重构中引入的类强制转换异常
[*]在编码值访问上解决ClassCastException
[*]如果尚未加载方法,则解决SkipMethodArgsAttr中的错误
[*]解决分配内联时的异常
[*]解决方法参数中的泛型类型
[*]解决多线程卸载
[*]在比较外部泛型类型时解析NPE
[*]解决了软件包重命名和类重载)的几个问题
[*]解决循环切换的某些情况
[*]在Kotlin元数据解析器中解析回归
[*]重新启动注释以在insn后备转储中转义字符串
[*]恢复android R类(回归)
[*]恢复Java 15的枚举
[*]在类初始化方法中恢复几个块的枚举
[*]泛型和类型推断的多项改进,关闭
[*]如果区域创建者将FORCE_ASSIGN_INLINE添加到insn,则收缩代码
[*]通过跳过不相关的出口来加快开关处理
[*]在PHI中使用分割CONST来帮助进行类型推断
[*]将循环转换for为末端有分支
[*]尝试使用原始类型来帮助进行类型推断
[*]使用super,而不是this当super构件被遮挡
[*]对Throwable使用正确的类,如果未定义则插入catch arg名称
[*]使用内部使用信息进行重命名,修复索引刷新
[*]对嵌套内部泛型类使用递归对象
[*]RSyntaxTextArea中的链接单击的解决方法
[*]deobf:软件包为空时解析NPE(如果禁用重命名)
[*]gui:将Deutsch添加到语言环境列表
[*]gui:为进度标题添加点)
[*]gui:允许重命名软件包
[*]gui:清除文件关闭时的跳转历史记录
[*]gui:菜单退出操作)上正确的应用程序关闭
[*]gui:修复重命名对话框包
[*]gui:改进Deutsch翻译
[*]gui:在后台线程中加载文件并显示进度指示器
[*]gui:合并插件服务文件(
[*]gui:仅显示JClass,JField和JMethod的重命名选项
[*]gui: RenameDialog:如果反混淆设置无效,则警告用户
[*]gui:解决--select-class-class选项回归
[*]gui:解决索引期间的异常
[*]gui:重命名前运行indexJob
[*]gui:使用--select-class进行搜索的类也按未混淆的名称
[*]gui:仅搜索方法和字段的简称
[*]gui:更新Deutsch翻译
[*]gui:更新Messages_zh_CN.properties
[*]gui:写入映射文件时使用正确的字符集
[*]gui:使用env%JAVA_HOME%作为JRE路径
[*]res:修复了混淆的资源文本文件的保存
[*]res:将反混淆后的文件放入res /文件夹
[*]res:添加了用于父属性的资源XML生成
[*]res:跳过xml属性解析中未使用的字节
[*]res: XML解析:TYPE_DYNAMIC_REFERENCE条目的处理
[*]xml:在解析方法中重置nsMap
下载文件说明:
[*]jadx-gui-1.2.0-with-jre-win.zip-带有捆绑JRE的jadx-gui
[*]jadx-gui-1.2.0-no-jre-win.exe-jadx-gui单个exe,必须安装系统JRE
[*]jadx-1.2.0.zip-跨平台cli和gui捆绑包,必须安装系统JRE
有jdk环境的下载 第二个
没jdk环境的下载 第一个
正常使用图
github 地址 支持,顶 JADX打开app,打开AndroidManifest.xml,找到第一个<activity所在的位置,按住CTRL再单击"com.省略.省略.main.activity.SplashActivity",就进入app初始化的第一个界面了。
这个怎么打为开activity的对象 有没有LUA脚本全源的工具呢 谢谢{:1_919:}分享 感谢分享! 感谢分享 感谢楼主的分享,十分感谢。 工具又有更新了啊,真好~~ 可以直接反编辑apk吗? 竟然更新了。感谢分享 谢谢楼主分享!哦