#3
by Dixq (管理人) » 7年前
Androidを専門にアプリ開発をしている者です。
> テスト用にドンキホーテタブレット何台かあるのですが
> そのうちの1台からプログラムを取り出して変更など出来ますか?
可能か不可能かで言えば可能です。
ホームアプリがインストールされているはずですので、
インストールパッケージ一覧から対象のホームアプリのパッケージをExtractしてきます。
apkの形にExractしたら、zipに変更して解凍します。
dex2jarというソフトでdexをjarに変換します。
jarをunzipしてclassを取り出します。
Java Decompilerを使ってclassをjavaファイルに変換します。
こうすることで、インストール済みのアプリからソースコードに戻してしまうことができます。
機械語にコンパイルするC/C++と違ってJAVAは元に戻せてしまいます。
しかし、これでは技術が漏洩してしいますし、秘匿したい情報が守れません。
そこで各企業は難読化といって戻ったソースコードの意味が分からないソースコードになるように
色々な工夫をしています。
私たちでも難読化されたコードを理解するのはとても難しいですが、
根気良く読めば部分的に理解できないでもないです。
なので、「不可能ではない」です。
しかし、このようなリバースエンジニアリング自体を禁止していることが多いですし
再パックしたapkは一人でprivateで楽しむ範囲を超えて利用することができません。
もちろん配布等はできません。
それに、最初から自分でホームアプリを作った方が早いです。
みけCAT君の示しているリンク先のように
Googleで「ホーム アプリ (作成 OR 開発)」この辺でぐぐったら参考になる情報が出てくると思います。
Androidを専門にアプリ開発をしている者です。
> テスト用にドンキホーテタブレット何台かあるのですが
> そのうちの1台からプログラムを取り出して変更など出来ますか?
可能か不可能かで言えば可能です。
ホームアプリがインストールされているはずですので、
インストールパッケージ一覧から対象のホームアプリのパッケージをExtractしてきます。
apkの形にExractしたら、zipに変更して解凍します。
dex2jarというソフトでdexをjarに変換します。
jarをunzipしてclassを取り出します。
Java Decompilerを使ってclassをjavaファイルに変換します。
こうすることで、インストール済みのアプリからソースコードに戻してしまうことができます。
機械語にコンパイルするC/C++と違ってJAVAは元に戻せてしまいます。
しかし、これでは技術が漏洩してしいますし、秘匿したい情報が守れません。
そこで各企業は難読化といって戻ったソースコードの意味が分からないソースコードになるように
色々な工夫をしています。
私たちでも難読化されたコードを理解するのはとても難しいですが、
根気良く読めば部分的に理解できないでもないです。
なので、「不可能ではない」です。
しかし、このようなリバースエンジニアリング自体を禁止していることが多いですし
再パックしたapkは一人でprivateで楽しむ範囲を超えて利用することができません。
もちろん配布等はできません。
それに、最初から自分でホームアプリを作った方が早いです。
みけCAT君の示しているリンク先のように
Googleで「ホーム アプリ (作成 OR 開発)」この辺でぐぐったら参考になる情報が出てくると思います。