0

残念ながら、コンピューターが盗まれ、クラウドサービスの自動バックアップが自動で表示されたように見えましたが、数か月前に停止していました。そのため、AndroidアプリのすべてのEclipseソースファイルを失いました。

私はこれらすべてのファイルを回復しようとしています、そしてあなたが最後のステップで私を助けることができることを望んでいました。

だから、私がしたこと:

  1. PlayストアからダウンロードしたAstroファイルマネージャー:https ://play.google.com/store/apps/details?id = com.metago.astro&hl = en

  2. Astro File Managerを使用してアプリをバックアップし、SDカードからコンピューターにコピーしました。

  3. APK-toolをダウンロードしました:http ://code.google.com/p/android-apktool/ (apktool-install-windows-r04-brut1.tar.bz2および)そしてそれらをフォルダーapktool1.4.3.tar.bz2に抽出しました。c:\windows

  4. apkをデコードしました:apktool d name.apk

これまでのところ良いですが、ここで私は立ち往生しています。私はAndroidプログラミングにまったく慣れていないので、次のようにします。

私は次のフォルダを取得します:resそしてsmali

resフォルダにはすべてのリソースが含まれていますが...

src以前はフォルダー内のEclipseにあったすべてのファイルがsmaliフォルダー内にあり、.smali拡張子が付いていることがわかりますが、外観はまったく異なります。

それらを「通常」(Javaコード)に戻す方法はありますか?ある種のツール/トリックを段階的に?

ありがとう!

私はこのブログに参加しました:http://jack-mannino.blogspot.com.es/2010/09/reversing-android-apps-101.html

しかし、dex2jarファイルを抽出した後、Eclipseは.classファイルを開くことができません。助けてくれる人はいますか?また、ファイル名の背後にある$ 1、$ 2などはどういう意味ですか?


OK、基本的に、私がしたことですが、最後のステップがありません(推測しています):

  • インストールされたAstroファイルマネージャー
  • アプリをバックアップしました
  • APKをコピーし、dex2jar:'d2j-dex2jar c:\ apk\myappname.apk'を使用してjarファイルを作成しました
  • JD(http://java.decompiler.free.fr/?q=jdgui)を使用してzipファイルを作成しました
  • zipファイルを抽出しました

したがって、すべてのソースコードを見ることができますが、マニフェストが欠落しているように見えるため、Eclipseはそれをプロジェクトとして開きません。

誰かが私に最後のヒントを与えることができますか?どうもありがとう!

4

2 に答える 2

1

この種の状況では、dex2jarツールを使用してapk(実際にはdex)をjarファイルに変換し、jdなどのJavaデコンパイラーで検査するのが最善の方法です。

ただし、JDは誤ったJavaソースを生成することがあるため、 apktoolで取得できるクラスのsmaliコードを参照する必要がある場合があります。

これがdalvikオペコードです:http ://s.android.com/tech/dalvik/dalvik-bytecode.html

最後に、クラス名の後の$ 1、$ 2は、そのクラスで使用される内部クラスを意味します。

于 2012-11-08T22:30:12.783 に答える
0

axmlprinter 2を使用してマニフェストをデコードします(ほとんどの場合apktoolは機能しません)ので、dex 2 jarを使用し、AXMLprinter2を使用するにはファイルを解凍する必要があります

于 2012-12-28T13:37:45.220 に答える