apk反编译和重新打包流程

这篇具有很好参考价值的文章主要介绍了apk反编译和重新打包流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.工具准备

        a.jdk下载,添加“...\jdk\bin”到系统环境变量  Java Downloads | Oracle
apk反编译和重新打包流程
        b.下载apktool.jar   Apktool - A tool for reverse engineering 3rd party, closed, binary Android apps.
apk反编译和重新打包流程

2.反编译   

    java  -jar  apktool_2.6.1.jar (拖入你的apktool)  d   +(拖入你的.apk)

    格式为:java  -jar  apktool的名字  d(反编译)  要解包的apk  -o(输出)  文件名

反编译出来的文件目录
apk反编译和重新打包流程
其中,res文件夹中存放着该app所有的资源(xml,布局文件和图片);smali文件中存放的是app的所有代码,但代码是smali语言格式,smali语言是Android虚拟机所使用的寄存器语言。还有就是 Androidmanifest.xml功能清单文件一目了然,可以直接查看。
注意: 1.将apk文件重命名为.zip格式并解压,androidmanifest会出现乱码;
        2.解压后,classes.dex文件中存放在着所有代码,但需要用特殊工具(dex2jar\jd-gui)进行查看,解压操作一般用于获取资源图片快捷
        3.如果就查看代码而言,你可以用jadx工具直接导入apk查看源码
如果你能看懂smali语言,可以修改smail中的一些静态成员变量,这里简单对androidManifest.xml某个activity做修改,然后重新打包

 文章来源地址https://www.toymoban.com/news/detail-437001.html

3.重新打包  

java -jar .\apktool.jar b .\打包的文件夹\
   格式为: java  -jar  apktool的名字  b(打包)  要打包的文件夹名字
重新打包后,反编译目录下会出现dist目录以及其中未签名的apk文件

 

4.生成签名证书(造一个简单签名文件)

 keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
格式   36500 :100年 ; test.keystore :签名后的文件名
  填写密码,对应名称(记住密码,没记住就重造一个文件)
  随时查看证书    keytool -list -v -keystore test.keystore  
        Enter keystore password: //输入密码,回车

 

5.签名:

jarsigner -verbose -keystore E:\反编译\test.keystore  -signedjar  shop111.apk E:\反编译\shop-release\dist\shop-release.apk  testalias
格式: jarsigner -verbose -keystore 签名 -signedjar  签名文件后的文件名 需要签名文件  证书里alias别名

 

6.遇到问题:

1.jarsigner不是内部命令?
        重装jdk,确保安装目录bin里有jarsigner.exe
