【Android 逆向】ApkTool 工具使用 ( ApkTool 简介 | ApkTool 解包和打包 )

这篇具有很好参考价值的文章主要介绍了【Android 逆向】ApkTool 工具使用 ( ApkTool 简介 | ApkTool 解包和打包 )。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

之前写的 ApkTool 相关博客 :

  • 【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )
  • 【Android 逆向】Android 逆向工具 ( Apktool | IDA | Python )
  • 【Android 逆向】APK 文件处理脚本 ApkTool.py ( 脚本简介 | 用法 | 分析 APK 文件 )




一、ApkTool 简介



参考 【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx ) 一、apktool 博客章节 ;

官网地址 : https://ibotpeaches.github.io/Apktool/

文档地址 : https://ibotpeaches.github.io/Apktool/documentation/





二、ApkTool 解包和打包



ApkTool 的最重要的两个作用是 解包 和 打包 ;

  • 解包 : 拿到 APK 文件 , 如果按照 zip 格式解压出来 , xml 文件都是乱码 ; APK 文件打包时 , 会将 xml 文件进行压缩转为二进制文件 , 以减小体积 ; 解包时 , 必须使用 ApkTool 解包工具 , 将二进制数据格式的 xml 文件转为 文本 xml 文件 , 才能获取刻度的 xml 文件 ;
  • 打包 : 将使用 ApkTool 工具解包后的零散文件 , 再次打包成 APK 文件 ,

如果 APK 文件进行了加固处理 , 那么解包无法获取正确的 dex / so / 资源文件 , 无法进行重打包 ;

重打包操作 : 使用 ApkTool 工具 , 将 APK 解包 , 修改或注入 so 文件 , 然后再进行重打包 ;



1、使用 apktool 解包


执行 java -jar apktool_2.4.1.jar d demo.apk -o demo 命令 ,

java -jar apktool_2.4.1.jar d demo.apk -o demo

其中 d 后面是 要反编译的 apk 文件 ,

-o demo 的含义是 将反编译结果输出到 demo 目录中 ;

反编译过程 :

【Android 逆向】ApkTool 工具使用 ( ApkTool 简介 | ApkTool 解包和打包 )

查看其中的 AndroidManifest.xml 文件 , 可以看到真实的文件内容 ;

【Android 逆向】ApkTool 工具使用 ( ApkTool 简介 | ApkTool 解包和打包 )



2、使用 apktool 打包


将反编译后的文件 重新打包 ;

java -jar apktool_2.4.1.jar b demo -o demo_repackage.apk

b demo 是指定 要打包 demo 目录 ;

-o demo_repackage.apk 是指定新打包的 应用安装文件是 demo_repackage.apk ;

重新打包过程 :

【Android 逆向】ApkTool 工具使用 ( ApkTool 简介 | ApkTool 解包和打包 )文章来源地址https://www.toymoban.com/news/detail-401316.html

