Fernflower decompiles Kotlin to .kt files, script reports 'no Java output' and exits 1
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 62/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Ambito
- reverse-engineering
Direzione di ricerca
Il controllo si trova in run_fernflower() in scripts/decompile.sh, che conta solo *.java intorno alle righe 294, 302 e 310. Leggi quella funzione, poi riproduci con un JAR Kotlin (o con qualsiasi JAR le cui classi Vineflower scrive come .kt) usando --engine fernflower. Il lavoro è completato quando un output .kt viene raccolto come successo o segnalato come sorgenti Kotlin, e sources/ non viene più lasciata vuota con exit 1.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary: Vineflower 1.12.0 decompiles Kotlin classes to .kt files, not .java. decompile.sh only counts *.java, so it reports failure even though decompilation succeeded.
Repro: own Kotlin sample (4 classes, kotlinc 2.4.21), obfuscated with ProGuard 7.10.0 (classes a/b/c). bash scripts/decompile.sh --engine fernflower shop-kotlin-obf.jar with FERNFLOWER_JAR_PATH set.
Actual: Vineflower writes a.kt, b.kt, c.kt, ShopKt.kt at the output root; script prints Error: Fernflower/Vineflower produced no Java output, exit 1, sources/ empty. Jadx on the same jar works and restores names from @Metadata.
Expected: recognise .kt output as success (count/collect .kt like .java), or report plainly that Fernflower produced Kotlin sources. Root cause (code-read): run_fernflower() counts only *.java (lines 294, 302, 310). Only --engine fernflower live-tested; --engine both likely affected too (same code, not live-tested).
Workaround: use --engine jadx for Kotlin inputs.
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. All code written by the tester; no third-party app.
- 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
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/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 15 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
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
paperclipai/paperclip#18671 ·
I maintainer di solito rispondono entro 1 giorno
-
area:core
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
julian-hemmer/ypass#4 ·
-
needs-triage
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 62/100
manaflow-ai/cmux#32519 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
mukkund1996/serenity#88 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
openwrt/packages#31124 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno