誤ってプロジェクトをEclipseから削除しました。残したのは、携帯電話に転送したAPKファイルだけです。アプリケーションを.apkファイルにエクスポートするプロセスを逆にして、プロジェクトを元に戻す方法はありますか?
誤ってプロジェクトをEclipseから削除しました。残したのは、携帯電話に転送したAPKファイルだけです。アプリケーションを.apkファイルにエクスポートするプロセスを逆にして、プロジェクトを元に戻す方法はありますか?
回答:
不明なAPKファイルからJavaコードを生成する便利なツールが2つあります(ラフですが十分です)。
ツールを使用してAPKファイルをJARに変換します。
$ d2j-dex2jar.bat demo.apk
dex2jar demo.apk -> ./demo-dex2jar.jar
JARファイルが生成されたら、JD-GUIを使用してJARファイルを開きます。Javaファイルが表示されます。
出力は次のようになります。
d2j-dex2jar
。代わりに使用してください(v0.0.9.15)。
res
フォルダーにリソースファイルが作成されます
res
、読み取り不可能なxmlファイルを含むフォルダーがあります
Mac
:あなたはdex2jarを使用できない場合はpermission denied
、この操作を行う $sudo chmod +x d2j-dex2jar.sh
まず第一に私はthis
ビデオをお勧めしますこれはあなたのすべての疑問をクリアします
そうでない場合はそれを通過してください
Procedure for decoding .apk files, step-by-step method:
Step 1:
新しいフォルダを作成し、そこに.apkファイルを置きます(デコードしたいファイル)。次に、この.apk
ファイルの拡張子の名前を変更して.zip
(例:filename.apkからfilename.zipに名前を変更)、保存します。
.zipへの変換に問題がある場合は、 link
.zipを取得すると、classes.dexファイルなどが取得されます。この段階では、ドローアブルは表示されますが、xmlおよびjavaファイルは表示されません。続行してください。拡張機能が表示されない場合は、設定を確認してください
Step 2:
このzip apkファイルを同じフォルダに抽出します。これからdex2jarをダウンロードしますlink
同じフォルダに解凍します。コマンドプロンプトを開き、ディレクトリをそのフォルダーに変更します。
次にdex2jar classes.dex
、Enter キーを押して入力します。これclasses.dex.dex2jar
で、同じフォルダーにファイルが作成されます。
次に、java逆コンパイラをダウンロードします。
そして、jd-guiをダブルクリックして、開いているファイルをクリックします。次にclasses.dex.dex2jar
、そのフォルダーからファイルを開きます。これで、クラスファイルを取得し、src名でこれらすべてのクラスファイルを保存します(ファイルをクリックし、jd-guiで[すべてのソースを保存]をクリックします)。そのzipファイル(classes_dex2jar.src.zip)
を抽出すると、アプリケーションのすべてのJavaファイルが取得されます。
この段階ではJavaソースを取得しますが、xmlファイルはまだ読み取れません。続行してください。
Step 3:
別の新しいフォルダを開いて、これらのファイルを配置します
デコードしたい.apkファイルを置く
windows v1.x
AndのApktoolをダウンロードApktool
グーグルを使用してウィンドウをインストールし、同じフォルダに入れます
グーグルを使用してframework-res.apkファイルをダウンロードし、同じフォルダーに入れます(すべてのapkファイルがframework-res.apkファイルを必要とするわけではありません)
コマンドウィンドウを開く
APKtoolのルートディレクトリに移動し、次のコマンドを入力します。
apktool if framework-res.apk.
上記のコマンドの結果はになりFramework installed ...
ます。
Step 4:
最後にres/
、開始時のターゲットであるプロジェクトのJavaコードを取得しました。
P.S.
上記の手順でresフォルダーを取得できない場合は、新しくインストールしてくださいapktool
- Java 1.7はインストールされていますか? Apktool 2.xをインストールする
- Java 1.6以降がインストールされていますか? Apktool 1.xをインストールする
Enjoy and happy coding
apktool.jar
は同じパッケージにありません、私は以前のパッケージからそれを手に入れ、それを同じディレクトリに貼り付けましたapktool
。
ソフトウェアは不要で、手順も多すぎません。
APKをアップロードして、このサイトからすべてのリソースを取得してください。
https://www.apkdecompilers.com/
このWebサイトは、APKファイルに埋め込まれたコードを逆コンパイルし、ファイル内の他のすべてのアセットを抽出します。
注:私はAPKファイルを逆コンパイルして、このWebサイトから1分以内にコードを取得します
アップデート1:
別のオンライン逆コンパイラサイトを見つけました、
http://www.javadecompilers.com/apk/-ポップアップブロックを要求し続けない
アップデート2:
Playストアでapkデコンパイラーアプリを見つけました。
https://play.google.com/store/apps/details?id=com.njlabs.showjava
Androidフォンでapkファイルを逆コンパイルできます。また、このアプリケーションでjavaおよびxmlファイルを表示できます
更新3:
Android Studio 2.2バージョンのAPK機能の分析という別のオプションを使用できます
ビルド-> APKの分析-> APKを選択->結果を表示
これを行う新しい方法があります。
Android Studio 2.2にはAPKアナライザーがあり、apkに関する多くの情報を提供します。ここでチェックアウトしてください:-http: //android-developers.blogspot.in/2016/05/android-studio-22-preview-new-ui.html
はい、プロジェクトを取り戻すことができます。yourproject.apk
ファイルの名前をに変更するだけで、yourproject.zip
そのZIPファイル内のすべてのファイルを取得できます。ファイル拡張子を.apkから.zipに変更します。そのZIPファイルからファイルを抽出し、classes.dex
次の方法で逆コンパイルします。
まず、DEXのすべての(コンパイルされた)クラスをJARに抽出するツールが必要です。中国の学生が作ったdex2jarと呼ばれるものがあります。
次に、JD-GUIを使用して、JAR内のクラスをソースコードに逆コンパイルできます。dex2jarはいくつかの最適化を適用するため、結果のソースコードは非常に読みやすいはずです。
Androidプラットフォームの場合、ShowJavaを試すことができます、Playストアで入手できる。
生成されたコードはアプリのインターフェースから参照でき、生成されたJavaファイルとフォルダー構造は、結果のShowJava
フォルダー/sdcard
とともにのフォルダーに保存されます。.jar
、変換のファイル。
アプリは無料で、メインビューの下部に広告バナーが表示されますが、アプリ内購入オプション(3,99 $)で削除できます。アプリ内購入では、広告バナーの削除以外の機能は追加されません。
開示:私はアプリの開発者ではありませんし、彼とは何の関係もありません。
以下の手順に従ってこれを行うか、単にこのプロセスにapkToJava gemを使用してください。動作させるために必要なツールのインストールも行います。
あなたがプロの代替品を探しているなら、JEB Decompilerを見てください、PNFソフトウェアの。
ほとんどのコードを逆コンパイルできるデモ版があります。
以下は、APKファイルからソースコードへのリバースエンジニアリングを実行するために使用できるツールの一部です。
このツールを試してください:https : //decompile.io、iPhone / iPad / Macで動作し ます