#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

Compare on GitHub

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.

Compare on GitHub

View on GitHubAdd to my skills

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>/
8.7kGitHub stars
91stars in 7 days
1skill in this repository
6commits in 30 days

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

Aug 2, 2026Nov 6, 20268,666

Individual skills in this repository

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 tokens

Always available to the agent

SKILL.md

3,887 tokens

When the skill is activated

Reference documents

15,392 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Prerequisites
  2. Workflow
  3. Output
  4. References

Scripts executed separately

  • scripts/check-deps.ps1
  • scripts/check-deps.sh
  • scripts/decompile.ps1
  • scripts/decompile.sh
  • scripts/find-api-calls.ps1
  • scripts/find-api-calls.sh
  • scripts/fingerprint.sh
  • scripts/install-dep.ps1
  • scripts/install-dep.sh
  • scripts/lookup-name.sh
  • scripts/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 bytes
  • SKILL.mdcore16,286 bytes
  • SKILL.mdcore16,286 bytes
  • SKILL.mdcore16,286 bytes
  • SKILL.mdcore16,286 bytes
  • SKILL.mdcore16,286 bytes
  • SKILL.mdcore16,286 bytes
  • SKILL.mdcore16,286 bytes
  • SKILL.mdcore16,286 bytes
  • SKILL.mdcore16,286 bytes
  • SKILL.mdcore16,286 bytes
  • SKILL.mdcore16,286 bytes
  • SKILL.mdcore16,286 bytes
  • SKILL.mdcore16,286 bytes
  • SKILL.mdcore16,286 bytes
  • SKILL.mdcore16,286 bytes
  • SKILL.mdcore16,286 bytes
  • references/api-extraction-patterns.mddoc7,030 bytes
  • references/call-flow-analysis.mddoc6,988 bytes
  • references/fernflower-usage.mddoc3,785 bytes
  • references/jadx-usage.mddoc3,078 bytes
  • references/kotlin-name-recovery.mddoc4,239 bytes
  • references/setup-guide.mddoc4,764 bytes
  • references/third_party_hosts.txtdoc2,482 bytes
  • scripts/check-deps.ps1runs5,398 bytes
  • scripts/check-deps.shruns3,930 bytes
  • scripts/decompile.ps1runs14,832 bytes
  • scripts/decompile.shruns17,406 bytes
  • scripts/find-api-calls.ps1runs3,998 bytes
  • scripts/find-api-calls.shruns16,428 bytes
  • scripts/fingerprint.shruns9,847 bytes
  • scripts/install-dep.ps1runs12,158 bytes
  • scripts/install-dep.shruns13,069 bytes
  • scripts/lookup-name.shruns2,577 bytes
  • scripts/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):
```powershell
View the complete source on GitHub

Skills 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

  1. #166 on Oct 29
  2. #167 from Oct 30 to Nov 1
  3. #168 on Nov 2
  4. #169 on Nov 3
  5. #168 on Nov 4
  6. #169 since Nov 5
58 earlier periods
  1. #155 on Aug 2
  2. #155 from Aug 7 to Aug 9
  3. #158 on Aug 10
  4. #159 on Aug 11
  5. #158 on Aug 12
  6. #160 from Aug 13 to Aug 14
  7. #159 from Aug 15 to Aug 16
  8. #160 on Aug 17
  9. #162 on Aug 18
  10. #161 on Aug 19
  11. #160 from Aug 20 to Aug 21
  12. #157 from Aug 22 to Aug 24
  13. #155 from Aug 25 to Aug 26
  14. #156 on Aug 27
  15. #155 on Aug 28
  16. #154 on Aug 29
  17. #152 from Aug 30 to Aug 31
  18. #154 on Sep 1
  19. #151 on Sep 2
  20. #154 on Sep 3
  21. #152 on Sep 4
  22. #154 on Sep 5
  23. #152 on Sep 6
  24. #154 on Sep 7
  25. #157 on Sep 8
  26. #158 from Sep 9 to Sep 10
  27. #155 on Sep 11
  28. #157 on Sep 12
  29. #158 from Sep 13 to Sep 14
  30. #159 on Sep 15
  31. #158 on Sep 16
  32. #159 on Sep 17
  33. #160 on Sep 18
  34. #158 on Sep 19
  35. #160 from Sep 20 to Sep 21
  36. #159 on Sep 22
  37. #160 on Sep 23
  38. #159 from Sep 24 to Sep 25
  39. #160 on Sep 26
  40. #161 on Sep 27
  41. #162 from Sep 28 to Sep 29
  42. #160 on Sep 30
  43. #162 from Oct 1 to Oct 2
  44. #160 from Oct 3 to Oct 4
  45. #161 from Oct 5 to Oct 6
  46. #163 on Oct 7
  47. #162 on Oct 8
  48. #163 on Oct 9
  49. #162 on Oct 10
  50. #163 from Oct 11 to Oct 12
  51. #164 from Oct 13 to Oct 14
  52. #163 on Oct 15
  53. #162 on Oct 16
  54. #165 on Oct 17
  55. #164 from Oct 18 to Oct 19
  56. #165 from Oct 20 to Oct 24
  57. #167 on Oct 25
  58. #168 on Oct 28

Before you install

Network or broad shell

Automated 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:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/commands/decompile.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/commands/decompile.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/commands/decompile.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/commands/decompile.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/commands/decompile.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/commands/decompile.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/android-reverse-engineering/skills/android-reverse-engineering/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
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

  • Access to secretsline 152
    [Credential-related source omitted]
  • Access to secretsline 208
    [Credential-related source omitted]

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

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 121
    rm -rf "$XAPK_EXTRACTED_DIR"
  • Dangerous shell operationline 286
    rm -f "$result_jar"
  • Dangerous shell operationline 319
    rm -f "$converted_jar"
  • Dangerous shell operationline 523
    rm -rf "$XAPK_EXTRACTED_DIR"

plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.ps1

  • Executable scriptline 1
    Executable file
  • Access to secretsline 3
    [Credential-related source omitted]
  • Network accessline 104
    if ($searchAll -or $Urls) {     Write-Section "Hardcoded URLs (http:// and https://)"
  • Network accessline 105
    Write-Section "Hardcoded URLs (http:// and https://)"

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
Signal confidence: 166 facts

and 116 more

Works with

  • 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.

SimoneAvogadro/android-reverse-engineering-skill: #169 on hotskills, 8.7k stars

[![SimoneAvogadro/android-reverse-engineering-skill on hotskills](https://hotskills.dev/badge/simoneavogadro-android-reverse-engineering-skill.svg)](https://hotskills.dev/skill/simoneavogadro-android-reverse-engineering-skill/)