Android APK 反编译后重新打包并签名

news2024/11/13 10:04:13

APKTool:
Apktool 是一个逆向android非常有用的工具,可以用来反编译apk文件,并且能在修改部分资源文件后,重新打包成一个新的apk。

下载连接:http://ibotpeaches.github.io/Apktool/install/


下载之后文件夹非常清爽,只有两个文件:

 之后将需要反编译的 APK 拉到这个目录下,cmd命令:

apktool  d  myApp.apk

其中 myApp.apk 是需要反编译的 APK

反编译完成后就会看到在此目录下多了一个 myApp 的文件夹,这就是反编译的产物


OK,现在运用 APKTool 把反编译后的产物重新编译成 APK,cmd命令:

apktool  b  myApp  -o  myApp_recompiled.apk

运行编译完成后次目录下就会多了一个 myApp_recompiled 的 APK,但是此 APK 是不能安装的,因为还没有签名


现在对编译出来的 APK 进行签名

需要准备好签名文件(.jks),将 jks 文件复制到次目录下,cmd命令:

jarsigner -verbose -keystore  my-release-key.jks  -storepass  my-storepass  -keypass my-keypass myApp_recompiled.apk  alias_name

 my-release-key.jks:jks文件名

my-storepass:密钥库密码

my-keypass:别名密码

myApp_recompiled.apk:需要签名的 APK 名称

alias_name:别名

运行签名后 myApp_recompiled.apk 这个 APK 就能够正常安装运行


接下来再对 APK 进行优化,cmd命令:

zipalign  -v  4  myApp_recompiled.apk  myApp_optimized.apk

 myApp_optimized.apk 这个 APK 就是经过优化后的产物了


反编译和重新编译并签名优化的流程就是这么多,我们可以在反编译后的产物中修改一些资源文件后重新编译成 APK 来达到自己想要的效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/488990.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电力节能设备远程监控系统解决方案

电力节能设备远程监控系统解决方案 一、项目背景 随着城市化进程的发展,对电力设备安全、可靠、经济运行的要求越来越高,由于没有统一专业的用电现代化管理规划,电力设备管理混乱、数据采集不方便、运行智能化程度低,需要实时掌…

复合查询--- MySQL总结(三)

复合查询 文章目录 复合查询多表查询自连接子查询单行查询多行查询多列子查询合并查询 多表查询 前面讲述的关于进行一个表的简单查询和关于时间函数的相关问题,下面要进行复合查询的相关内容。 这里要使用卡笛尔集的概率让两个表融合成为一个表。 需要使用相应的字…

vue项目为例解决element ui 时间选择器 picker使用样式穿透不起作用问题

今天在开发中 需要修改时间选择器弹出的这个组件的样式 但这个东西比较坑爹 首先 不能影响其他组件 就是其他组件用了时间选择器 不能受到我们写的样式的影响 那么 就只好穿透了 但你会发现 这东西是作用与body下的 就很坑 穿透我试了挺久的 不起作用 但官方文档有提供给我们一…

centos7 配置 sftp 服务器并通过 java 上传文件

虚拟机配置 1、创建sftp用户组 groupadd sftp2、添加用户 useradd -g sftp mysftp3、设置用户密码 passwd mysftp4、创建文件根目录 mkdir /app/data5、将该目录设置到用户上 usermod -d /app/data mysftp6、修改配置文件 vim /etc/ssh/sshd_config7、找到 Subsystem &am…

算法记录 | Day50 动态规划

123.买卖股票的最佳时机III 思路: 1.确定dp数组以及下标的含义 最多可完成两笔交易意味着总共有三种情况:买卖一次,买卖两次,不买卖。 具体到每一天结束总共有 5 种状态: 未进行买卖状态;第一次买入状…

手动封装一个日期处理工具类,几乎覆盖了所有的时间操作(收藏)

工具类包含以下方法: - stringToDate: 将字符串转换为java.util.Date类型- dateToString: 将java.util.Date类型转换为字符串- stringToLocalDateTime: 将字符串转换为LocalDateTime类型- localDateTimeToString: 将LocalDateTime类型转换为字符串- dateToLocalDat…

01-Java 核心基础

Java核心基础 Java 开发基础知识Java 语言概述安装 Java 开发环境 开发体验Hello World 程序Java 注释 Java 开发基础知识 Java 语言概述 Java 是 SUN(斯坦福大学网络公司)1995 年推出的一门高级编程语言,它是一种面向 Internet 的编程语言&…

医院检验信息管理系统源码(云LIS系统源码)JQuery、EasyUI