到了这里,关于【Android 逆向】ApkTool 工具使用 ( ApkTool 简介 | ApkTool 解包和打包 )的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Android super.img的解包和重新组包

    Android10开始使用动态分区,system、vendor、 odm等都包含在super.img里面,可以按如下方式对super.img进行解包和组包。 super的解包需要工具lpunpack,但是默认没有编译,源码目录位于:system/extras/partition_tools/ ,需要手动编译生成; 在android根目录下执行 编译后生成 out/host/linux-86/b

    2024年02月16日
    浏览(41)
  • 微信小程序逆向 小程序包使用unveilr工具解包后在开发者工具报[ WXML 文件编译错误] xxx.wxs Unexpected token `}`

    微信小程序逆向 使用解包工具后后在开发者工具报[ WXML 文件编译错误] xxx.wxs Unexpected token } 页面上则报编译.wxml文件错误… 解决方案: 很简单,因为是解包出来的,一般代码都是没有错的,我们只需要微信微信开发者工具中的资源管理器或者其他地方,找到这个文件,然后

    2024年02月08日
    浏览(54)
  • Android OTA 相关工具(七) 使用 lpunpack 解包 super.img

    从 Android 10(Q) 开始,引入了动态分区,伴随的就是一组动态分区内容数据增删改查相关的操作,以及这些操作所需要的工具,包括 lpdump, lpmake, lpunpack, lpadd, lpflash。 工具名称前缀 lp 表示是 logic partition,即逻辑分区。 所谓逻辑分区,是相对于物理分区而言,因为动态分区内部

    2024年02月02日
    浏览(77)
  • Android apktool反编译工具

    使用下面的命令反编译apk: java -jar apktool_2.7.0.jar d test.apk -o testDir 如果不涉及资源文件的修改,所以加上 -r 参数不会反编译资源文件 java -jar apktool_2.7.0.jar -r d test.apk -o testDir 修改完成后使用下面的命令回编译: java -jar apktool_2.7.0.jar b  testDir

    2024年02月13日
    浏览(36)
  • 序列解包和生成器表达式

    (1) 必须一一对应 x, y, z = 1, 2 会抛出异常 (2) 括号可加可不加 可以对range对象进行解包 使用迭代器对象进行解包 使用map对象进行解包 交换两个变量的值 对列表解包 对字符串解包 切片也支持序列解包 序列解包对于列表和字典同样有效 python3.5之后的版本支持下面用法的序列解

    2024年02月07日
    浏览(56)
  • 【Android】使用Apktool反编译Apk文件

    要使用Apktool,需要准备好 apktool.jar 和 apktool.bat 。 我准备了两种下载方式,可自行选择: apktool官网下载地址 百度网盘下载链接 apktool官网下载地址:https://apktool.org/docs/install 1.下载 apktool.bat :点击高亮字体 wrapper script ,进入 apktool.bat 的下载地址,我这里显示无法访问链接

    2024年02月21日
    浏览(37)
  • Android逆向学习(一)vscode进行android逆向修改并重新打包

    其实我不知道这个文章能不能写下去,其实我已经开了很多坑但是都没填上,现在专利也发出去了,就开始填坑了,本坑的主要内容是关于android逆向,主要的教程来源来自52破解论坛的大佬课程,但是那是windows版,我喜欢用linux,所以这是一个有比较大改动的学习教程,不过

    2024年02月10日
    浏览(44)
  • Android查看签名信息系列 · 使用逆向分析工具JadxGUI获取签名

    前言 Android查看签名信息系列之使用逆向分析工具JadxGUI获取签名,通过这种方式,可以获取到的签名信息包括:MD5、SHA1、SHA-256、公钥(模数)等信息 实现方法 1、进入JadxGUI目录下的lib文件夹内,找到jadx-gui-1.4.7.jar文件 2、双击jadx-gui-1.4.7.jar进入图形界面,或者cmd进入lib所在路径

    2024年02月03日
    浏览(44)
  • IDA-逆向分析-工具教程-IDA简介-反汇编工具-功能窗口

    介绍了IDA反汇编原理分为, 线性扫描反汇编和递归下降反汇编 。比较了两者的优点和缺点。线性扫描反汇编算法采用一种非常简单的方法来确定需要反汇编的指令的位置:一条指令结束、另一条指令开始的地方。因此,确定起始位置最为困难。常用的解决办法是,假设程序

    2024年02月10日
    浏览(42)
  • 使用apktool、aapt2、bundletool将apk转为aab(Android App Bundle)

    上一篇文章我们讲了AAPT2命令行使用总结,里面有个使用场景就是将apk转为aab文件,aab文件是应用上架Google play的指定包格式,下面我们就来实践下 假如我们有这样一个场景需求,一个游戏或者应用接入了我们开发的聚合SDK,然后提供给我们一个apk包,我们拿到这个apk包可以

    2023年04月27日
    浏览(58)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包