decompile.sh --engine fernflower fails on .aar files (dex2jar on a JAR)
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
Direzione di ricerca
Il bug si trova in run_fernflower() in scripts/decompile.sh, intorno alle righe 227-228, dove .aar viene instradato attraverso lo stesso percorso dex2jar di .apk. Inizia leggendo quel ramo e verifica che un AAR contenga classes.jar e non classes.dex. È completato quando un .aar estrae classes.jar e lo decompila come il percorso .jar, oppure quando lo script termina con un messaggio chiaro che indica che Fernflower non accetta direttamente .aar.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary: decompile.sh --engine fernflower fails on .aar files. The script sends .aar through dex2jar, but an AAR contains classes.jar, not classes.dex.
Repro: bash scripts/decompile.sh --engine fernflower test-lib.aar (jadx Apache-2.0 test fixture, one class) with FERNFLOWER_JAR_PATH set and dex2jar on PATH.
Actual: java.io.IOException: Can not find classes.dex in zip file then Error: dex2jar conversion failed with status 0, exit 1, no output. (The 'status 0' text is misleading; the failure is only caught because the output jar is missing.)
Expected: extract classes.jar and decompile it like the .jar path, or say plainly Fernflower does not support .aar directly. Root cause (code-read): run_fernflower() lines 227-228 treats .aar like .apk.
Workaround (verified): extract classes.jar from the AAR, run the script on the jar - exits 0.
Env: skill commit 0c7cf89, Ubuntu 24.04.5, Java 17.0.20.1, jadx 1.5.6, Vineflower 1.12.0, dex2jar 2.4.38. No commercial app used.
- Lingua principale
- Shell
- Stelle
- 8k
- Fork
- 902
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di SimoneAvogadro/android-reverse-engineering-skill
-
Fernflower decompiles Kotlin to .kt files, script reports 'no Java output' and exits 1Forse già presa @idealistichacker l’ha presa 3 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
decompile.sh rejects .apks / .apkm bundles that fingerprint.sh acceptsForse già presa @idealistichacker l’ha presa 2 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
SimoneAvogadro/android-reverse-engineering-skill#26 · 1 commento ·
-
BujjiAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
-
Consider using ASC for decompilationForse già presa @deswanth12 l’ha presa 20 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 22/100
Tutte le issue di SimoneAvogadro/android-reverse-engineering-skill
Issue simili
-
enhancement needs:sonnet ready-for-agent
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
package-update
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
oSoWoSo/oco#889 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
fish-shell/fish-shell#13084 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
good first issue priority:low type:bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
crazy-goat/fdb-php#182 ·
I maintainer di solito rispondono entro 1 giorno
-
[php-ext] test.sh slow/bytes/debug readiness loops fall through after 10s and mask the real failureApertaarea:php-extension good first issue priority:low type:tests
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
crazy-goat/go-mesi#616 ·
I maintainer di solito rispondono entro 1 giorno