安卓APK反编译+修改+重打包+签名

目录

  • 1.下载反编译工具包。
  • 2.将APK包,重命名为ZIP,解压。放到反编译根目录下。
  • 3.使用apktool反编译修改smail文件,进行重打包
  • 4.重新打包
  • 5.重签名

1.下载反编译工具包。

反编译工具包地址:百度网盘
提取码:dsu3
解压后有四个压缩包:apktool.rar、dex2jar、jdgui、Auto-Sign;
在这里插入图片描述
注意,将反编译包的路径改为全英文的,以防发生意外。

2.将APK包,重命名为ZIP,解压。放到反编译根目录下。

在这里插入图片描述
修改APK的后缀名为zip,并解压。
在这里插入图片描述
进入解压包,得到classes.dex文件。
在这里插入图片描述
复制classes.dex文件到dex2jar文件夹中。
在这里插入图片描述
在该文件夹中输入cmd,进入命令行,使用如下命令:dex2jar.bat classes.dex。
在这里插入图片描述
在dex2jar文件夹中就会生成一个jar文件。
在这里插入图片描述
使用jdgui,打开这个jar包,就可以可看到源码,但是不能修改,就需要进行下面的操作,修改代码。
在这里插入图片描述

3.使用apktool反编译修改smail文件,进行重打包

在apktool文件夹中有三个工具。
在这里插入图片描述
将需要反编译的APK放到改文件夹中
在这里插入图片描述
打开cmd,输入如下命令:apktool.bat d -f <APK名> -o <输出文件夹名>
在这里插入图片描述
反编译后就会生成一个文件夹
在这里插入图片描述
生成的文件夹中包含程序的各种资源文件。
在这里插入图片描述
在jdgui中查看需要修改的代码的位置,之后再smali文件夹中进行修改。
在这里插入图片描述
修改完后保存。

4.重新打包

回到apktool目录下,执行打包命令:apktool.bat b <文件夹名>
在这里插入图片描述
在文件夹中就会生成两个文件夹
在这里插入图片描述
dist文件内就是我们需要的APK。虽让生成了APK,但是由于有签名的原因,并不能直接安装。
在这里插入图片描述

5.重签名

将生成的APK复制到Auto-Sign文件夹中。
在这里插入图片描述
执行签名命令:java -jar signapk.jar testkey.x509.pem testkey.pk8 app-Luohu-release.apk app-Luohu-release-new.apk 。
在这里插入图片描述
app-Luohu-release-new.apk是重新签名后的软件名(可以自己定名字)。
在这里插入图片描述

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

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

相关文章

AtcoderABC243场

A - Shampoo A - Shampoo ] 题目大意 高桥家有三个人&#xff1a;高桥、他的父亲和他的母亲。每个人每晚都在浴室洗头发。他们按照顺序使用AA、BB和CC毫升的洗发水。 问&#xff0c;今天早上瓶子里有VV毫升的洗发水。在不重新装满的情况下&#xff0c;谁会第一个用完洗发水洗头…

网工内推 | 美图秀秀招网工,大专以上,15薪,NP认证优先

01 美图公司 招聘岗位&#xff1a;网络工程师 职责描述&#xff1a; 1、美图大厦网络、分公司网络、IT相关项目的网络、办公内网服务器&#xff1b; 2、负责网络的设计、运行、管理和维护等工作&#xff1b; 3、负责远程办公环境的优化、运行、管理和维护工作&#xff1b; 4、…

python匿名函数Lambda

1、Lambda 函数简介 Lambda函数也被称为匿名(没有名称)函数&#xff0c;它直接接受参数的数量以及使用该参数执行的条件或操作&#xff0c;该参数以冒号分隔&#xff0c;并返回最终结果。为了在大型代码库上编写代码时执行一项小任务&#xff0c;或者在函数中执行一项小任务&a…

git merge详细用法

git merge用法 一、开发分支&#xff08;dev&#xff09;上的代码达到上线的标准后&#xff0c;要合并到 master 分支 git checkout dev git pull git checkout master git merge dev git push -u origin master二、当master代码改动了&#xff0c;需要更新开发分支&#xff…

吴恩达机器学习2022-Jupyter-用scikitlearn实现线性回归

1可选实验:使用Scikit-Learn进行线性回归 有一个开源的、商业上可用的机器学习工具包&#xff0c;叫做 scikit-learn。本工具包包含您将在本课程中使用的许多算法的实现。 1.1工具 您将利用 scikit-learn 以及 matplotlib 和 NumPy 中的函数。 2线性回归封闭式解决方案 Sc…

nvm常用命令

查看node.js的所有版本&#xff1a; npm view node versions 查看 nvm 是否安装成功&#xff1a; command -v nvm查看当前使用的 Node 版本&#xff1a; node -v将安装 12.7.0 版本的Node&#xff1a; nvm install 12.7.0卸载 12.7.0 版本的Node&#xff1a; nvm uninstall 12…

为什么低代码只能掀起小浪花?了解低代码的得失与前景

导语&#xff1a;低代码是相对于高代码和无代码的一个中间概念&#xff0c;通常强调的是用户不需要学习如何写代码&#xff0c;就能完成工作。然而低代码模式一直不温不火&#xff0c;原因是什么呢&#xff1f;一起来看一下吧。 最近互联网大公司裁员消息又起&#xff0c;“低代…

