1

昨年作成したすべてのアプリからコードを失いました(ハードディスクに対して雷が鳴り、どのアプリのバックアップもありません)。それらはかなり単純なアプリだったので、私はそれらをリバースエンジニアリングプロセスにかけました。私はこれを過去数十回行ってきましたが、毎回まったく問題はありませんでした(すべてのファイルを1つのプロジェクトにまとめるための作業時間を数えない場合)。ハードディスクのバーンアウト中に失った3つのアプリをすでに終了しました。それらはほぼ完璧に反転しましたが、私はこれで立ち往生しました。

詳細を見てみましょう。リバースエンジニアリングプロセスはうまくいきました。APKから取得したコード化されたXMLファイルからXMLコードを取得できました。また、からJavaコードを逆コンパイルすることもできましたclasses.dex。すべてのファイルを読み取り可能にし、テキストエディタで開いたり表示したりできます。

しかし、私は奇妙に見えるファイル構造奇妙なファイル名を手に入れました。プロジェクトファイルは通常のパス内にありましたsrc/com/mycompanyname/appname。RIプロセスの後、一部R.javaのファイル( 、サードパーティの広告ファイルおよびその他のいくつかのファイル)はメインパスに残りましたが、他のすべてのファイルは次のようなファイル構造に再調整されました。

a.java
b.java
c.java
...
z.java

私が書いたすべてのファイルの名前が変更され、これらの奇妙な名前が付けられましたが、サードパーティのファイルはすべてそのまま残りました。

Q:誰かがこれの理由を教えてもらえますか?

Q: Eclipseは、APKにコンパイルする前に、どういうわけかコードを難読化しましたか?これは、IRプロセスを経た後の難読化されたAPKのように見えますか?

私はまだ10以上の他のアプリを再構築する必要があるので、誰かが私を助けてくれることを本当に望んでいます。それ

4

2 に答える 2

7

Android SDKには、コードを難読化するためのProguardが含まれています。ADTを使用してEclipseでAndroidプロジェクトを作成すると、Proguardはデフォルトで有効になります。ただし、オフにすることはできます。これについて詳しくは、http://developer.android.com/guide/developing/tools/proguard.htmlをご覧ください

それで...

Q:誰かがこれの理由を教えてもらえますか?

それはその仕事をしているプロガードです。

Q:Eclipseは、APKにコンパイルする前に、どういうわけかコードを難読化しましたか?これは、IRプロセスを経た後の難読化されたAPKのように見えますか?

それ自体はEclipseではなく、構築プロセスで呼び出されるのはProguardです。そして、はい、それはそれがどのように見えるかです。

于 2011-10-22T16:43:27.463 に答える
-3

JADを使用するだけです。正しく逆コンパイルします。

于 2011-10-22T16:31:46.913 に答える