昨年作成したすべてのアプリからコードを失いました(ハードディスクに対して雷が鳴り、どのアプリのバックアップもありません)。それらはかなり単純なアプリだったので、私はそれらをリバースエンジニアリングプロセスにかけました。私はこれを過去数十回行ってきましたが、毎回まったく問題はありませんでした(すべてのファイルを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以上の他のアプリを再構築する必要があるので、誰かが私を助けてくれることを本当に望んでいます。それ