Linux 配置常见服务器命令

Linux常见配置服务器的命令整理&#xff0c;基于Centos 7 。 基本操作命令 查看ens33 ip ifconfig ens33 查看系统版本 cat /etc/redhat-release 查找文件install.log、httpd.conf、hosts、smb.conf、network find -name te.txt 使用“cp 源文件 目标文件”命令进行复制 cp t…

Serial/TCP/NTRIP通信

1 串口通信 串口通讯 串口通信详解 串口通信中的4大参数含义 Qt 串口通信的简单demo 2 TCP通信 TCP协议简介 TCP协议详细介绍 TCP协议(全面) IP地址和端口号的详解 3 NTRIP通信 Ntrip通讯协议1.0 什么是Ntrip&#xff1f;Ntrip协议简介 TCP高并发数据转接服务器&#xff0…

【ElasticSearch】java 如何连接 elasticsearch

不同版本的java 与 Elastic 如何连接。 在 es 与 java 连接中最重要的就是『兼容性矩阵」&#xff0c;要严格按照兼容性矩阵的要求来部署 spring boot 或者 es的版本&#xff0c;否则会有意向不到的错误或者程序无法运行等等。 针对 es 6.2.2&#xff0c;java 客户端的配置代…

Linux: cannot read file data

报错&#xff1a; Could not load library libcudnn_cnn_infer.so.8. Error: /home/qc/miniconda3/envs/DNAqc/lib/python3.10/site-packages/torch/lib/libcudnn_cnn_infer.so.8: cannot read file data Please make sure libcudnn_cnn_infer.so.8 is in your library path! A…

【NLP】国外新动态--LLM模型

一、说明 NLP走势如何?这是关于在实践中使用大型语言模型(LLM)的系列文章中的一篇文章。在这里,我将介绍LLM,并介绍使用它们的3个级别。未来的文章将探讨LLM的实际方面,例如如何使用OpenAI的公共API,Hugging Face Transformers Python库,如何微调LLM,以及如何从头开始…

navicate_windows_14

1.新建文本文档2.输入如下内容 echo off set dnInfo set dn2ShellFolder set rpHKEY_CURRENT_USER\Software\Classes\CLSID :: reg delete HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium\Registration14XCS /f %针对<strong><font color"#FF0000"…

Android 进阶之旅 - 终章

我们的《Android进阶之旅》到这里就算是完结了&#xff0c;五六年的时间&#xff0c;我的青春&#xff0c;我职业生涯的黄金时期&#xff0c;基本都耗在了这上面。很多东西我都是现学现卖&#xff0c;平时上班也很少有时间能备课&#xff0c;很多地方难免讲得不如意&#xff0c…

ChatGpt+人工修正 PyQt5 实现简易视频播放器

支持功能: 1. 视频播放速度调整 2. 视频声音调整 3. 视频当前播放帧截帧(用的ffmpeg 怎么装自己百度去,截取准确度很高,QT自带的截帧那玩意信号不触发,不好使) 4. 视频暂停 # !/usr/bin/env python3 # -*- coding: UTF-8 -*- """ @author : v_jiaohaich…

SQL Server的derived table 临时表

例子1&#xff1a; 创建一个查询 SELECT ProductID, Name, ListPrice, CASE WHEN ListPrice > 1000 THEN NHigh ELSE NNormal END AS PriceType FROM SalesLT.Product 为了进一步查询&#xff0c;而又不增加它的复杂度。这时&#xff0c;可以创建一个derived table。 …

华为产品测评官-开发者之声 - ModelArts 真实体验感想

华为产品测评官&#xff0d;开发者之声 - ModelArts 真实体验感想 我先是在6月17日参加了华为在深圳举办的开发者大会&#xff0c;后面看到群里发的"2023华为产品测评官&#xff0d;开发者之声"活动&#xff0c;简单看了一下体验活动的具体事情&#xff0c;感觉好玩…

【005】基于深度学习的图像语 通信系统

摘要 语义通信是一种新颖的通信方式&#xff0c;可通过传输数据的语义信息提高带宽效率。提出一种用于无线图像传输的系统。该系统基于深度学习技术开发并以端到端&#xff08;E2E&#xff09;的方式进行训练。利用深度学习实现语义特征的提取和重建&#xff0c;在发送端提取信…

异步fifo(1)

什么时异步fifo FIFO&#xff0c;即First In First Out &#xff0c;是一种先进先出的数据缓存器&#xff0c;异步FIFO 是指读写时钟不一致&#xff0c;读写时钟是互相独立的。数据从一个时钟域写入FIFO缓冲区&#xff0c;并从另一个时钟域的同一FIFO缓冲区中读取数据&#xf…

Android 调音器开发

什么是调音器&#xff1f; 是一种乐器的辅助工具&#xff0c;用于各种弦乐器的调音&#xff0c;包括吉他调音器&#xff0c;贝斯调音器&#xff0c;钢琴调音器&#xff0c;古筝调音器&#xff0c;尤克里里调音器等。可根据乐音的频率判断所处的音符&#xff0c;从而校准改弦是否…