decompile.sh --engine fernflower fails on .aar files (dex2jar on a JAR)
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 72/100
調査の方向性
バグは scripts/decompile.sh の run_fernflower() にあり、227〜228行目付近で .aar が .apk と同じ dex2jar の経路に流されています。まずその分岐を読み、AAR が classes.dex ではなく classes.jar を含むことを確認してください。完了条件は、.aar から classes.jar を展開して .jar の経路と同じように逆コンパイルするか、Fernflower は .aar を直接受け付けないという明確なメッセージを出してスクリプトが終了することです。
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- Shell
- スター
- 8k
- フォーク
- 902
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
SimoneAvogadro/android-reverse-engineering-skill のほかの issue
-
Fernflower decompiles Kotlin to .kt files, script reports 'no Java output' and exits 1対応中かも @idealistichacker が 1 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
-
decompile.sh rejects .apks / .apkm bundles that fingerprint.sh accepts対応中かも @idealistichacker が 1 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
SimoneAvogadro/android-reverse-engineering-skill#26 · コメント 1 件 ·
-
Bujjiオープン
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
-
Consider using ASC for decompilation対応中かも @deswanth12 が 18 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 22/100
SimoneAvogadro/android-reverse-engineering-skill の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
-
area:docs phase:release priority:p0 type:test
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
-
premises-missing
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
WingedGuardian/GENesis-AGI#3917 ·
メンテナーはふだん 1 日以内に返信
-
Non-root first start logs "Base venv updated (stamp mismatch)" instead of the first-run messageオープンarea: infrastructure bug priority: low
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
snapotter-hq/SnapOtter#4573 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100