2013年1月4日金曜日

odexファイルをアレコレするためのツール

以前、odexファイルをアレコレするバッチをメモとして置いておいてみたことがあるものの、ウチの環境に特化しすぎていたので、なかなか流用は難しいようでした。

そこで、冬休みの課題としてodexをアレコレするためのツールを C# で作成してみました。
smali.jarやbaksmali.jarのフロントエンドとして動作するだけですが…。

OdexTool Ver 0.0.1.0

【できること】
・ odexファイルをデコードして元のjarファイルやapkファイルに戻す
※複数のファイルを一気に処理することが可能

【動作環境】
以下のOSで動作確認済み
・ Windows 8 64bit
・ Windows 7 32bit

【動作に必要なもの】
・ .NET Framework 3.5以上 ※VC#2008で作成
・ Java Runtime Environment (JRE) 5.0以上
・ smali.jar
・ baksmali.jar
 入手先: http://code.google.com/p/smali/
・ 7zip
 入手先: http://sevenzip.sourceforge.jp/

【インストール】
zipファイルの中身を適当なフォルダに展開してください。


【アンストール】
zipファイルの中身を展開した先のフォルダを削除してください。
%USERPROFILE%\huhka.com\ (通常は C:\Users\ユーザー名\AppData\Local)配下に "OdexTool.exe"で始まる名前のフォルダを作るので、これも削除してください。


【使い方】
OdexTool.exeをダブルクリックするなりして起動します。
初回の起動時など、各種ファイルのパスが指定されていない場合は警告メッセージを表示します。


Settingタブでjava.exeなど動作に必要なファイルのパスを指定します。
※%USERPROFILE%\huhka.com\ 配下ファイルは、ココでの指定内容を覚えさせるためのものです


RePackタブに戻って以下のパスを指定します。
・ decodeしてapkやjarに戻すodexファイルがあるフォルダ
・ /system/frameworkの内容があるフォルダ
・ 出力先のフォルダ
・ API level ※OSと対応するAPI levelを指定しないとエラーになります


[参考] API level
OS API level
Android 4.2 - 4.2.1 17
Android 4.1 16
Android 4.0.3 - 4.0.4 15
Android 4.0 - 4.0.2 14
Android 3.2 13
Android 3.1 12
Android 3.0 11
Android 2.3.3 - 2.3.7 10
Android 2.3 - 2.3.2 9
Android 2.2 8
Android 2.1 7
Android 2.0.1 6
Android 2.0 5
Android 1.6 4
Android 1.5 3


全てのodexファイルを処理し終えると完了を知らせるダイアログが表示されます


各ファイルの処理結果はログ表示領域に表示されますのでエラーが無ければOK
※画像の例のように、frameworkフォルダのodexファイルを処理することも可能です


できあがり♪



今後はどんな機能を付けようかなぁ?

0 件のコメント:

コメントを投稿