1. 执行 apktool b smali_dir

smali_dir 为反编译出来的数据目录

执行后可能会报错

I: Building resources...
W: /root/Desktop/tmp/qimao_dir/qimao_v5.4/AndroidManifest.xml:1: error: No resource identifier found for attribute 'compileSdkVersion' in package 'android'
W:
W: /root/Desktop/tmp/qimao_dir/qimao_v5.4/AndroidManifest.xml:1: error: No resource identifier found for attribute 'compileSdkVersionCodename' in package 'android'
W:
W: /root/Desktop/tmp/qimao_dir/qimao_v5.4/AndroidManifest.xml:37: error: No resource identifier found for attribute 'appComponentFactory' in package 'android'
W:
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code =
1): [/tmp/brut_util_Jar_75145076448849533262091191559183387531.tmp, p, --forced-package-
id, 127, --min-sdk-version, 19, --target-sdk-version, 26, --version-code, 50400, --
version-name, 5.4, --no-version-vectors, -F, /tmp/APKTOOL5890277078150715820.tmp, -e,
/tmp/APKTOOL1664296946725275904.tmp, -0, arsc, -I,
/root/.local/share/apktool/framework/1.apk, -S,
/root/Desktop/tmp/qimao_dir/qimao_v5.4/res, -M,
/root/Desktop/tmp/qimao_dir/qimao_v5.4/AndroidManifest.xml]

虽然看起来像是Warning,但这就是重打包失败的原因

当前我用的apktool版本为2.7.0

解决办法:删除掉AndroidManifest.xml中那些报错的属性(这些属性好像是apktool反编译时自动加进去的,非原始代码)

删除后打包成功

2. 创建签名文件(创建了可以复用)

# 创建一个别名叫coolapk 的coolapk.keystore
keytool -genkey -keystore coolapk.keystore -keyalg RSA -validity 10000 -alias coolapk

本地会生成一个文件coolapk.keystore

3. 对重打包后的apk进行签名

#jarsigner 随jdk安装
#coolapk 是第二部创建的alias的值,这个必须保持一致
jarsigner -verbose -keystore coolapk.keystore -signedjar xxx_v5.4_signed.apk xxx_v5.4.apk coolapk

4. 签名成功后安装到手机,成功运行

【Android 逆向】apk反编译后重打包的更多相关文章

  1. [Android逆向]APK反编译与回编译

    一.先查壳,再反编译看验证首先打开.apk文件==>反编译apk(dex/配置文件/资源文件(apk反编译失败)>修改关键文件实现自己的目的>重新打包签名(无法重新打包)==> ...

  2. android: 使用android逆向助手反编译APK

    第一步:下载逆向助手:(链接: https://pan.baidu.com/s/15jtoFDg9LWV80HREeyx5HA 提取码: k527 ) 第二步:将apk文件拷贝到逆向助手的apktoo ...

  3. 【Android 应用开发】 Android APK 反编译 混淆 反编译后重编译

    反编译工具 : 总结了一下 linux, windows, mac 上的版本, 一起放到 CSDN 上下载; -- CSDN 下载地址 : http://download.csdn.net/detai ...

  4. 实现android apk反编译后代码混淆

    通常情况下我们需要对我们开发的android代码进行混淆,以免代码在反编译时暴露敏感信息及相关技术代码: 反编译测试工具:onekey-decompile-apk-1.0.1. 在高级版本的adt创建 ...

  5. Android实践--apk反编译

    版权声明:本文为博主原创文章.转载请注明出处. https://blog.csdn.net/ysjian_pingcx/article/details/25468867 Android apk反编译一 ...

  6. APK反编译、重编译、签名、查看源码

    1.反编译与重编译 工具:apktool 下载地址:https://ibotpeaches.github.io/Apktool/ 环境:Java (JRE 1.7) 安装步骤:参考官网(也可以不安装, ...

  7. android之apk反编译

    今天就来详细的讲一讲apk的反编译过程,之前自己一直没彻底搞清楚. 一.准备工作 反编译首先要准备三个工具.这三个工具都是可以百度下载的.就是下图所示的三个工具. 这三个工具是有各自作用的: (1)a ...

  8. Android程序apk反编译破解方法

    简短不割了,我们直接奔主题吧. 把apktool-install-windows-r05-ibot文件里的两个文件剪切到apktool1.5.1目录. 新建一个文件夹把需要破解的apk应用程序放进去. ...

  9. 聊聊Android的APK反编译

    上一篇<How To Use Proguard in Android APP>介绍了如何对Android进行混淆,现在来对它进行反编译看看,里面有些什么东西. APK文件,其实也是一个压缩 ...

  10. Unity3D对apk反编译、重编译、重签名

    本文源链接:http://blog.csdn.net/qq393830887/article/details/56025923 工具 Java环境 Apktool(这玩意有些坑爹,不是官网最新的就好, ...

随机推荐

  1. [转帖]Linux中查看各文件夹大小命令du -h --max-depth=1

    https://www.cnblogs.com/the-tops/p/8798678.html 最近排查服务器异常的时候,常会遇到磁盘慢的情况,这个时候,查找那个文件夹占用的内存的时候常用到这个命令: ...

  2. [转帖]OpenSSL版本历史

    OpenSSL版本历史 新闻日志 这是所有 OpenSSL 公告的简洁日志.它们几乎是发布通知. 日期物品 2021 年 7 月 29 日OpenSSL 3.0 的 Beta 2 现已推出.这是一个候 ...

  3. [转帖]decimal,float和double的区别是什么?

    https://zhuanlan.zhihu.com/p/352503879 今天复习mysql理论知识,在看常用数据类型的时候发现float和decimal类型都是表示小数,就展开搜索学习了一下区别 ...

  4. [转帖]Linux常用的一些命令,看你知道多少?

    https://zhuanlan.zhihu.com/p/115279009 Linux中命令有很多,而Linux系统中使用命令也是它的一大特点.在Linux系统中使用命令处理问题灵活,高效,所以熟知 ...

  5. [转帖]dd - Linux世界中的搬运工

    <存储工具系列文章>主要介绍存储相关的测试和调试工具,包括不限于dd.fio.vdbench.iozone.iometer.cosbench等性能负载工具,及strace等调试工具. dd ...

  6. 不同信创服务器Redis7.0.5性能表现总结

    不同信创服务器Redis7.0.5性能表现总结 背景以及基础约定 随着美帝2022.10收紧EAR规定的硬件出口规定 信创事业迎来了一波新的高潮. 最近不仅仅要求国产化的硬件. 更要求国产化的OS,以 ...

  7. c#时间格式转换汉字大写

    把时间转换为汉字大写 public class DateTimeConvert { public static string ConvertToChineseCapital(DateTime date ...

  8. 爆了!Sealos 三天支持 1000 个帕鲁私服

    Sealos 的帕鲁私服模板从第一天发布之后就起了 100 多个私服,第二天直接上到 500 多个,第三天直接上千,还在加速增长中.来讲讲我们只用一个晚上怎么做到上线一个专属可用区的,还有一些帕鲁实践 ...

  9. Java-Stream-flatMap

    Leave leave1 = new Leave("1","1",new Date(),CollUtil.newArrayList("A", ...

  10. 计算机网络|思维导图|自顶向下方法|MindMaps资料分享

    前言 那么这里博主先安利一下一些干货满满的专栏啦! 手撕数据结构https://blog.csdn.net/yu_cblog/category_11490888.html?spm=1001.2014. ...