2.  [INSTALL_FAILED_INVALID_APK: Failed to extract native libraries?安装不能提取native库
    a.回到AndroidManifest.xml中,把android :extractNativeLibs="false"改为true(工程对so库进行压缩,安装时解压)重新打包
    b.如果原因是由于apktool在回编译apk包是没有进行内存对齐,可以使用zipalign工具再次对齐已经签名后的apk
​​​​​​​

 

参考链接:
jdk下载和环境变量配置
apk反编译命令解释
反编译后查看源码

到了这里,关于apk反编译和重新打包流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

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

    反编译工具包地址:百度网盘 提取码:dsu3 解压后有四个压缩包:apktool.rar、dex2jar、jdgui、Auto-Sign; 注意,将反编译包的路径改为全英文的,以防发生意外。 修改APK的后缀名为zip,并解压。 进入解压包,得到classes.dex文件。 复制classes.dex文件到dex2jar文件夹中。 在该文件夹中

    2024年02月13日
    浏览(58)
  • Android apk 反编译后打包(含签名)

    想分析某些app源码时,遇到烦人弹框,现在想反编译看看具体实现。 用到的工具: GDA4.06 apk反编译工具 apktool apk 打包工具 jdk 环境 一、反编译分析 将apk反编译打开 找到入口代码 弹框代码如图 二、解包、打包 使用apktool解包 ps: apktool工具的用法自行百度 -o模式是指定解包后文

    2024年02月09日
    浏览(43)
  • [安卓逆向]apktool实现APK反编译、重打包、签名

    apktool 主要用于逆向apk文件。它可以将资源解码,并在修改后可以重新构建它们。 APKtool官网: https://ibotpeaches.github.io/Apktool/ APKtool下载: https://bitbucket.org/iBotPeaches/apktool/downloads/ APKtool源码: https://github.com/iBotPeaches/Apktool 将 apktool_2.6.1.jar 放到一个文件夹下(如:D:apktool),然

    2024年02月03日
    浏览(50)
  • 重新理解Linux交叉编译及编译流程

    参考书籍 1、编译原理 2、嵌入式Linux应用开发 当我们开发目标是一个嵌入式设备时,便需要在PC机上编译出能在该嵌入式设备上运行的可执行文件,这里编译主机与目标运行主机不是同一个设备,那么该过程就称为交叉编译;而编译是指一个源代码文件(这里指的是编译性程

    2023年04月08日
    浏览(35)
  • cocos creator 3.x打包构建原生安卓APK流程(打包release版本,修改APP图标)

    本文介绍cocos creator 3.x如何打包构建原生安卓APK,一开始是按照官网构建示例操作的,发现存在各种SDK版本问题,因为对原生Android没什么研究只能瞎琢磨,最后勉强算是打包出来了…写个文章记录下流程,免得后续又忘记…如果有不对的地方,欢迎在评论区指正,有疑问也可

    2024年02月10日
    浏览(69)
  • Unity3d发布android项目,打包apk包流程(unity2021.3.10)

    1、如下图,在安装版本设置里,点击添加模块。如果没有添加模块,证明你安装路径不是目前版本的安装路径,先去设置回来。 2、框选Android Build Support,点击继续,如下图, 3、同意,安装,如下图, 4、等待安装完成即可,如下图。 1、点击菜单栏File→Build Settings,进行编辑

    2023年04月23日
    浏览(62)
  • Unity与原生交互之AndroidStudio篇——Unity导出Android工程,导入AndroidStudio打包APK全流程

          unityLibrary: unity的功能库模块 , android工程用到的重要文件夹 launcher: unity的启动器模块,包含很少的java代码   直接Open unity导出的整个android项目,Launcher模块作为app启动模块  1.AS先New一个空项目:   Empty Activity 不能选择Language,默认为Kotlin语言  Empty Views Activity 可以选择

    2024年02月11日
    浏览(43)
  • 【java】maven 指定项目编译与打包的JDK版本

    Maven 是一个流行的构建工具,用于管理 Java 项目的依赖项、构建和部署。在 Maven 中,可以指定项目的编译和打包所使用的 JDK 版本。本篇博客将介绍如何在 Maven 中指定项目的 JDK 版本,并讨论该选项对项目的影响。 在 Maven 中,可以通过在 pom.xml 文件中设置 maven.compiler.source

    2024年02月16日
    浏览(42)
  • 安卓系统--翻译手机rom语言 添加多国语言 编译apk 反编译ODEX 工具步骤解析

    很多小品牌机型不具备多语言设置。国内大都是中文。要想换为其他语言除非固件支持。例如国际版固件等等。大厂基本都有中文或者英文或者其他语言配置。而小品牌机型只能通过修改rom来达到多语言调用. 今天给友友介绍一款工具,可以用来翻译手机rom语言。添加多国语

    2024年02月04日
    浏览(48)
  • 网络测试工具—— iperf2 安卓APK 下载 及简单使用

    项目上有一款安卓车机加载局域网图片加载非常慢,所以需要测试一个安卓车机设备的带宽,经过调研后使用到了iperf2。 iperf2是一款开源的网络性能测试工具,用于测量TCP和UDP带宽质量。它支持测量最大TCP带宽,并具有多种参数和UDP特性。iperf2可以报告带宽、延迟抖动和数据

    2024年02月04日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包