Skip to content
Skillpedia
Mobile apps48k · #2184

apk-reverse

Teaches your AI agent to build mobile apps.

What it does

This tool helps analyze and modify Android applications (APK files). It allows you to view the app's Java code, inspect and change important files like 'AndroidManifest.xml' and 'smali' code, and even rebuild the app after modifications.

When to use it

  • ✓When you need to understand how an Android app works internally.
  • ✓When testing the security of an app with permission.
  • ✓To modify the behavior of an app you own or are authorized to test.

Example of what to ask your AI

“I want to analyze the 'my_app.apk' application. Can you decompile the Java code and show me the AndroidManifest.xml file?”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/apk-reverse/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/apk-reverse/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool uses programs like 'jadx' and 'apktool' to unpack the APK. 'jadx' converts the app's code into a Java-like format for reading, while 'apktool' allows you to view and edit internal files and rebuild the APK.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add sickn33/agentic-awesome-skills --skill apk-reverse

Or download just the file:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/apk-reverse/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Bundled upstream support

Supporting files are included at skill-relative paths. See UPSTREAM-NOTICE.md for their pinned sources, licenses, hashes, and import changes.

Supporting material availability

These paths remain unavailable in this catalog copy:

  • <support-root>/scripts/decode.ps1
  • <support-root>/scripts/frida-run.ps1
  • <support-root>/scripts/rebuild-sign-install.ps1

Do not invoke a step that requires one of these files. Obtain the original material and review its dependencies, license, and effects before use. Independent inline steps and the bundled helpers can proceed within the user’s authorized scope.

⚠️ AUTHORIZED USE ONLY This skill is for educational purposes or authorized security assessments only. You must have explicit, written permission from the system owner before using this tool. Misuse of this tool is illegal and strictly prohibited.

Mandatory confirmation gate Before running any command that probes, exploits, changes, persists on, extracts data from, or attempts credential access against a target:

  1. Ask the user to state the exact target URL, IP, account, or resource.
  2. Ask the user to confirm written authorization and the permitted scope.
  3. Show the exact command(s) and explain their expected effect.
  4. Wait for explicit confirmation in the current conversation.

Without that confirmation, remain read-only and provide defensive guidance only. Prefer a sandbox, disposable VM, or controlled lab.

When to Use

  • Analyzing or modifying an Android APK during an authorized assessment.
  • Hooking runtime behavior of an app you own or are cleared to test.

适用范围

当任务属于以下场景时优先使用本 skill:

  • 分析 APK 的 Java 业务逻辑
  • 定位登录、签名、风控、证书校验、root 检测
  • 查看与修改 AndroidManifest.xml
  • 查看与修改 smali
  • 重打包 APK
  • 用 Frida 做 Java/native 动态 Hook
  • APK 内含 .so 时切到 native 分析

当前机器已验证可用的 CLI 工具

  • jadx 1.5.5
  • apktool 3.0.2
  • frida-ps 17.9.6
  • adb
  • java

优先使用脚本的场景

以下流程高频且参数容易出错,优先用 skill 自带脚本:

  • 一次性完成 jadx + apktool 落盘并产出摘要:scripts/decode.ps1
  • Frida 设备检查、进程列举、spawn/attach 注入:scripts/frida-run.ps1
  • 重建、对齐、签名、安装 APK:scripts/rebuild-sign-install.ps1
  • 快速抽取 Manifest 关键组件与权限:scripts/manifest-summary.ps1

以下一行命令保持直接调用,不单独封装:

  • adb devices
  • adb logcat
  • frida-ps -U
  • jadx --version
  • apktool --version

自带脚本

scripts/decode.ps1

用途:

  • 统一跑 jadx 和 apktool
  • 默认在原 APK 同目录创建任务输出目录
  • 输出 package、java_files、smali_dirs、so_files 等摘要
  • 兼容 jadx 部分反编译错误但仍然有可用产物的情况

示例:

pwsh -File "<skill-root>\apk-reverse\scripts\decode.ps1" -ApkPath "D:\DOWNLOAD\app.apk" -Clean
pwsh -File "<skill-root>\apk-reverse\scripts\decode.ps1" -ApkPath "D:\DOWNLOAD\app.apk" -Name demo -SkipJadx

scripts/frida-run.ps1

用途:

  • 统一 Frida 的设备、进程、spawn/attach 入口
  • 避免手写参数时混淆 -f、-n、-U

示例:

pwsh -File "<skill-root>\apk-reverse\scripts\frida-run.ps1" -ListDevices
pwsh -File "<skill-root>\apk-reverse\scripts\frida-run.ps1" -Usb -ListProcesses
pwsh -File "<skill-root>\apk-reverse\scripts\frida-run.ps1" -Usb -Spawn -Package com.example.app -ScriptPath "D:\hooks\test.js"

scripts/rebuild-sign-install.ps1

用途:

  • apktool b 重建 APK
  • zipalign 对齐
  • apksigner 签名与验签
  • 可选直接 adb install

示例:

pwsh -File "<skill-root>\apk-reverse\scripts\rebuild-sign-install.ps1" -ProjectDir "C:\work\apktool_out" -Clean
pwsh -File "<skill-root>\apk-reverse\scripts\rebuild-sign-install.ps1" -ProjectDir "C:\work\apktool_out" -Install -Reinstall -DeviceSerial "127.0.0.1:7555"

说明:

  • 默认生成并复用调试 keystore
  • 默认输出到 ProjectDir 同目录,便于和原始包、解包目录放在一起

scripts/manifest-summary.ps1

用途:

  • 抽取包名
  • 列权限
  • 列 activity/service/receiver/provider
  • 标出主启动 activity

示例:

pwsh -File "<skill-root>\apk-reverse\scripts\manifest-summary.ps1" -ManifestPath "C:\work\apktool_out\AndroidManifest.xml"

如果要分析 .so、lib/arm64-v8a/*.so、lib/armeabi-v7a/*.so,再结合:

  • ida-reverse
  • radare2

工具分工

jadx

用于:

  • Java 反编译阅读
  • 包名、类名、方法名搜索
  • 先从高层逻辑理解 APK

常用命令:

jadx -d jadx_out app.apk
jadx --single-class com.example.LoginActivity -d jadx_out app.apk
jadx --deobf -d jadx_out app.apk

JEB Pro(可选商业工具)

用于:

  • Android DEX / APK / ARM 的交叉验证与深度反编译
  • 在 JADX 输出不完整或混淆较重时补充静态分析
  • 对同一目标的类、方法与调用关系进行第二工具链校验

边界:

  • JEB Pro 是商业软件,必须由用户自行取得并安装有效许可证;本包不会下载、破解或规避许可。
  • 仅在 tool-index 已确认本机 JEB 可用时调用;否则继续使用 jadx、apktool、Ghidra、IDA 或 radare2。

…

FAQ

Do I need permission to use this tool?

Yes, this tool is for educational purposes or authorized security assessments only. You must have explicit, written permission from the system owner before using it. Misuse is illegal.

What tools are used?

The main tools used are 'jadx' for Java decompilation, 'apktool' for unpacking and repacking APKs, 'frida' for dynamic analysis, and 'adb' for interacting with Android devices.

Can I modify any app?

You should only use this tool on apps for which you have explicit authorization. Modifying or analyzing apps without permission is illegal and unethical.

Details

Original description by the author

Android APK reverse engineering: unpacking, Java decompilation, smali modification, repacking and signing, Frida dynamic hooking, and native .so analysis with jadx, apktool, adb, and related tools.

repo: sickn33/agentic-awesome-skills

Popularity

GitHub stars
48k
Ranking position
#2184
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills