App反编译工具dex2jar、JD-GUI的使用

4,185次阅读
3 条评论

如今爬虫的开发离不开从App爬取数据,本文将介绍如何使用dex2jar反编译一个Android App以及使用JD-GUI工具查看App源码。

准备工作

dex2jar下载及安装

可以从https://sourceforge.net/projects/dex2jar/files/下载dex2jar,然后解压既可。

JD-GUI下载及安装

可以从http://java-decompiler.github.io/下载JD-GUI工具。

反编译

首先准备好你所需要编译的Apk文件;

通过dex2jar反编译Apk得到jar文件

cd dex2jar-2.x  #首先cd到dex2jar目录下
sh d2j-dex2jar.sh xxx.apk  #执行shell脚本反编译你的Apk

运行完毕后会在dex2jar目录下生成反编译后的jar文件

ps-1:执行d2j-dex2jar.sh这一步时,可能会报错,如下

App反编译工具dex2jar、JD-GUI的使用

这是因为内存溢出的问题,只需要修改d2j-dex2jar.sh脚本中最大所需内存既可,如下,默认为512m,这里改为了4096m

App反编译工具dex2jar、JD-GUI的使用

ps-2:还有可能碰到如下错误

App反编译工具dex2jar、JD-GUI的使用

这是因为dex2jar版本较老引起得,需要去下载最新版(可能不好找,2.0版本以上)或者自行编译dex2jar源码,然后重新反编译apk既可;

具体编译方法可看https://github.com/pxb1988/dex2jar/wiki/BuildFromSource

使用JD-GUI软件查看App源码

直接拖动dex2jar生成的jar文件到JD-GUI中既可,如下:

App反编译工具dex2jar、JD-GUI的使用

正文完
 0
评论(3 条评论)
ensign
2022-08-25 10:10:33 回复

请问反编译了之后用JD打开里面只有com.qihoo.util和stub这两个怎么办

    kerrbty
    2024-06-21 11:24:49 回复

    説明程序加殼了,需要脫殼先

      Acnfi
      2024-10-14 14:51:19 回复

      請問脫殼一般是怎麽脫,我看dexdump這類都脫不了最新的殼