android apk反编译,重新打包,签名
apktool安装
Windows系统:
1. 首先确保系统安装有Java
2. 下载最新版本的apktool.jar https://ibotpeaches.github.io/Apktool/

下载最新的jar,我看到最新的是2.3.1
2. 为了直接能在运行需要配置apktool.bat
@echo off
if "%PATH_BASE%" == "" set PATH_BASE=%PATH%
set PATH=%CD%;%PATH_BASE%;
chcp 65001 2>nul >nul
java -jar -Duser.language=en -Dfile.encoding=UTF8 "%~dp0\apktool_2.3.1.jar" %*
apktool.bat和apktool_x.x.x.jar都放在同一目录下面

3. 为了使用方便把目录配置到环境变量中

4. 输入apktool 出现以下则成功

apk反编译
apktool.bat d -o <output_dir> xxx.apk
其中<output_dir>指定输出目录
xxx.apk为apk的名字
例如我执行
apktool.bat d -o app app.apk
得到反编译的目录

重新编译apk
apktool.bat b -o <output.apk> <input_dir>
其中<input_dir>就是上面反编译输出的目录,<ouput.apk>是编译的输出结果,默认为dist/<name>.apk
执行
apktool.bat b -o output.apk app

出错了,找不到aapt
1.在Android SDK通过build-tools下面选择Android/sdk/build-tools/27.0.3/版本的aapt.exe的目录配置到系统环境变量
2.执行apktool empty-framework-dir --force
3.如果还有问题请查看https://github.com/iBotPeaches/Apktool/issues
这个时候编译的apk是没有签名的不能安装到手机上的
签名
签名是对要发布的apk文件作标记,确保你的apk文件有唯一的身份归属认证,只有相同签名和相同包名的文件才可以覆盖安装并保留用户信息。
对于反编译的apk,我们可以通过jarsigner来对它进行签名。
签名需要keystore文件,如果没有可以新建keystore,如果有跳过
生成keystore文件



APK重签名
/*解释:
jarsigner是Java的签名工具 -verbose参数表示:显示出签名详细信息 -keystore表示使用当前目录中的release.jks签名证书文件。 -storepass 密钥口令 -signedjar ThinkDrive_signed.apk表示签名后生成的APK名称, ThinkDrive_temp.apk 表示未签名的APK, androiddebugkey表示debug.keystore的别名 */ jarsigner -verbose -keystore release.jks -storepass android -keypass android -signedjar signapp.apk nosign.apk test
android apk反编译,重新打包,签名的更多相关文章
- Android apk反编译基础(apktoos)图文教程
本文主要介绍了Android apk反编译基础,使用的工具是apktoos,我们将用图文的方式说明apktoos工具的使用方式,你可以参考这个方法反编译其它APK试试看了 很久有写过一个广工图书馆主页 ...
- android逆向基础:apk 反编译 重打包 重签名
apk 反编译大家都比较熟悉,这里只做一个笔记. 1 反编译 apk apktool d perfect.apk 这样就把资源文件解压缩了, classes.dex 也反编译成了 smali 文件 2 ...
- 【转】Android APK反编译就这么简单 详解(附图)
转载地址:http://blog.csdn.net/vipzjyno1/article/details/21039349 在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂 ...
- Android APK反编译(一)
apk是安卓工程打包的最终形式,将apk安装到手机或者模拟器上就可以使用APP.反编译apk则是将该安卓工程的源码.资源文件等内容破解出来进行分析. 一.APK反编译基本原理 1.APK分析 apk文 ...
- Android: apk反编译 及 AS代码混淆防反编译
一.工具下载: 1.apktool(资源文件获取,如提取出图片文件和布局文件) 反编译apk:apktool d file.apk –o path 回编译apk:apktool b path –o f ...
- Android APK反编译详解(附图)
转载自http://blog.csdn.net/sunboy_2050/article/details/6727581 这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而 ...
- Android APK反编译easy 详解
在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...
- Android APK反编译就这么简单 详解(附图)
在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...
- Android APK反编译详解(附图)(转)
这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程. 在此郑重声明,贴出来的目的不是为了去破解人家的软件, ...
随机推荐
- 动态tab页
1.前台代码 <%-- builed by manage.aspx.cmt [ver:2015.25.26] at 2015-06-26 15:25:42 --%> <%@ Pag ...
- Entity Framework Code-First(23):Entity Framework Power Tools
Entity Framework Power Tools: Entity Framework Power Tools (currently in beta 3) has been released. ...
- wordcount程序实现与测试
GitHub地址 https://github.com/jiaxuansun/wordcount PSP表格 PSP PSP阶段 预估耗时(分钟) 实际耗时(分钟) Planning 计划 10 5 ...
- sqlserver 时间差转换为天时分秒
DECLARE @starttime DATETIME = '2016-12-01' , @endtime DATETIME = '2016-12-02 14:56:39.927'; DECLARE ...
- 记一次安装kolla遇到DockerException: Error while fetching server API version: Timeout value connect was Timeout的问题
1)环境信息: docker版本:17.09,当docker的版本是12.06时,也会报这个错误 [root@localhost ~]# docker --version Docker version ...
- Django之博客系统:增加标签
一般在发表博客后会给每个帖子加上一个标签.类似帖子关键字的功能.在这一章中来看下如何给博客添加标签功能(tagging) 添加标签需要集成第三方的Django标签应用来完成这个功能.django-ta ...
- python文件上传的三种方式
def upload(request): return render(request, 'upload.html') def upload_file(request): username = requ ...
- oracle数据结构
数据类型: 1 字符数据:CHAR VARCHAR NCHAR NVARCHAR2 LONG CLOB NCLOB 2 数字数据类型:NUMBER 唯一用来存储数字型的类型 3 日期数据类型: 4 ...
- Qt 学习之路 2(19):事件的接受与忽略
Home / Qt 学习之路 2 / Qt 学习之路 2(19):事件的接受与忽略 Qt 学习之路 2(19):事件的接受与忽略 豆子 2012年9月29日 Qt 学习之路 2 140条评论 ...
- Vscode 配置 maven debug
# maven.cmd 上方设置此变量 set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address= ...