Linux下APK反编译(Apktool dex2jar jd-gui的下载和使用)

一般认为,使用linux系统的都是比较熟悉计算机操作的, 但是也不乏我这样的刚入手Linux的小白.最近转到Linux下开发,好多事情慢慢熟悉起来.给大家说一说Linux系统下的APk反编译.

关于windows下的反编译,请参考下面文章链接, 说的很详细:

http://blog.csdn.net/vipzjyno1/article/details/21039349/

搜罗了那么多教程文章,其实我最关心的无非是两件事情:

1. 最新版本反编译工具的下载

2. 反编译工具的使用

反编译通常有两种应用场景:

一是想要获取APK中的资源文件, 例如好看的动画, 布局文件等, 这个需求要用到的工具就是Apktool.

二是想要要大致看一下代码逻辑, 这时候用到工具是dex2jar和jd-gui.

对于第一种场景:

在Linux下最新版Apktool下载地址是:

https://ibotpeaches.github.io/Apktool/

目前最新版是2017-1-23号的, 下载完是一个jar文件, 还没完, 要改一下文件名称, 改成apktool.jar.然后还要下载另外一个文件, 这个文件叫做apktool(注意是apktool不是刚才下的那个apktool.jar哦), 实际上一个sh文件.其实apktool.jar这个文件在Linux下和win下都是一样的,不一样的是这个apktool文件而已.apktool这个文件的下载, 需要点击刚才那个链接页面的"Install Docs"

点完之后是这个样子的:

标号1的那个绿色的子,其实就是我们需要的apktool文件, 右键点击另存为, 就ok了, 注意看标号3那一行, 如果是64位的系统,要下载32位的依赖, 自行百度吧. 刚才我们下载完apktool.jar文件后重命名, 在这里的标号第5行也有体现. 接下来就是按照说明写的, 讲这两个文件移动到/usr/local/bin目录下, 注意需要sudo权限.而且至今我也不知道怎么在图形化界面下将这两个文件复制过来, 只能在命令行里通过"sudo cp 源文件路径+文件名 目标文件路径"的方式.然后给cd到这两文件所在的文件夹, 分别给这两个文件加上可执行权限:

sudo chmod +x 文件名

然后输入 apktool d -f apk路径+文件名.apk -o 反编译后文件输出路径  就可以进行反编译了.

对于第二种场景:

先说下操作步骤:

首先将要反编译的APK重命名为zip文件, 然后提取其中的classes.dex文件.将这个文件用dex2jar工具转换成.jar文件, 然后再用jd-gui工具打开.jar文件, 查看其中的源码.

dex2jar下载地址:

https://bitbucket.org/pxb1988/dex2jar

这个网址上发布了四个网址, 第一个是点击第一个后面的Downloads选项就可以下载dex2jar的zip包, 第二个网址就是网面这个网址的本身, 第三个网址是github上的托管. 第二和第三个网址上面的都是源码, 我找了半天也没找到sh文件, 有知道怎么用的人还请帮忙告诉我要想从这两个网站下载源码, 需要再怎么操作才能使用dex2jar. 本人功力有限, 所以直接从第一个网站下载的zip包.

下载完zip包后解压, 里面那个d2j-dex2jar.sh就是Linux下执行文件, 里面还有一个d2j-dex2jar.bat, 是windows下用到的批处理命令. 给d2j-dex2jar.sh增加可执行权限, 将dex文件复制到zip包解压完后的目录里, 然后运行 sh -f d2j-dex2jar.sh 文件名.dex, 这时候会报错, 根据报错信息提示, 在给这个目录下的d2j-invoke.sh增加可执行权限, 然后再执行 sh -f d2j-dex2jar.sh 文件名.dex, 稍后, 当前目录下就多出了一个jar文件, 这个文件就是dex的解压文件.

然后就是jd-gui工具的下载, 正宗的jd-gui下载地址:

http://jd.benow.ca/

下载下来是个jar文件, 运行 java -jar jd-gui命令, 就能启动jd-gui, 然后... 就没有然后了.

上面提到的工具, 我都下载好了, 已经上传到下载频道, 可是要审核还是怎么的, 上传成功了却还没有显示, 稍后奉上下载链接.

下载链接:http://download.csdn.net/detail/fozei/9770502

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值