apptoolを使って逆コンパイルに失敗した解決バージョン
FROM:http://blog.csdn.net/whorus1/article/details/50427533
apptoolを使ってappkを逆コンパイルしてみましたが、次のような問題がありました。
[html view plin
copy
I: Baksmall… I: Loading resource テーブル… Exception in thread メーン brut.androlib.Androlib Exception: Could not decode arsc file at。 brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:56) at。 brut.androlib.res.AndrolibResource.gets ResPackages Froomak(AndrolibResource.java:491) at。 brut.androlib.res.AndrolibResource.loadMainPkg(AndrolibResource.java:74) at。 brut.androlib.res.AndrolibResource.gets Resoble(AndrolibResource.java:66) at。 brut.androlib.Androlib.getResTable(Androlib.java:50) at。 brut.androlib.App Decoder.getRestTable(AppDecoder.java:189) at。 brut.androlib.App Decoder.decode(App Decoder.java:114) at。 brut.apptool.Main.cmdDecode(Main.java:146) at。 brut.apptool.Main.main(Main.java:77) Caused by: java.io.IOException: Expected: 0 x 001 c 0001, got: 0 x 0000 at。 brut.util.Ext Data Input.skyip CheckInt(ExtData Input.java:48) at。 brut.androlib.res.decoder.StringBlock.read(String Block.java:44) at。 brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:102) at。 brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:83) at。 brolib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:49) ... 8 メモリ 確認したところ、appktoolのバージョンが古いため、jdk 1.7以降は1.5.2以上のバージョンを使う必要があります。 Apptool 2.x(Versions after Is Java 1.7 installed? Does executing java-version on commandライン/command prompt return 1.7? If not,please install Java 7 and make it the default. だから、最新のアプリをダウンロードすればいいです。
ダウンロード先:http://ibotpeaches.github.io/Apktool/
(このサイトには最新のapptoolのダウンロードリンクがあります。
appk tool v 2.2.2のダウンロードアドレス:https://connortumbleson.com/2017/01/23/apktool-v2-2-2-released/
)
更新後に逆コンパイルに成功しました。
使用方法:
apptoolを使ってappkを逆コンパイルしてみましたが、次のような問題がありました。
[html view plin
copy
I: Baksmall… I: Loading resource テーブル… Exception in thread メーン brut.androlib.Androlib Exception: Could not decode arsc file at。 brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:56) at。 brut.androlib.res.AndrolibResource.gets ResPackages Froomak(AndrolibResource.java:491) at。 brut.androlib.res.AndrolibResource.loadMainPkg(AndrolibResource.java:74) at。 brut.androlib.res.AndrolibResource.gets Resoble(AndrolibResource.java:66) at。 brut.androlib.Androlib.getResTable(Androlib.java:50) at。 brut.androlib.App Decoder.getRestTable(AppDecoder.java:189) at。 brut.androlib.App Decoder.decode(App Decoder.java:114) at。 brut.apptool.Main.cmdDecode(Main.java:146) at。 brut.apptool.Main.main(Main.java:77) Caused by: java.io.IOException: Expected: 0 x 001 c 0001, got: 0 x 0000 at。 brut.util.Ext Data Input.skyip CheckInt(ExtData Input.java:48) at。 brut.androlib.res.decoder.StringBlock.read(String Block.java:44) at。 brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:102) at。 brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:83) at。 brolib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:49) ... 8 メモリ 確認したところ、appktoolのバージョンが古いため、jdk 1.7以降は1.5.2以上のバージョンを使う必要があります。
1.5.2
)ダウンロード先:http://ibotpeaches.github.io/Apktool/
(このサイトには最新のapptoolのダウンロードリンクがあります。
appk tool v 2.2.2のダウンロードアドレス:https://connortumbleson.com/2017/01/23/apktool-v2-2-2-released/
)
更新後に逆コンパイルに成功しました。
使用方法:
$ apktool d test.apk
I: Using Apktool 2.0.2 on test.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: 1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
$ apktool b test
I: Using Apktool 2.0.2 on test
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...
I: Copying unknown files/dir...
$