云LIS系统是一种医疗实验室信息管理系统,提供全面的实验室信息管理解决方案。它的主要功能包括样本管理、检测流程管理、报告管理、质量控制、数据分析和仪器管理等。 云LIS源码技术说明: 技术架构:Asp.NET CORE 3.1 MVC SQLserver Redis等…

【虹科案例】使用 TCP 分析测量握手时间

如何使用 Allegro Network 万用表的 TCP 分析确定握手时间 握手需要多少时间? 在图 1 中,您可以在虹科Allegro 网络万用表的 TCP 统计数据中看到过去 10 分钟的客户端握手次数。在这里,您可以清楚地看到在指定时间段内有延长的响应时间。但…

计算机专业基础知识

大纲分单元讲解计算机的发展、类型及其应用领域计算机技术的发展计算机应用领域 计算机中数据的表示、存储和处理计算机软、硬件系统的组成及主要技术指标计算机软、硬件系统的组成硬件系统软件系统系统软件应用软件 计算机的结构计算机主要性能指标 自我测试 大纲 计算机的发…

Window 10 环境下用 OpenVINO 2022.3部署yolov5 7.0

Window 10 环境下用 OpenVINO 2022.3部署yolov5_7.0 1 下载并解压 OpenVINO Runtime OpenVINO™ Runtime 2022.3 以压缩包 (OpenVINO Archives) 的形式提供。 下载地址: storage.openvinotoolkit.org 下载后解压到 C:\Intel\openvino_2022.3.0 配置环境&#xff…

【STL模版库】STL入门 {模版初阶:泛型编程,函数模版,类模版;STL简介:什么是STL,STL六大组件}

一、模版初阶 1. 泛型编程 如何实现一个通用的交换函数呢? void Swap(int& left, int& right) { int temp left; left right; right temp; } void Swap(double& left, double& right) { double temp left; left right; right temp; } void…

【Python习题集5】函数的设计

函数的设计 一、实验内容二、实验总结 一、实验内容 1.编写两个函数分别按单利和复利计算利息,根据本金、年利率、存款年限得到本息和和利息。调用这两个函数计算1000元在银行存3年,在年利率是6%的情况下,单利和复利分别获得的本息和和利息。…

【Java虚拟机】JVM垃圾回收器详解

1.什么是垃圾收集器 垃圾回收算法是内存回收的方法论,垃圾收集器则是内存回收的具体实现 目前Java规范中并没有对垃圾收集器的实现有任何规范 不同的厂商、不同的版本的虚拟机提供的垃圾收集器是不同的,主要讨论的是HotSpot虚拟机 不存在最厉害的垃圾…

【Java】内部类Object类

目录 1.内部类 1.1实例内部类 1.2静态内部类 1.3局部内部类 1.4匿名内部类 2.Object类 2.1getClass方法 2.2equals方法 2.3hashcode方法 1.内部类 定义:一个类定义在另一个类或一个方法的内部,前者称为内部类,后者称为外部类。 分…

JWT渗透与防御

JWT渗透与防御 什么是JWTJWT漏洞介绍工具使用 身份认证(Authentication)又称鉴权,是指通过一定的手段,完成对用户身份的确认。认证的方式:sessioncookie、JWT、Token session认证的局限性 session认证机制需要配合cookie才能实现。由于cookie…

238页9万字大数据治理与服务平台建设及数据服务实施方案(word)

本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除。 1 项目解决方案 1.1 建设类业务技术方案 1.1.1 业务需求分析 根据对招标要求的理解,建设业务需求主要包括如下几个方面: (1&#xff…

网站遭遇XSS注入如何排查及解决

首先要明白什么是XSS注入 存储型 XSS 的攻击步骤: 攻击者将恶意代码提交到目标网站的数据库中。用户打开目标网站时,网站服务端将恶意代码从数据库取出,拼接在 HTML 中返回给浏览器。用户浏览器接收到响应后解析执行,混在其中的…

Docker部署spring boot项目

在docker部署时首先要保证一般部署能够访问。 docker命令部署spring boot项目 目前主流的java框架为spring,软件包为jar包,只需以jar为基础构建容器环境。打包为jar后只需要jvm就可以运行,因此需要以jdk为镜像构建容器。 基于命令构建jdk环…

MySQL面试八股文:索引篇

索引的定义 索引是数据库中用来加速数据查询的一种数据结构。它可以将数据表中的某一列或多列进行排序,以便快速查找数据,减少数据库的扫描次数,提高查询速度。 索引的优缺点 索引的优点是可以大幅度提高数据查询的速度,尤其是…