質問

ユーザーは、アプリケーションのAPKファイルを実際のコードに戻すことができますか?もしそうなら - これを防ぐ方法はありますか?

役に立ちましたか?

解決

まず、an APKファイル 単なる変更されたJARファイルです。したがって、本当の問題は、内部のDexファイルを逆コンパイルできることです。答えは一種です。などの分解者がすでにあります Dedexerスマリ. 。これらはより良くなることを期待でき、理論的には実際のJavaソースに逆コンパイルすることができるはずです(少なくとも時々)。前の質問を参照してください DexをJava sourcecodeに逆コンパイルします.

覚えておくべきことは、難読化が機能しないことです。適切なライセンスを選択し、法律を通じてそれを実施するために最善を尽くします。信頼できない技術的手段で時間を無駄にしないでください。

他のヒント

APKファイルの逆コンパイルが可能です。しかし、それが難読化されている場合、コードを理解することは難しいかもしれません。

apktool apkファイル内のリソースを表示します

  • AndroidManifest.xmlとRESフォルダーのすべてを抽出します(WebViewなどで使用されるレイアウトXMLファイル、画像、HTMLなど)
  • 指図 : apktool.bat d sampleApp.apk
  • ノート: これは、7-zipなどのzipユーティリティを使用して達成できます。ただし、すべての.classファイルの.smaliファイルも抽出します。

dex2jarを使用します

  • .apkファイルから.jarファイルを生成すると、この.jarからソースコードを表示するにはjd-guiが必要です。
  • 指図 : dex2jar sampleApp.apk

jd-guiを使用してjarを処方します

  • .classファイルを逆コンパイルします(Androidアプリの場合は、dofuscated-ですが、他の.jarファイルの場合に読み取り可能な元のコードが取得されます)。つまり、アプリケーションから.javaを取り戻します。

また、最近ではAndroidアプリケーションをオンラインで逆コンパイルすることが可能であり、ソフトウェアは必要ありません。

ここにあなたのための2つのオプションがあります:

このJADXツールをダウンロードしてください https://sourceforge.net/projects/jadx/files/

それを解凍し、libフォルダーよりもJadx-gui-0.6.1.jarファイルを実行して、APKファイルを閲覧するようになりました。終わった。自動的にAPKは、保存ボタンを押して逆コンパイルして保存します。それがあなたのために働くことを願っています。ありがとう

使用するときに、壊れたコードを取得する場合があります dex2jar/apktool, 、最も顕著なのはループです。これを避けるために、使用してください JADX, 、dalvik bytecodeをJavaソースコードに分解し、 .jar/.class 最初にasをファイルします dex2jar dos(apktoolはdex2jarを使用します)。また、オープンソースであり、積極的な開発です。 GUIファナティクスのためのGUIさえあります。それを試してみてください!

ユーザーは、アプリケーションのAPKファイルを実際のコードに戻すことができますか?

はい。

人々はさまざまなツールを使用できます。

  • 分析:あなたのAPK
  • APKをデコード/ハッキングします
    • 使用 FDex2 捨てる dex ファイル
      • その後、使用します dex2jar に変換する jar
        • その後、使用します jadx にコンバージングします java ソースコード

もしそうなら - これを防ぐ方法はありますか?

はい。これを防ぐ(ある程度)いくつかの(組み合わせることができる)これ:

  • 低レベル:コード難読化
    • Androidを使用します ProGuard
  • 高レベル:Android Hardenシナリオを使用します

詳細は私を参照できます 中国語 チュートリアル: 安卓应用的安全破解

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top