# APK Reverse Engineering Keywords in reverse-skill: Complete Routing Reference

> Discover APK reverse engineering keywords in reverse-skill like apk reverse and apk jadx smali reverse. Learn how routing.json directs requests to the apk-reverse module.

- Repository: [ZhaoXu/reverse-skill](https://github.com/zhaoxuya520/reverse-skill)
- Tags: api-reference
- Published: 2026-08-10

---

**The reverse-skill repository defines specific natural-language keywords—including "apk reverse", "apk jadx smali reverse", and the Chinese phrase "安卓 APK 加固 反编译"—that route user requests to the apk-reverse skill module via the routing.json configuration.**

The zhaoxuya520/reverse-skill project implements a routing matrix to map natural-language hints to specialized reverse engineering capabilities. Understanding the exact APK reverse engineering keywords is essential for initializing cases that unlock tools like **jadx**, **apktool**, and **frida** for Android analysis.

## How the Routing Matrix Works

The routing system normalizes user input (converting to lowercase and trimming whitespace) and matches it against predefined patterns in [`skills/config/routing.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/config/routing.json). When a match is found, the router dispatches the request to the corresponding skill directory—in this case, `skills/apk-reverse/`.

According to the source code in `skills/scripts/verify-routing-coherence.ps1`, the routing table explicitly maps hint strings to the **apk-reverse** skill ID. This ensures that variations of APK-related terminology consistently trigger the correct module.

## Complete List of APK Reverse Engineering Keywords

The following keywords are defined in the repository and will route to the **apk-reverse** skill:

- **`apk reverse`** – Defined in [`.github/workflows/ci.yml`](https://github.com/zhaoxuya520/reverse-skill/blob/main/.github/workflows/ci.yml) at line 81, this keyword directly selects the APK reverse skill (ID R1).

- **`apk`** – Found in `skills/scripts/verify-routing-coherence.ps1` at line 196 (variable `N = 'apk'`), this serves as the base token. When combined with other tokens, it resolves to the apk-reverse module.

- **`apk jadx smali reverse`** – Located in the same file at line 196 (variable `H = 'apk jadx smali reverse'`), this full-text hint describes the complete decompilation workflow using Jadx for Java code and apktool for smali handling.

- **`apk jadx reverse`** – Appearing in `skills/scripts/verify-routing-coherence.ps1` at lines 269 and 285, this shorter variant also maps correctly to the apk-reverse skill.

- **`decompile APK with jadx apktool smali`** – Defined in `skills/scripts/smoke.ps1` at line 91, this explicit description is used in smoke-test routing scenarios.

- **`安卓 APK 加固 反编译`** – Found in `skills/scripts/smoke.ps1` at line 96 and `skills/scripts/test-p0-friction.ps1` at line 138, this Chinese phrase (meaning "Android APK hardened reverse compilation") provides native language support for routing.

- **`apk-reverse`** – While used primarily as the internal module name throughout routing tables ([`routing.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/routing.md), [`routing_zh.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/routing_zh.md)) and tool-discovery scripts, this string also appears in generated documentation.

## Practical Usage Examples

Use these keywords with the [`case-init.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/case-init.sh) script to initialize APK reverse engineering cases.

### Generic Keyword Entry

```bash

# Launch a reverse-engineering case using the standard hint

bash skills/scripts/case-init.sh --hint "apk reverse" --case-name demo-apk

```

### Detailed Decompilation Hint

```bash

# Use the explicit tool-chain description

bash skills/scripts/case-init.sh --hint "decompile APK with jadx apktool smali" --case-name decode-demo

```

### Chinese Language Support

```bash

# Initialize using the Chinese keyword for APK reverse engineering

bash skills/scripts/case-init.sh --hint "安卓 APK 加固 反编译" --case-name zh-demo

```

### Shortcut Variant

```bash

# Use the abbreviated hint that the router recognizes

bash skills/scripts/case-init.sh --hint "apk jadx reverse" --case-name short-hint

```

All commands above initialize a case scoped to the `apk-reverse/` directory, making the full toolset immediately available.

## Key Source Files and Configuration

The keyword mapping is implemented across these critical files:

- **[`skills/config/routing.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/config/routing.json)** – Contains the machine-readable routing configuration with the canonical keyword list and skill mappings.

- **`skills/scripts/verify-routing-coherence.ps1`** – Generates the internal routing map and defines literal keyword strings including `apk jadx smali reverse`.

- **[`skills/scripts/case-init.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/case-init.sh)** – Entry point that parses the `--hint` argument and dispatches to the appropriate skill module.

- **`skills/scripts/smoke.ps1`** – Smoke-test suite that validates keyword routing, including the Chinese hint at line 96.

- **[`skills/apk-reverse/SKILL.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/apk-reverse/SKILL.md)** – Human-readable documentation listing supported actions and tools available after routing.

- **[`skills/routing.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/routing.md) and [`skills/routing_zh.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/routing_zh.md)** – English and Chinese routing matrices displaying available keywords.

## Summary

- The **apk-reverse** skill in zhaoxuya520/reverse-skill responds to multiple keyword variations, from simple ("apk reverse") to descriptive ("decompile APK with jadx apktool smali").
- **Chinese language support** is available via "安卓 APK 加固 反编译" for native-speaking users.
- Keyword matching is **case-insensitive** and whitespace-tolerant, normalizing input before checking against [`skills/config/routing.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/config/routing.json).
- The routing logic is validated through PowerShell scripts (`verify-routing-coherence.ps1`, `smoke.ps1`) that ensure coherence between documentation and actual implementation.

## Frequently Asked Questions

### What is the shortest effective keyword for APK reverse engineering in reverse-skill?

The minimal functional keyword is **`apk`**, which acts as the primary token in the routing matrix defined in `skills/scripts/verify-routing-coherence.ps1`. When submitted as a hint, the router resolves this base token to the apk-reverse skill, though using "apk reverse" provides more specific routing assurance.

### Can I use Chinese keywords to access the apk-reverse functionality?

**Yes.** The repository explicitly supports Chinese keywords. The phrase **"安卓 APK 加固 反编译"** (Android APK hardened reverse compilation) is defined in both `skills/scripts/smoke.ps1` (line 96) and `skills/scripts/test-p0-friction.ps1` (line 138), allowing native Chinese speakers to route to the apk-reverse skill without using English terminology.

### Where is the routing configuration physically stored?

The canonical routing configuration resides in **[`skills/config/routing.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/config/routing.json)**. This JSON file contains the master mapping table where the router looks up normalized hint strings to determine which skill directory (such as [`apk-reverse/SKILL.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/apk-reverse/SKILL.md)) to activate for a given case.

### How does the system handle typos or capitalization in keywords?

The routing engine **normalizes** input by converting hints to lowercase and trimming whitespace before matching. This means "APK Reverse", "apk reverse", and "  apk reverse  " are treated identically. However, significant typos or missing keywords (e.g., "apkrverse") will fail to match the defined patterns in the routing matrix.