如何反编译jar并修改后还原为jar
如何反编译jar并修改后还原为jar
目标:修改jar包中某个类的某个方法后还原为新的jar
1.新建android工程,把旧的jar添加为lib
2.用jadx-gui打开旧的jar并保存所有资源
3.找到保存的资源中想修改的.java类
4.复制类中的内容, 在android工程中新建一个同样路径的包,并在包下创建同样名字的类,然后把复制的内容粘贴进去(或者把3中找到的java类直接放在同样路径的包下面)
5.修改爆红的地方及想修改的逻辑
6.android studio中点击build->recompile 当前的java 然后会在build/intermediates/javac/包路径下找到生成的.class文件
7.解压缩旧的jar,就像正常解压缩包一样,找到解压后对应包下的.class文件所在的文件夹
8.在文件夹打开.class文件,复制所有文件粘贴到第7步中的文件夹下,所有文件选择替换
9.在解压的旧的jar的根目录下执行命令 jar cvf unity-player-new.jar . 注意unity-player-new.jar为我自己命名的输出的jar的名称,可替换为自己想要命的名,注意后面有个空格和.不要忘记
注意:第7步中解压的文件夹中有多个unityPlayer@1.classes等类似的unityPlayer开头的代码全部删掉,然后在第8步放进去生成的所有unityPlayer.class 这样生成的jar中可以看到方法体, 如果不删除其余的会造成在android studio中查看时不显示方法内容
命令: 合并.class进入已有jar
jar uf existing.jar newclassfile.class
相关文章:
如何反编译jar并修改后还原为jar
如何反编译jar并修改后还原为jar 目标:修改jar包中某个类的某个方法后还原为新的jar 1.新建android工程,把旧的jar添加为lib 2.用jadx-gui打开旧的jar并保存所有资源 3.找到保存的资源中想修改的.java类 4.复制类中的内容, 在android工程中新建一个同样路径的包,并在包下创建…...
统计信号处理基础 习题解答10-5
题目 通过令 并进行计算来重新推导MMSE估计量。提示:利用结果 解答 首先需要明确的是: 上式是关于观测值x 的函数 其次需要说明一下这个结果 和教材一样,我们用求期望,需要注意的是,在贝叶斯情况下,是个…...
Vue3实战笔记(60)—从零开始:一步步搭建Vue 3自定义插件
文章目录 前言一、自定义插件二、使用步骤总结 前言 在开发和学习中,经常使用一些好用的插件,那么如何创建一个自己的插件呢?在 Vue 3 中,你可以通过创建一个包含 install 方法的对象来定义自定义插件。install 方法接收两个参数…...
Java面向对象笔记
多态 一种类型的变量可以引用多种实际类型的对象 如 package ooplearn;public class Test {public static void main(String[] args) {Animal[] animals new Animal[2];animals[0] new Dog();animals[1] new Cat();for (Animal animal : animals){animal.eat();}} }class …...
如何通过PHP语言实现远程控制多路照明
如何通过PHP语言实现远程控制多路照明呢? 本文描述了使用PHP语言调用HTTP接口,实现控制多路照明,通过多路控制器,可独立远程控制多路照明。 可选用产品:可根据实际场景需求,选择对应的规格 序号设备名称厂…...
Capture One Pro 23:专业 Raw 图像处理的卓越之选
在当今的数字摄影时代,拥有一款强大的图像处理软件至关重要。而 Capture One Pro 23 for Mac/Win 无疑是其中的佼佼者,为摄影师和图像爱好者带来了前所未有的体验。 Capture One Pro 23 以其出色的 Raw 图像处理能力而闻名。它能够精准地解析和处理各种…...
【主题广泛|投稿优惠】2024年交通运输与信息科学国际会议(ICTIS 2024)
2024年交通运输与信息科学国际会议(ICTIS 2024) 2024 International Conference on Transportation and Information Science 【重要信息】 大会地点:青岛 大会官网:http://www.icictis.com 投稿邮箱:icictissub-conf.…...
表格误删数据保存关闭后如何恢复?5个恢复方法大公开!
“我在编辑表格的时候一不小心就删除了部分数据,现在真的不知道该怎么操作了。希望大家能帮帮我吧!” 在日常工作中,我们经常会使用到各种表格软件来处理和分析数据。然而,有时由于操作失误或其他原因,我们可能会误删表…...
Go 语言中的切片:灵活的数据结构
切片(slice)是 Go 语言中一种非常重要且灵活的数据结构,它提供了对数组子序列的动态窗口。这使得切片在 Go 中的使用非常频繁,特别是在处理动态数据集时。本文将探讨切片的概念、操作和与函数的交互,以及如何有效地使用…...
在鲲鹏服务器搭建k8s高可用集群分享
高可用架构 本文采用kubeadm方式搭建k8s高可用集群,k8s高可用集群主要是对apiserver、etcd、controller-manager、scheduler做的高可用;高可用形式只要是为: 1. apiserver利用haproxykeepalived做的负载,多apiserver节点同时工作…...
MySQL之数据库事务机制学习笔记(五)
事务机制 事务(Transaction)是数据库管理系统中的一个重要概念,它是一组数据库操作的逻辑单元,要么全部执行成功,要么全部执行失败,具有以下四个特性,通常缩写为 ACID: 原子性&…...
linux 系统被异地登录,cpu占用拉满100%
一般是kswapd0导致的cpu占用异常 按顺序执行以下操作 在控制台执行top命令,查看占用最高的是否kswapd0。基本100%占用。记下该进程ID 5081 执行查找命令 find / -name kswapd0 显示查找结果: /proc/3316/.X2c4-unix/.rsync/a/kswapd0 /root/.configrc…...
智慧校园应用平台的全面建设
在当今社会,随着科技的不断进步,智慧校园应用平台逐渐成为学校管理的必备工具。在实现智慧校园全面建设的过程中,学校需要运用先进的技术和创新的理念,为教育提供更好的服务和支持。这篇文章将为您介绍智慧校园应用平台的全面建设…...
图论第6天
提高效率!!!两道题看并查集 841.钥匙和房间 忘了把visited 加引用了:& class Solution { public:bool canVisitAllRooms(vector<vector<int>>& rooms) {vector<int>visited(rooms.size(),false);dfs(rooms,visited,0);for(int i 0;i …...
Redis教程(二十一):Redis怎么保证缓存一致性
传送门:Redis教程汇总篇,让你从入门到精通 Redis 的缓存一致性 Redis 的缓存一致性是指在使用 Redis 作为缓存层时,保证缓存中的数据与数据库中的数据保持一致的状态。在分布式系统中,数据一致性是一个重要的问题,因为可能存在多个客户端同时读写同一数据,或者数据在不同…...
android apk签名
android apk签名 命令: java -jar signapk.jar platform.x509.pem platform.pk8 **.apk ***.apk note: apk密钥为: platform.pk8和platform.x509.pem 路径: build\target\product\security apk签名工具:sign…...
flutter 解析json另类封装方式 List<bean>,哈哈哈
flutter 解析json另类封装方式,哈哈哈 日常学习,仅供参考,不喜 勿喷 http请求数据泛型解析封装,需要判断泛型数据类型再根据类型解析,本文只抽取了list演示 核心代码 import dart:convert;import package:webwsyn/h…...
哈希表(Hash table)
哈希表(Hash table),也称为散列表,是一种根据关键码值(Key value)直接进行访问的数据结构。它通过散列函数(Hash function)将关键码值映射到表中的一个位置,以此来访问记录,从而加快查找的速度。以下是关于哈希表的详细解释: 基本概念 散列函数:将关键码值映射到表…...
【c语言】自定义类型-结构体
结构体 结构体的声明与使用结构体的声明与初始化结构体的自引用 结构体的内存对齐对齐规则为什么存在内存对齐修改默认对齐数 结构体的传参结构体实现位段什么是位段位段的内存分配位段的跨平台问题位段使用的注意事项 结构体:是一个自定义的类型,成员可…...
2-链表-71-环形链表 II-LeetCode142
2-链表-71-环形链表 II-LeetCode142 参考:代码随想录 LeetCode: 题目序号142 更多内容欢迎关注我(持续更新中,欢迎Star✨) Github:CodeZeng1998/Java-Developer-Work-Note 技术公众号:CodeZeng1998&#…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
