mirror of
https://codeberg.org/reverse-skill-lab/apk-reverse
synced 2026-11-15 23:04:22 +08:00
Capability-first tooling guidance, plus removal of target identity from the repo. Toolchain (references/toolchain.md): - New ASC (droidasc) section + README Requirements row. An agent should reach for an indexer before any full decompile. Covers install, query subcommands, the division of labour with ddc (ASC locates, ddc reads), and its measured limits -- including the unverified-negative trap when a non-ASCII needle goes through a shell, and the mangled-class case where ASC is the only route. - ddc: two measured limits -- a renamed class is unreachable via -c, and a decompiled body can be semantically wrong rather than merely ugly. - New "Closing a capability gap": installing the missing tool IS the task, with measured install costs set against the cost of the workaround. - New "Using the kit's scripts instead of writing your own", with two-tools-disagreeing as the bug detector it is. - Ghidra section for the aarch64 case: headless invocation, the flattening caveat, and the "a decompiler cannot go where the data is not" boundary. - HaE placed in Tier 3 as traffic triage, naming the three situations where it is the wrong next step. Observation ordering: - SKILL.md: new Tooling section with four obligations; G2 now requires a written capability inventory; symptom index gains four rows (silent feature loss with no request at all, telling your patch apart from the target's own behaviour, spawn keeps the Activity stack down, the device server being killed by the ROM). - dynamic-frida.md: the patch-then-detach ordering, and device-server survival notes. - New scripts/spawn_patch_detach.py and scripts/hook_patch_only.js. Neutrality: - docs/verification-jiongnew/ -> docs/tool-verification/. Target-specific transcripts dropped; all target identity removed. The record keeps the measurements and loses the specimen. - No target identity remains anywhere in the tree. check_repo.py: 0 problems. check_refs.py: 182 reachable, 0 dangling, 0 warnings.
38 lines
1.9 KiB
Markdown
38 lines
1.9 KiB
Markdown
# Tool verification record
|
|
|
|
This directory is the **evidence record for the `apk-reverse` skill measured against real
|
|
targets**, kept separate from the skill itself so the Coverage statement in `SKILL.md` can be
|
|
checked against the runs behind it, and so a later reader can tell which claims were *observed*,
|
|
which were *inferred*, and which are still *unverified*.
|
|
|
|
It is **not** a set of target-specific notes kept for reuse, and it deliberately carries **no target
|
|
identity**. The measurements are about the **tools and the skill**; they stay valid whichever APK
|
|
produced them. Where a concrete figure was needed to make a point (a class count, a file size, a
|
|
build time) the figure is kept and the target is named generically.
|
|
|
|
Targets measured: Flutter AOT applications, multi-dex, mid-size native library sets, no packer.
|
|
|
|
The APKs themselves are **not** in this repository (`.gitignore` excludes `*.apk`).
|
|
|
|
## Strength labels
|
|
|
|
Every claim carries one of three labels, used the same way `references/verification.md` uses them:
|
|
|
|
- **observed** — reproduced here, with the exact command and its output.
|
|
- **inferred** — follows from observed facts, but the step itself was not executed.
|
|
- **unverified** — assumed or reported by a tool and not independently confirmed.
|
|
|
|
## Index
|
|
|
|
| File | Covers |
|
|
|---|---|
|
|
| `TOOL-VERDICTS.md` | One verdict per tested script and external toolchain, with the independent cross-check behind it |
|
|
| `FINDINGS.md` | Findings about the skill itself: defects, contradictions, boundary evidence |
|
|
| `REPO-DECISIONS.md` | What changed in the repo as a result, and what deliberately did not |
|
|
|
|
## Adding a run
|
|
|
|
Record the tools, versions and exact commands, and label each claim. Keep target-specific facts out:
|
|
what belongs here is what a future reader can apply to a *different* APK — a defect, a measured
|
|
cost, a method that did or did not work, and the cross-check that settled it.
|