前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >apk.sh:一款功能强大的Android Apo逆向工程分析工具

apk.sh:一款功能强大的Android Apo逆向工程分析工具

作者头像
FB客服
发布2023-04-26 15:11:35
5690
发布2023-04-26 15:11:35
举报
文章被收录于专栏:FreeBufFreeBuf

 关于apk.sh 

apk.sh是一款功能强大的Android Apo逆向工程分析工具,该工具本质上是一个Bash脚本,可以帮助广大研究人员轻松对目标Android应用程序执行逆向工程分析,并能够将一些重复执行的任务以自动化的形式实现,例如针对APK文件的提取、解码、重构和修复等工作。

 功能介绍 

apk.sh使用了apktool来执行反汇编、解码和资源重构任务,并使用了其他一些bash脚本来自动化Frida小工具的注入过程。除此之外,该工具还支持App捆绑和APK拆分。

当前版本的apk.sh支持下列功能:

1、修改APK文件并在启动时加载Frida小工具; 2、支持App捆绑和APK拆分; 3、使用apktool将资源反汇编为几乎原始的形式; 4、使用apktool将解码的资源重构回二进制APK/JAR; 5、用apksigner对apk的代码进行签名; 6、支持多种架构,例如ARM、ARM64、x86、x86_64; 7、Android设备无需Root;

 工具依赖 

apktool apksigner unxz zipalign aapt adb

 工具下载 

该工具基于Shell开发,因此我们需要在支持Shell/Bash脚本的设备上使用该工具。

广大研究人员可以使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/ax/apk.sh.git(向右滑动,查看更多)

 工具使用参考 

参数选项

代码语言:javascript
复制
-a, --arch <arch>:指定目标架构;
-g, --gadget-conf <json_file>:指定一个Frida小工具;
-n, --net:在构建时添加一个允许的网络安全配置;
-s, --safe:解码时不解码资源,例如apktool -r;
-d, --no-dis:不反汇编dex,解码时可选,例如apktool -s;(向右滑动,查看更多)

简单使用

代码语言:javascript
复制
apk.sh [SUBCOMMAND] [APK FILE|APK DIR|PKG NAME] [FLAGS]
apk.sh pull [PKG NAME] [FLAGS]
apk.sh decode [APK FILE] [FLAGS]
apk.sh build [APK DIR] [FLAGS]
apk.sh patch [APK FILE] [FLAGS]
apk.sh rename [APK FILE] [PKG NAME] [FLAGS](向右滑动,查看更多)

子命令

代码语言:javascript
复制
pull 从设备/模拟器中拉取APK
decode 解码APK
build 重构APK
patch 修改APK
rename 重命名APK包

 工具使用 

使用方法

首先,使用下列命令将APK从设备中拉取到本地:

代码语言:javascript
复制
./apk.sh pull <package_name>

运行下列命令即可解码APK:

代码语言:javascript
复制
./apk.sh decode <apk_name>

运行下列命令即可重构APK:

代码语言:javascript
复制
./apk.sh build <apk_dir>

下列命令可修改APK并在APK启动时加载frida-gadget.so:

代码语言:javascript
复制
./apk.sh patch <apk_name> --arch arm
./apk.sh patch <apk_name> --arch arm --gadget-conf <config.json>(向右滑动,查看更多)

上述命令还需要指定一个Frida小工具的配置JSON文件。

 许可证协议 

本项目的开发与发布遵循GPL-3.0开源许可证协议。

 项目地址 

apk.sh:https://github.com/ax/apk.sh

参考资料

https://ibotpeaches.github.io/Apktool/

https://https//frida.re/

https://frida.re/docs/gadget/

https://lief-project.github.io/doc/latest/tutorials/09_frida_lief.html

https://koz.io/using-frida-on-android-without-root/

https://github.com/sensepost/objection/

https://github.com/NickstaDB/patch-apk/

https://neo-geo2.gitbook.io/adventures-on-security/frida-scripting-guide/frida-scripting-guide

精彩推荐

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-04-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  关于apk.sh 
  •  功能介绍 
  •  工具依赖 
  •  工具下载 
  •  工具使用参考 
    • 参数选项
      • 简单使用
        • 子命令
        •  工具使用 
          • 使用方法
          •  许可证协议 
          •  项目地址 
          • 参考资料
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档