必要なもの
JDK 7か8か
adb
7z
oat2dex.jar
64bitか32bitか調べる。
$ adb shell getprop ro.product.cpu.abi
違ったら32bit?
boot.oatなるものを引っこ抜く。
# 64bit
$ adb pull /system/framework/arm64/boot.oat
# 32bit
$ adb pull /system/framework/arm/boot.oat
raw dexなるものを展開する。
$ oat2dex boot boot.oat
でおでおしたいものを引っこ抜く。
$ adb pull /system/app/hoge
hoge.apkが現れる。
arm64/hoge.odexかarm/hoge.odexになにやら施す。
# 64bit
$ mv arm64/hoge.odex hoge.odex
$ oat2dex hoge.odex dex
($ java -jar oat2dex.jar hoge.odex dex)
# 32bit
$ mv arm/hoge.odex hoge.odex
$ oat2dex hoge.odex dex
($ java -jar oat2dex.jar hoge.odex dex)
hoge.dexをclesses.dexに変えちゃう。
$ mv hoge.dex classes.dex
hoge.apkに突っ込む。
$ 7z a -tzip hoge.apk classes.dex
これでいいらしい。
デコンパイルとコンパイル
# Decompile
$ baksmali -x hoge.apk -o test
# Compile
$ smali test -o classes.dex
0 件のコメント:
コメントを投稿