#169 by GitHub stars
SimoneAvogadro/android-reverse-engineering-skill
Decompile Android APK, XAPK, JAR, and AAR files using jadx or Fernflower/Vineflower. Reverse engineer Android apps, extract HTTP API endpoints (Retrofit, OkHttp, Volley), and trace call flows from UI to network layer. Use when the user wants to decompile, analyze, or reverse engineer Android package
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
0c7cf8983099 → 0c7cf8983099
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 0c7cf8983099
No earlier version was observed for comparison.
Verified commit 0c7cf89830993df7dfc178498f69952262808bea
git clone --filter=blob:none --no-checkout https://github.com/SimoneAvogadro/android-reverse-engineering-skill.git .hotskills/simoneavogadro-android-reverse-engineering-skill && git -C .hotskills/simoneavogadro-android-reverse-engineering-skill checkout --detach 0c7cf89830993df7dfc178498f69952262808bea
# Copy each selected skill directory from .hotskills/simoneavogadro-android-reverse-engineering-skill into .claude/skills/<skill-name>/Heat
6.8- Star growth, last 7 daysAhead of 84% of tracked repositories
- Star growth, last 24 hoursAhead of 84% of tracked repositories
- Rank movement, last 7 daysAhead of 64% of tracked repositories
- Commits, last 30 daysAhead of 72% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- android-reverse-engineering
plugins/android-reverse-engineering/skills/android-reverse-engineering
How it works
android-reverse-engineering
When your agent uses it
Decompile Android APK, XAPK, JAR, and AAR files using jadx or Fernflower/Vineflower. Reverse engineer Android apps, extract HTTP API endpoints (Retrofit, OkHttp, Volley), and trace call flows from UI to network layer. Use when the user wants to decompile, analyze, or reverse engineer Android packages, find API endpoints, or follow call flows. 中文触发词:反编译APK、安卓逆向、提取API、分析安卓应用、反编译安卓、逆向工程、追踪调用链、提取接口
What it loads into context
Frontmatter
197 tokensAlways available to the agent
SKILL.md
3,887 tokensWhen the skill is activated
Reference documents
15,392 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- Workflow
- Output
- References
Scripts executed separately
scripts/check-deps.ps1scripts/check-deps.shscripts/decompile.ps1scripts/decompile.shscripts/find-api-calls.ps1scripts/find-api-calls.shscripts/fingerprint.shscripts/install-dep.ps1scripts/install-dep.shscripts/lookup-name.shscripts/recover-kotlin-names.sh
Files
../../../../.claude-plugin/marketplace.jsonasset964 bytes../../.claude-plugin/icon.pngasset797,495 bytes../../.claude-plugin/plugin.jsonasset1,018 bytes../../commands/decompile.mddoc3,886 bytes../../commands/decompile.mddoc3,886 bytes../../commands/decompile.mddoc3,886 bytes../../commands/decompile.mddoc3,886 bytes../../commands/decompile.mddoc3,886 bytes../../commands/decompile.mddoc3,886 bytes../../commands/decompile.mddoc3,886 bytes../../commands/decompile.mddoc3,886 bytesSKILL.mdcore16,286 bytesSKILL.mdcore16,286 bytesSKILL.mdcore16,286 bytesSKILL.mdcore16,286 bytesSKILL.mdcore16,286 bytesSKILL.mdcore16,286 bytesSKILL.mdcore16,286 bytesSKILL.mdcore16,286 bytesSKILL.mdcore16,286 bytesSKILL.mdcore16,286 bytesSKILL.mdcore16,286 bytesSKILL.mdcore16,286 bytesSKILL.mdcore16,286 bytesSKILL.mdcore16,286 bytesSKILL.mdcore16,286 bytesSKILL.mdcore16,286 bytesreferences/api-extraction-patterns.mddoc7,030 bytesreferences/call-flow-analysis.mddoc6,988 bytesreferences/fernflower-usage.mddoc3,785 bytesreferences/jadx-usage.mddoc3,078 bytesreferences/kotlin-name-recovery.mddoc4,239 bytesreferences/setup-guide.mddoc4,764 bytesreferences/third_party_hosts.txtdoc2,482 bytesscripts/check-deps.ps1runs5,398 bytesscripts/check-deps.shruns3,930 bytesscripts/decompile.ps1runs14,832 bytesscripts/decompile.shruns17,406 bytesscripts/find-api-calls.ps1runs3,998 bytesscripts/find-api-calls.shruns16,428 bytesscripts/fingerprint.shruns9,847 bytesscripts/install-dep.ps1runs12,158 bytesscripts/install-dep.shruns13,069 bytesscripts/lookup-name.shruns2,577 bytesscripts/recover-kotlin-names.shruns4,992 bytes
Read SKILL.md
# Android Reverse Engineering
Decompile Android APK, XAPK, JAR, and AAR files using jadx and Fernflower/Vineflower, trace call flows through application code and libraries, and produce structured documentation of extracted APIs. Two decompiler engines are supported — jadx for broad Android coverage and Fernflower for higher-quality output on complex Java code — and can be used together for comparison.
## Prerequisites
This skill requires **Java JDK 17+** and **jadx** to be installed. **Fernflower/Vineflower** and **dex2jar** are optional but recommended for better decompilation quality. Run the dependency checker to verify:
```bash
bash ${CLAUDE_PLUGIN_ROOT}/skills/android-reverse-engineering/scripts/check-deps.sh
```
On Windows (PowerShell):
```powershellView the complete source on GitHubSkills included
- android-reverse-engineering
Repository facts
- License
- Apache-2.0
- Created
- Feb 2, 2026
- Last pushed
- Oct 12, 2026
- Forks
- 994
- Open issues
- 11
- Project activity
- Active
Rank over the last 12 weeks
Now #169 · best #151 · down 6 in 30 days
- #166 on Oct 29
- #167 from Oct 30 to Nov 1
- #168 on Nov 2
- #169 on Nov 3
- #168 on Nov 4
- #169 since Nov 5
58 earlier periods
- #155 on Aug 2
- #155 from Aug 7 to Aug 9
- #158 on Aug 10
- #159 on Aug 11
- #158 on Aug 12
- #160 from Aug 13 to Aug 14
- #159 from Aug 15 to Aug 16
- #160 on Aug 17
- #162 on Aug 18
- #161 on Aug 19
- #160 from Aug 20 to Aug 21
- #157 from Aug 22 to Aug 24
- #155 from Aug 25 to Aug 26
- #156 on Aug 27
- #155 on Aug 28
- #154 on Aug 29
- #152 from Aug 30 to Aug 31
- #154 on Sep 1
- #151 on Sep 2
- #154 on Sep 3
- #152 on Sep 4
- #154 on Sep 5
- #152 on Sep 6
- #154 on Sep 7
- #157 on Sep 8
- #158 from Sep 9 to Sep 10
- #155 on Sep 11
- #157 on Sep 12
- #158 from Sep 13 to Sep 14
- #159 on Sep 15
- #158 on Sep 16
- #159 on Sep 17
- #160 on Sep 18
- #158 on Sep 19
- #160 from Sep 20 to Sep 21
- #159 on Sep 22
- #160 on Sep 23
- #159 from Sep 24 to Sep 25
- #160 on Sep 26
- #161 on Sep 27
- #162 from Sep 28 to Sep 29
- #160 on Sep 30
- #162 from Oct 1 to Oct 2
- #160 from Oct 3 to Oct 4
- #161 from Oct 5 to Oct 6
- #163 on Oct 7
- #162 on Oct 8
- #163 on Oct 9
- #162 on Oct 10
- #163 from Oct 11 to Oct 12
- #164 from Oct 13 to Oct 14
- #163 on Oct 15
- #162 on Oct 16
- #165 on Oct 17
- #164 from Oct 18 to Oct 19
- #165 from Oct 20 to Oct 24
- #167 on Oct 25
- #168 on Oct 28
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 2, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 22 notes
plugins/android-reverse-engineering/commands/decompile.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/commands/decompile.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/commands/decompile.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/commands/decompile.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/commands/decompile.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/commands/decompile.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/commands/decompile.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- 1 broad permissionin 1 file: plugins/android-reverse-engineering/commands/decompile.md:1
- 37 dangerous shell commandsin 7 files: android-reverse-engineering/scripts/install-dep.sh:9 android-reverse-engineering/references/setup-guide.md:10 android-reverse-engineering/scripts/decompile.sh:121 and 4 more
- 113 network referencesin 11 files: android-reverse-engineering/scripts/install-dep.sh:120 android-reverse-engineering/scripts/install-dep.ps1:64 plugins/android-reverse-engineering/.claude-plugin/plugin.json:6 and 8 more
- No hidden or obfuscated text
- No instruction overrides
- 11 executable scriptsin 11 files: android-reverse-engineering/scripts/check-deps.ps1:1 android-reverse-engineering/scripts/check-deps.sh:1 android-reverse-engineering/scripts/decompile.ps1:1 and 8 more
- No requests to vote in Hot
Show all 166 signals by file
.claude-plugin/marketplace.json
- Network accessline 1
{ "$schema": "https://anthropic.com/claude-code/marketplace.schema.json", - Network accessline 2
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json", - Network accessline 19
"name": "Simone Avogadro" }, "repository": "https://github.com/SimoneAvogadro/android-reverse-engineering-skill", - Network accessline 20
}, "repository": "https://github.com/SimoneAvogadro/android-reverse-engineering-skill", "license": "Apache-2.0", - Network accessline 21
"repository": "https://github.com/SimoneAvogadro/android-reverse-engineering-skill",
plugins/android-reverse-engineering/.claude-plugin/plugin.json
- Network accessline 6
"name": "Simone Avogadro" }, "homepage": "https://github.com/SimoneAvogadro/android-reverse-engineering-skill", - Network accessline 7
}, "homepage": "https://github.com/SimoneAvogadro/android-reverse-engineering-skill", "repository": "https://github.com/SimoneAvogadro/android-reverse-engineering-skill", - Network accessline 8
"homepage": "https://github.com/SimoneAvogadro/android-reverse-engineering-skill", - Network accessline 9
"repository": "https://github.com/SimoneAvogadro/android-reverse-engineering-skill", - Network accessline 10
"documentationUrl": "https://github.com/SimoneAvogadro/android-reverse-engineering-skill#readme", - Network accessline 11
"license": "Apache-2.0", "supportUrl": "https://github.com/SimoneAvogadro/android-reverse-engineering-skill/issues/new", "termsOfServiceUrl": "https://github.com/SimoneAvogadro/android-reverse-engineering-skill/blob/master/LICENSE", - Network accessline 12
"supportUrl": "https://github.com/SimoneAvogadro/android-reverse-engineering-skill/issues/new", - Network accessline 13
"termsOfServiceUrl": "https://github.com/SimoneAvogadro/android-reverse-engineering-skill/blob/master/LICENSE", - Network accessline 14
"privacyPolicyUrl": "https://github.com/SimoneAvogadro/android-reverse-engineering-skill/blob/master/PRIVACY.md",
plugins/android-reverse-engineering/commands/decompile.md
- Broad permissionsline 1
Bash(bash ${CLAUDE_PLUGIN_ROOT}/skills/android-reverse-engineering/scripts/check-deps.sh), Bash(bash ${CLAUDE_PLUGIN_ROOT}/skills/android-reverse-engineering/scripts/decompile.sh *), Read, Glob, Grep - Dangerous shell operationline 38
The install script auto-detects the OS and installs without sudo when possible (user-local install to `~/.local/`). If sudo is needed, it will prompt — if the user declines or sudo is unavailable, the script prints exact manual instructions
plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md
- Dangerous shell operationline 84
- Installs without sudo when possible (downloads to `~/.local/share/`, symlinks in `~/.local/bin/`) - Dangerous shell operationline 85
- Uses sudo and the system package manager when necessary (apt, dnf, pacman) - Dangerous shell operationline 86
- If sudo is needed but unavailable or the user declines, it prints the exact manual command and exits with code 2 — show these instructions to the user - Network accessline 282
- **Source**: `com.example.api.ApiService` (ApiService.java:42) - **Base URL**: `https://api.example.com/v1` - Network accessline 283
- **Base URL**: `https://api.example.com/v1`
plugins/android-reverse-engineering/skills/android-reverse-engineering/references/api-extraction-patterns.md
- Network accessline 96
Ktor's authentication plugin uses the [`Auth { bearer { loadTokens { ... }; refreshTokens { ... } } }`](https://ktor.io/docs/auth.html) - Network accessline 97
[`Auth { bearer { loadTokens { ... }; refreshTokens { ... } } }`](https://ktor.io/docs/auth.html) - Network accessline 178
- **Source**: `com.example.app.api.ApiService` (file:line) - **Base URL**: `https://api.example.com/v1` - Network accessline 179
- **Base URL**: `https://api.example.com/v1` - Network accessline 180
- **Full URL**: `https://api.example.com/v1/path/to/endpoint`
plugins/android-reverse-engineering/skills/android-reverse-engineering/references/call-flow-analysis.md
plugins/android-reverse-engineering/skills/android-reverse-engineering/references/fernflower-usage.md
- Network accessline 3
Fernflower is the JetBrains analytical Java decompiler. [Vineflower](https://github.com/Vineflower/vineflower) is the actively maintained community fork with better output quality and published releases. They share the same CLI interface.
plugins/android-reverse-engineering/skills/android-reverse-engineering/references/setup-guide.md
- Dangerous shell operationline 10
sudo apt update - Dangerous shell operationline 11
sudo apt install openjdk-17-jdk - Dangerous shell operationline 17
sudo dnf install java-17-openjdk-devel - Dangerous shell operationline 23
sudo pacman -S jdk17-openjdk - Network accessline 53
1. Go to <https://github.com/skylot/jadx/releases/latest> 2. Download the `jadx-<version>.zip` file (not the source archive) - Network accessline 72
git clone https://github.com/skylot/jadx.git - Network accessline 89
Fernflower is the JetBrains Java decompiler. It produces better output than jadx on complex Java constructs, lambdas, and generics. [Vineflower](https://github.com/Vineflower/vineflower) is the actively maintained community fork with publis - Network accessline 93
1. Go to <https://github.com/Vineflower/vineflower/releases/latest> 2. Download `vineflower-<version>.jar` - Network accessline 107
git clone https://github.com/JetBrains/fernflower.git - Network accessline 136
1. Go to <https://github.com/ThexXTURBOXx/dex2jar/releases/latest> 2. Download and extract: - Dangerous shell operationline 176
sudo apt install apktool - Network accessline 181
# Manual: https://apktool.org/docs/install - Dangerous shell operationline 190
sudo apt install adb
plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/check-deps.ps1
- Executable scriptline 1
Executable file
plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/check-deps.sh
- Executable scriptline 1
#!/usr/bin/env bash
plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.ps1
- Executable scriptline 1
Executable file
plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh
plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.ps1
plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.sh
- Executable scriptline 1
#!/usr/bin/env bash - Access to secretsline 4
[Credential-related source omitted] - Network accessline 233
# '/path' — keeps internal hosts (localhost, internal-backend) svc/health # while still dropping Kotlin-stdlib dictionary fragments like # "http://An Introduction..." (bare word, no port/path follows). - Network accessline 235
# "http://An Introduction..." (bare word, no port/path follows). - Dangerous shell operationline 239
trap 'rm -f "$TMP"' EXIT - Network accessline 253
# keeps "mytrackera-api.com") # Trade-off: a first-party host referenced bare with an uncommon TLD (e.g. # https://foo.store with no path) is dropped — give it a path/port, or add the - Network accessline 254
# Trade-off: a first-party host referenced bare with an uncommon TLD (e.g. # https://foo.store with no path) is dropped — give it a path/port, or add the # TLD to the list below, if you hit that case. - Network accessline 255
# https://foo.store with no path) is dropped — give it a path/port, or add the - Dangerous shell operationline 310
rm -f "$HOSTS_TMP" "$TMP"
plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/fingerprint.sh
- Executable scriptline 1
#!/usr/bin/env bash - Dangerous shell operationline 33
trap 'rm -rf "$TMP"' EXIT - Network accessline 226
echo " Java code is just the RN host. Real app logic is in JS/Hermes:" echo " - if Hermes: hbctool disasm assets/index.android.bundle" echo " - if JSC: js-beautify the bundle and grep for 'fetch('/'axios'" - Network accessline 227
echo " - if Hermes: hbctool disasm assets/index.android.bundle" echo " - if JSC: js-beautify the bundle and grep for 'fetch('/'axios'" ;; - Network accessline 228
echo " - if JSC: js-beautify the bundle and grep for 'fetch('/'axios'"
plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/install-dep.ps1
- Executable scriptline 1
Executable file - Network accessline 64
function Get-GHLatestTag { param([string]$Repo) $url = "https://api.github.com/repos/$Repo/releases/latest" - Network accessline 65
param([string]$Repo) $url = "https://api.github.com/repos/$Repo/releases/latest" [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 - Network accessline 66
$url = "https://api.github.com/repos/$Repo/releases/latest" - Network accessline 114
choco install openjdk17 -y } else { Write-Manual "Install Java JDK 17+ from https://adoptium.net/" - Network accessline 115
} else { Write-Manual "Install Java JDK 17+ from https://adoptium.net/" } - Network accessline 116
Write-Manual "Install Java JDK 17+ from https://adoptium.net/" - Network accessline 148
if (-not $tag) { Write-Fail "Could not determine latest jadx version." Write-Manual "Download from https://github.com/skylot/jadx/releases/latest" - Network accessline 149
Write-Fail "Could not determine latest jadx version." Write-Manual "Download from https://github.com/skylot/jadx/releases/latest" } - Network accessline 150
Write-Manual "Download from https://github.com/skylot/jadx/releases/latest" - Network accessline 153
$version = $tag -replace '^v', '' $url = "https://github.com/skylot/jadx/releases/download/$tag/jadx-$version.zip" - Network accessline 154
$url = "https://github.com/skylot/jadx/releases/download/$tag/jadx-$version.zip" - Network accessline 202
if (-not $tag) { Write-Fail "Could not determine latest Vineflower version." Write-Manual "Download from https://github.com/Vineflower/vineflower/releases/latest" - Network accessline 203
Write-Fail "Could not determine latest Vineflower version." Write-Manual "Download from https://github.com/Vineflower/vineflower/releases/latest" } - Network accessline 204
Write-Manual "Download from https://github.com/Vineflower/vineflower/releases/latest" - Network accessline 207
$version = $tag -replace '^v', '' $url = "https://github.com/Vineflower/vineflower/releases/download/$tag/vineflower-$version.jar" - Network accessline 208
$url = "https://github.com/Vineflower/vineflower/releases/download/$tag/vineflower-$version.jar" - Network accessline 238
$version = $tag -replace '^v', '' $url = "https://github.com/ThexXTURBOXx/dex2jar/releases/download/$tag/dex-tools-$version.zip" - Network accessline 239
$url = "https://github.com/ThexXTURBOXx/dex2jar/releases/download/$tag/dex-tools-$version.zip" - Network accessline 246
$url = "https://github.com/ThexXTURBOXx/dex2jar/releases/download/$tag/dex-tools-v$version.zip" - Network accessline 249
} catch { Write-Fail "Download failed." Write-Manual "Download from https://github.com/ThexXTURBOXx/dex2jar/releases/latest" - Network accessline 250
Write-Fail "Download failed." Write-Manual "Download from https://github.com/ThexXTURBOXx/dex2jar/releases/latest" } - Network accessline 251
Write-Manual "Download from https://github.com/ThexXTURBOXx/dex2jar/releases/latest" - Network accessline 266
if (-not $d2jBat) { Write-Fail "Could not find d2j-dex2jar in extracted archive." Write-Manual "Download and extract manually from https://github.com/ThexXTURBOXx/dex2jar/releases" - Network accessline 267
Write-Fail "Could not find d2j-dex2jar in extracted archive." Write-Manual "Download and extract manually from https://github.com/ThexXTURBOXx/dex2jar/releases" } - Network accessline 268
Write-Manual "Download and extract manually from https://github.com/ThexXTURBOXx/dex2jar/releases" - Network accessline 288
choco install apktool -y } else { Write-Manual "Install apktool from https://apktool.org/docs/install" - Network accessline 289
} else { Write-Manual "Install apktool from https://apktool.org/docs/install" } - Network accessline 290
Write-Manual "Install apktool from https://apktool.org/docs/install" - Network accessline 315
winget install Google.PlatformTools --accept-source-agreements --accept-package-agreements } else { Write-Manual "Install Android SDK Platform Tools from https://developer.android.com/tools/releases/platform-tools" - Network accessline 316
} else { Write-Manual "Install Android SDK Platform Tools from https://developer.android.com/tools/releases/platform-tools" } - Network accessline 317
Write-Manual "Install Android SDK Platform Tools from https://developer.android.com/tools/releases/platform-tools"
plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/install-dep.sh
- Executable scriptline 1
#!/usr/bin/env bash - Dangerous shell operationline 9
# 2 — requires manual action (e.g. sudo needed but not available) - Dangerous shell operationline 28
- Uses sudo if available and needed - Dangerous shell operationline 62
# Check sudo availability - Dangerous shell operationline 63
if command -v sudo &>/dev/null; then - Dangerous shell operationline 64
if sudo -n true 2>/dev/null; then - Dangerous shell operationline 67
# sudo exists but may need password — we'll try it and let it prompt - Dangerous shell operationline 81
# --- Helper: install via system package manager (needs sudo on Linux) --- - Dangerous shell operationline 92
sudo apt-get update -qq && sudo apt-get install -y -qq "$pkg" - Dangerous shell operationline 94
manual "Run: sudo apt-get install $pkg" - Dangerous shell operationline 100
sudo dnf install -y "$pkg" - Dangerous shell operationline 102
manual "Run: sudo dnf install $pkg" - Dangerous shell operationline 108
sudo pacman -S --noconfirm "$pkg" - Dangerous shell operationline 110
manual "Run: sudo pacman -S $pkg" - Network accessline 120
download() { local url="$1" dest="$2" if command -v curl &>/dev/null; then - Network accessline 121
local url="$1" dest="$2" if command -v curl &>/dev/null; then curl -fsSL -o "$dest" "$url" - Network accessline 122
if command -v curl &>/dev/null; then - Network accessline 123
curl -fsSL -o "$dest" "$url" - Network accessline 124
elif command -v wget &>/dev/null; then - Network accessline 125
wget -q -O "$dest" "$url" - Network accessline 126
else fail "Neither curl nor wget available." return 1 - Network accessline 127
fail "Neither curl nor wget available." - Network accessline 133
gh_latest_tag() { local repo="$1" local url="https://api.github.com/repos/$repo/releases/latest" - Network accessline 134
local repo="$1" local url="https://api.github.com/repos/$repo/releases/latest" if command -v curl &>/dev/null; then - Network accessline 135
local url="https://api.github.com/repos/$repo/releases/latest" if command -v curl &>/dev/null; then curl -fsSL "$url" | grep '"tag_name"' | head -1 | sed 's/.*"tag_name":[[:space:]]*"\([^"]*\)".*/\1/' - Network accessline 136
if command -v curl &>/dev/null; then - Network accessline 137
curl -fsSL "$url" | grep '"tag_name"' | head -1 | sed 's/.*"tag_name":[[:space:]]*"\([^"]*\)".*/\1/' - Network accessline 138
elif command -v wget &>/dev/null; then - Network accessline 139
wget -q -O - "$url" | grep '"tag_name"' | head -1 | sed 's/.*"tag_name":[[:space:]]*"\([^"]*\)".*/\1/' - Network accessline 184
dnf) pkg_install "java-17-openjdk-devel" ;; pacman) pkg_install "jdk17-openjdk" ;; *) manual "Install Java JDK 17+ from https://adoptium.net/" ;; - Network accessline 185
pacman) pkg_install "jdk17-openjdk" ;; *) manual "Install Java JDK 17+ from https://adoptium.net/" ;; esac - Network accessline 186
*) manual "Install Java JDK 17+ from https://adoptium.net/" ;; - Dangerous shell operationline 215
# User-local install from GitHub releases (no sudo needed) - Network accessline 219
if [[ -z "$tag" ]]; then fail "Could not determine latest jadx version." manual "Download from https://github.com/skylot/jadx/releases/latest" - Network accessline 220
fail "Could not determine latest jadx version." manual "Download from https://github.com/skylot/jadx/releases/latest" fi - Network accessline 221
manual "Download from https://github.com/skylot/jadx/releases/latest" - Network accessline 224
local version="${tag#v}" local url="https://github.com/skylot/jadx/releases/download/${tag}/jadx-${version}.zip" - Network accessline 225
local url="https://github.com/skylot/jadx/releases/download/${tag}/jadx-${version}.zip" - Dangerous shell operationline 233
rm -rf "$install_dir" - Dangerous shell operationline 236
rm -f "$tmp_zip" - Dangerous shell operationline 282
# Download JAR from GitHub releases (no sudo needed) - Network accessline 286
if [[ -z "$tag" ]]; then fail "Could not determine latest Vineflower version." manual "Download from https://github.com/Vineflower/vineflower/releases/latest" - Network accessline 287
fail "Could not determine latest Vineflower version." manual "Download from https://github.com/Vineflower/vineflower/releases/latest" fi - Network accessline 288
manual "Download from https://github.com/Vineflower/vineflower/releases/latest" - Network accessline 291
local version="${tag#v}" local url="https://github.com/Vineflower/vineflower/releases/download/${tag}/vineflower-${version}.jar" - Network accessline 292
local url="https://github.com/Vineflower/vineflower/releases/download/${tag}/vineflower-${version}.jar" - Dangerous shell operationline 332
# Download from GitHub (no sudo needed) - Network accessline 341
local version="${tag#v}" local url="https://github.com/ThexXTURBOXx/dex2jar/releases/download/${tag}/dex-tools-${version}.zip" - Network accessline 342
local url="https://github.com/ThexXTURBOXx/dex2jar/releases/download/${tag}/dex-tools-${version}.zip" - Network accessline 349
url="https://github.com/ThexXTURBOXx/dex2jar/releases/download/${tag}/dex-tools-v${version}.zip" - Network accessline 350
download "$url" "$tmp_zip" || { - Network accessline 351
fail "Download failed." manual "Download from https://github.com/ThexXTURBOXx/dex2jar/releases/latest" } - Network accessline 352
manual "Download from https://github.com/ThexXTURBOXx/dex2jar/releases/latest" - Dangerous shell operationline 357
rm -rf "$install_dir" - Dangerous shell operationline 360
rm -f "$tmp_zip" - Network accessline 370
if [[ -z "$bin_dir" ]]; then fail "Could not find d2j-dex2jar.sh in extracted archive." manual "Download and extract manually from https://github.com/ThexXTURBOXx/dex2jar/releases" - Network accessline 371
fail "Could not find d2j-dex2jar.sh in extracted archive." manual "Download and extract manually from https://github.com/ThexXTURBOXx/dex2jar/releases" fi - Network accessline 372
manual "Download and extract manually from https://github.com/ThexXTURBOXx/dex2jar/releases" - Network accessline 397
brew) info "Installing apktool via Homebrew..."; brew install apktool ;; apt) pkg_install "apktool" ;; *) manual "Install apktool from https://apktool.org/docs/install" ;; - Network accessline 398
apt) pkg_install "apktool" ;; *) manual "Install apktool from https://apktool.org/docs/install" ;; esac - Network accessline 399
*) manual "Install apktool from https://apktool.org/docs/install" ;; - Network accessline 419
dnf) pkg_install "android-tools" ;; pacman) pkg_install "android-tools" ;; *) manual "Install Android SDK Platform Tools from https://developer.android.com/tools/releases/platform-tools" ;; - Network accessline 420
pacman) pkg_install "android-tools" ;; *) manual "Install Android SDK Platform Tools from https://developer.android.com/tools/releases/platform-tools" ;; esac - Network accessline 421
*) manual "Install Android SDK Platform Tools from https://developer.android.com/tools/releases/platform-tools" ;;
plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/lookup-name.sh
- Executable scriptline 1
#!/usr/bin/env bash
plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/recover-kotlin-names.sh
- Executable scriptline 1
#!/usr/bin/env bash
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 4 facts
- Contacts adoptium.net, which SKILL.md, the README and the plugin manifest do not mentionandroid-reverse-engineering/scripts/install-dep.ps1:116High confidence
- Contacts developer.android.com, which SKILL.md, the README and the plugin manifest do not mentionandroid-reverse-engineering/scripts/install-dep.ps1:317High confidence
- Contacts adoptium.net, which SKILL.md, the README and the plugin manifest do not mentionandroid-reverse-engineering/scripts/install-dep.sh:186High confidence
- Contacts developer.android.com, which SKILL.md, the README and the plugin manifest do not mentionandroid-reverse-engineering/scripts/install-dep.sh:421High confidence
Signal confidence: 166 facts
- Network access in code of the plugin configuration.claude-plugin/marketplace.json:1High confidence
- Network access in code of the plugin configuration.claude-plugin/marketplace.json:2High confidence
- Network access in code of the plugin configuration.claude-plugin/marketplace.json:19High confidence
- Network access in code of the plugin configuration.claude-plugin/marketplace.json:20High confidence
- Network access in code of the plugin configuration.claude-plugin/marketplace.json:21High confidence
- Network access in code of the plugin configurationplugins/android-reverse-engineering/.claude-plugin/plugin.json:6High confidence
- Network access in code of the plugin configurationplugins/android-reverse-engineering/.claude-plugin/plugin.json:7High confidence
- Network access in code of the plugin configurationplugins/android-reverse-engineering/.claude-plugin/plugin.json:8High confidence
- Network access in code of the plugin configurationplugins/android-reverse-engineering/.claude-plugin/plugin.json:9High confidence
- Network access in code of the plugin configurationplugins/android-reverse-engineering/.claude-plugin/plugin.json:10High confidence
- Network access in code of the plugin configurationplugins/android-reverse-engineering/.claude-plugin/plugin.json:11High confidence
- Network access in code of the plugin configurationplugins/android-reverse-engineering/.claude-plugin/plugin.json:12High confidence
- Network access in code of the plugin configurationplugins/android-reverse-engineering/.claude-plugin/plugin.json:13High confidence
- Network access in code of the plugin configurationplugins/android-reverse-engineering/.claude-plugin/plugin.json:14High confidence
- Broad permissions in prose of documentationplugins/android-reverse-engineering/commands/decompile.md:1Low confidence
- Dangerous shell operation in prose of documentationplugins/android-reverse-engineering/commands/decompile.md:38Low confidence
- Dangerous shell operation in prose of the SKILL.mdandroid-reverse-engineering/SKILL.md:84Low confidence
- Dangerous shell operation in prose of the SKILL.mdandroid-reverse-engineering/SKILL.md:85Low confidence
- Dangerous shell operation in prose of the SKILL.mdandroid-reverse-engineering/SKILL.md:86Low confidence
- Network access in code of the SKILL.mdandroid-reverse-engineering/SKILL.md:282High confidence
- Network access in code of the SKILL.mdandroid-reverse-engineering/SKILL.md:283High confidence
- Network access in prose of documentationandroid-reverse-engineering/references/api-extraction-patterns.md:96Low confidence
- Network access in prose of documentationandroid-reverse-engineering/references/api-extraction-patterns.md:97Low confidence
- Network access in code of documentationandroid-reverse-engineering/references/api-extraction-patterns.md:178Low confidence
- Network access in code of documentationandroid-reverse-engineering/references/api-extraction-patterns.md:179Low confidence
- Network access in code of documentationandroid-reverse-engineering/references/api-extraction-patterns.md:180Low confidence
- Access to secrets in code of documentationandroid-reverse-engineering/references/call-flow-analysis.md:152Low confidence
- Access to secrets in prose of documentationandroid-reverse-engineering/references/call-flow-analysis.md:208Low confidence
- Network access in prose of documentationandroid-reverse-engineering/references/fernflower-usage.md:3Low confidence
- Dangerous shell operation in code of documentationandroid-reverse-engineering/references/setup-guide.md:10Low confidence
- Dangerous shell operation in code of documentationandroid-reverse-engineering/references/setup-guide.md:11Low confidence
- Dangerous shell operation in code of documentationandroid-reverse-engineering/references/setup-guide.md:17Low confidence
- Dangerous shell operation in code of documentationandroid-reverse-engineering/references/setup-guide.md:23Low confidence
- Network access in prose of documentationandroid-reverse-engineering/references/setup-guide.md:53Low confidence
- Network access in code of documentationandroid-reverse-engineering/references/setup-guide.md:72Low confidence
- Network access in prose of documentationandroid-reverse-engineering/references/setup-guide.md:89Low confidence
- Network access in prose of documentationandroid-reverse-engineering/references/setup-guide.md:93Low confidence
- Network access in code of documentationandroid-reverse-engineering/references/setup-guide.md:107Low confidence
- Network access in prose of documentationandroid-reverse-engineering/references/setup-guide.md:136Low confidence
- Dangerous shell operation in code of documentationandroid-reverse-engineering/references/setup-guide.md:176Low confidence
- Network access in code of documentationandroid-reverse-engineering/references/setup-guide.md:181Low confidence
- Dangerous shell operation in code of documentationandroid-reverse-engineering/references/setup-guide.md:190Low confidence
- Executable script in a comment of a file that runsandroid-reverse-engineering/scripts/check-deps.ps1:1Low confidence
- Executable script in code of a file that runsandroid-reverse-engineering/scripts/check-deps.sh:1High confidence
- Executable script in a comment of a file that runsandroid-reverse-engineering/scripts/decompile.ps1:1Low confidence
- Executable script in code of a file that runsandroid-reverse-engineering/scripts/decompile.sh:1High confidence
- Dangerous shell operation in code of a file that runsandroid-reverse-engineering/scripts/decompile.sh:121High confidence
- Dangerous shell operation in code of a file that runsandroid-reverse-engineering/scripts/decompile.sh:286High confidence
- Dangerous shell operation in code of a file that runsandroid-reverse-engineering/scripts/decompile.sh:319High confidence
- Dangerous shell operation in code of a file that runsandroid-reverse-engineering/scripts/decompile.sh:523High confidence
and 116 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/simoneavogadro-android-reverse-engineering-skill/)