2012/11/05

Android:apkファイルを逆コンパイルする

サンプルはこのコード。
このコードを元にapkファイルを作成して逆コンパイルしてみます。

まずは、apkファイルをzipにリネームして解凍します。
使うのはclasses.dexです。

次にdex→classへ変換します。次のサイトからdex2jalをダウンロードして適当なフォルダに解凍します。

コマンドラインからdex2jar.batを実行します。
c:>(dex2jar.batのパス)\dex2jar.bat (classes.dexのパス)\classes.dex

classes_dex2jar.jarが作成されます。(dex→classの変換が完了)

classes_dex2jar.jarファイルをzipにリネームして解凍します。

次に、class→javaへ変換します。次のサイトからJAD(Java Decompiler)をダウンロードして適当なフォルダに解凍します。


コマンドラインからjad.exeを実行します。
c:>(jad.exeのパス)\jad.exe -8 -d (出力パス) -s .java -r (.classのパス)\*.class

javaファイルができました。

MainActivity.javaの中身はこんな感じです。

2012/06/29

Android:Android4.1(Jelly Bean)エミュレータを起動してみた

SDKのDLが終わったのでエミュレータを起動。
前回のICSと比較してみましょう。

ログイン画面
Home画面
ランチャー
ウィジェット一覧
設定
ランチャー(日本語)
設定(日本語)
メニューの並びなども、ICSから微妙に変わってますね。

2012/06/28

Android:Android SDK r20

昨日深夜(というか本日早朝)Google I/O 2012のライブ配信を眠い目をこすって見てましたが、r20が出てました。
早速ですがDL。
API16 (Android4.1:Jelly Bean)が出てますねぇ~。

2012/05/29

Android:Monkeyrunner(Jython)でimportする

普通にimportしようとしてもパスが通ってないので怒られる。。。
そんな時には、.pyファイルの中でsys.pass.append()でパスを追加してあげればいい。
例:c:/hoge/hogehoge/testmod.pyをimportする場合
import sys
sys.path.append(c:/hoge/hogehoge)
import testmod
Monkeyrunner起動用のバッチファイルの中のSET文でSCRIPT_PATHとしてtestmod.pyの保存されているパスを指定してあげるとこうなる。
バッチファイルの例
SET SDK_PATH=C:\Android\android-sdk-windows\tools\
SET SCRIPT_PATH=C:\Android\Test\MonkeyRunner\
SET SCRIPT_FILE=test.py

call %SDK_PATH%monkeyrunner.bat %SCRIPT_PATH%%SCRIPT_FILE%
import os
import sys
sys.path.append(os.environ.get("SCRIPT_PATH"))
import testmod

2012/01/30

Ubuntu:RealVNCから使う設定(リモート接続の許可)

1.「システム」「設定」「リモート・デスクトップ」を起動。
2.あとは適当に必要事項をチェックすればOK

Ubuntu:OpenSSH-Serverを設定する

久しぶりに更新。

1.「システム」→「システム 管理」→「Synapticパッケージマネージャ」を起動。
2.OpenSSH-Serverを検索して「インストール指定」→「適用」でOK。