他山の石、以って玉を攻むべし | モンスター・ラボTech/Designブログ

モンスター・ラボTech/Designブログ

株式会社モンスター・ラボのテクノロジスト、デザイナーによる持ち回りブログです。

謝です。

久しぶり二回目のブログを書きます。

中国語は『他山之石,可以攻玉』ということわざがあります。
日本語だと『他山の石、以って玉(たま)を攻(おさ)むべし。』です。

僕は前Androidの開発を担当していました。
勉強するために、ほかの方々のやり方を勉強しようと思っていて、
APKファイルを逆コンパイルして、
ソースを覗いたりどかしてました。

そもそも作者の著作権を無視して、
逆コンパイルするのはあまりよくないと思います。
勉強以外の目的では使わないでくださいね。

これから簡単に説明したいと思います。

まずAPKファイルを入手します。
様々な方法がありますが、
ここでは説明しません。
自分で調べといてください。

これから、apktoolを下記サイトからゲットします。
https://code.google.com/p/android-apktool/

apktool.jarを「C:\Windows」にコピーします。

apktoolのインストール先に下記コマンドを実行します。
  apktool d XXX.apk 出力先Path

上記手順を実行すればXMLファイルを見ることができます。

これからJAVAファイルを見る手順を紹介します。

1、下記URLで「jd-gui.zip、dex2jar-0.0.7.3-SNAPSHOT.zip」を入手します。
  ・http://java.decompiler.free.fr/?q=jdgui
  ・http://code.google.com/p/dex2jar/
2、APKファイルの拡張子をZIPに変更します
3、ファイル解凍し、DEXファイルを取得します。
4、下記コマンドでDEX→JARに変換
  dex2jar.bat class.dex
5、jd-guiでjarファイルを開く

それでJAVAファイルが表示することができます。
ProGuardを使われたら大変見づらいと思いますが、
読んでみればちょっとでも勉強になると思います。

いかがでしょうか。
繰り返しになりますが、勉強以外の目的で使わないでくださいね。