130

APK ファイルを解凍できるAPK Managerをダウンロードしました。

ただし、それを解凍するだけで、.smali ファイルを .java に逆コンパイルしません。

.smali を .java に逆コンパイルすることは可能ですか?

4

6 に答える 6

113

いいえ、APK Managerは、.dexファイルを人間が読める形式のxmlに逆コンパイルします。.smali.xml

シーケンス(APK Manager 4.9に基づく)は22でパッケージを選択し、次に9で逆コンパイルします。9ではなく1を押すと、解凍するだけです(.png画像を交換する場合にのみ役立ちます)。

ファイルに逆コンパイルするために利用できるツールはなく.java、おそらくそれはありません。別の方法として、dex2jarを使用してdexファイルをファイルに変換してから.class、jarデコンパイラー(無料のjd-guiなど)をプレーンテキストのjavaに使用する方法があります。このプロセスは最適とはほど遠いものであり、機能するコードは生成されませんが、それを読み取るには十分です。

dex2jar:https ://github.com/pxb1988/dex2jar

jd-gui: http: //jd.benow.ca/

編集:私はここのどこかに非常によく似た答えの質問があることを知っていました... DEXをJavaソースコードに逆コンパイルします

于 2011-04-14T01:08:00.903 に答える
35

それを可能にする新しいクロス プラットフォーム (Java) とオープン ソース ツールがあります。

ここに画像の説明を入力

=========

編集: 2017 年 4 月の時点で、Google によって開発された新しいオープン ソース ツールがあります。

于 2016-04-11T19:46:20.150 に答える
29

dex2jar は apk の逆コンパイルに役立ちますが、100% ではありません。.smali ファイルにはいくつかの問題があります。Dex2jar はそれを Java に変換できません。apk ソース ファイルを逆コンパイルでき、.smali ファイルに問題がないアプリケーションを 1 つ知っています。ここにリンクがあります http://www.hensence.com/en/smali2java/

于 2014-01-29T10:14:14.637 に答える
3

私のおすすめはVirtuous Ten Studioです。このツールは無料ですが、寄付を提案しています。必要なすべての手順 (APK のアンパック、baksmaliing、逆コンパイルなど) を 1 つの使いやすい UI ベースのインポート プロセスにまとめます。上記のツールの 1 つのコマンド ライン オプションを理解するよりも、5 分以内に Java ソース コードを入手できます。

smali から Java への逆コンパイルは、特に smali アーティファクトが難読化ツールを通過した場合、不正確なプロセスです。ウェブ上でいくつかの逆コンパイラを見つけることができますが、まだ維持されているのはそのうちのいくつかだけです。他のものよりも優れた逆コンパイルされたコードを提供するものもあります。他のものよりも「より理解しやすい」のように「より良い」を読んでください。リバース エンジニアリングされた Java コードがすぐにコンパイルできるとは思わないでください。Virtuous Ten Studio には複数の無料の Java デコンパイラが組み込まれているため、さまざまなデコンパイラ (「Java ソースの生成」ステップ) を簡単に試して、どれが最良の結果をもたらすかを確認できます。これらのデコンパイラを自分で見つけて計算する時間を節約できます。それらを使用する方法。その中には、CFR があります。これは、数少ない無料で現在も維持されている逆コンパイラの 1 つです。

出力として、とりわけ、すべての逆コンパイルされた Java ソース コードを含むフォルダー構造を受け取ります。その後、これを IntelliJ IDEA または Eclipse にインポートして、さらに編集、分析 (例: 定義に移動、使用箇所を検索) などを行うことができます。

于 2014-08-25T13:01:29.397 に答える
1

同感です。

Dex2jar は、apktool から取得した xml を使用して、プロジェクト ソースとして追加できる WORKING jar を生成します。

ただし、JDGUI は、多くの場合、エラーを含む .java ファイルを生成します。

コードの難読化と関係があると思います。

于 2013-04-02T10:17:16.033 に答える
-1

.apk ファイルを .java ファイルに変換する実際の方法については、https://www.youtube.com/watch?v= -AX4NYE-9V8ビデオ をご覧ください。あなたはより恩恵を受け、明確に理解するでしょう。を使用している場合に必要な手順を明確に示していますmac OS

これを行うための基本的な要件。1. http://code.google.com/p/dex2jar/
2. http://jd.benow.ca/

于 2015-02-02T07:41:38.720 に答える