ubuntu下apk的反编译

来源:互联网 发布:ib网络 编辑:程序博客网 时间:2024/04/27 15:07
ubuntu系统下反编译apk

1. 下载dex2jar 并将其解压。如 :解压目录为:dex2jar-0.0.7-SNAPSHOT

下载地址 http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip

2. 打开要反编译的apk将其中的classes.dex 文件copy到dex2jar-0.0.7-SNAPSHOT目录。

3. 在命令行中执行以下命令(首先要定位到dex2jar-0.0.7-SNAPSHOT目录),此命令成功执行后将会生成相应的***.jar包。

     sh dex2jar.sh classes.dex

4. 下载linux系统的JD-GUI工具。解压后直接运行jd-gui。然后打开反编译出来的***.jar包。


我遇到这样的问题

 ERROR com.googlecode.dex2jar.reader.DexFileReader - .... ROOT cause:
java.lang.NullPointerException
    at com.googlecode.dex2jar.optimize.TypeDetectTransformer.req(TypeDetectTransformer.java:355)
    at com.googlecode.dex2jar.optimize.TypeDetectTransformer.exec(TypeDetectTransformer.java:431)
    at com.googlecode.dex2jar.optimize.TypeDetectTransformer.transform(TypeDetectTransformer.java:191)
    at com.googlecode.dex2jar.v3.V3MethodAdapter.visitEnd(V3MethodAdapter.java:168)
    at com.googlecode.dex2jar.reader.DexFileReader.acceptMethod(DexFileReader.java:547)
    at com.googlecode.dex2jar.reader.DexFileReader.acceptClass(DexFileReader.java:323)
    at com.googlecode.dex2jar.reader.DexFileReader.accept(DexFileReader.java:205)
    at com.googlecode.dex2jar.v3.Main.doData(Main.java:52)
    at com.googlecode.dex2jar.v3.Main.doFile(Main.java:85)
    at com.googlecode.dex2jar.v3.Main.main(Main.java:113)

解决办法是,不要将apk文件改成zip格式的,直接进行解压缩classes.dex文件,反编译就不会报错了。