首页
学习
活动
专区
工具
TVP
发布

Android开发笔记(二)

Enjarify 是 Google 官方推出的反编译工具,它可以将 Dalvik 字节码转换为 Java 字节码,也就是可以把 .apk 和 .dex 的文件转换为 .jar 的文件。还有一款工具叫 Dex2jar 也可以做到,不过 Enjarify 更胜一筹。Dex2jar 工具比较老,而且也很久没有更新过了,不支持Android N 及以上的版本的反编译,针对一些经过特殊处理的 apk 可能会崩溃。Enjarify 相比而言命令更简单,涵盖范围更广,考虑的情况更多。当然 Enjarify 也是存在一些局限性的,尽管它已经尽可能的去解析所有的类,不过由于 Android 和 Java 的限制,有些隐藏的类尚不能很好地解析,不过这种情况出现的频率比较低。

下面我就分享一下 Enjarify 的使用方法,Enjarify 是一个基于 Python 3 的应用程序,因此在使用之前需要安装 Python 3,官方下载地址:https://www.python.org/getit/。鉴于我平时都是在 Windows 环境下使用,没接触过 Linux,就仅分享在 Windows 环境下的操作步骤了。

安装 Python

当你下载好相对应系统的 Python 3 安装包之后建议右键点击并且以管理员身份运行,同时勾选 Add Python 3.X to PATH,将 Python 添加到环境变量中。也可以双击安装,之后找到Python 的安装目录,把 Python 配置到环境变量中。

Python 安装完成之后,可以到命令行,WIN + R,输入 cmd,敲回车进入,在弹出的界面输入 python,可以得到如下的界面。

下载 Enjarify

有两种方式可以获取 Enjarify,第一种是通过 Git,通过 git clone https://github.com/google/enjarify.git 命令;第二种是到 Github 网站上面,网址:https://github.com/google/enjarify,下载压缩包并解压缩。Enjarify 的目录如下:

使用 Enjarify

Enjarify 文件目录下有个 enjarify.bat 的文件,需要对其进行修改,右键使用 Notepad++ 打开,或者使用记事本打开都可以,把其中 python3 -O -m enjarify.main %* 的 3 去掉,也就是改为 python -O -m enjarify.main %*。

修改好之后保存即可,然后将需要反编译的文件放到 Enjarify 文件根目录下,进入命令行,进入到 Enjarify 文件夹对应的目录下,输入 enjarify xxx.apk,或者 enjarify xxx.dex,之后就会在根目录下面生成一个相同名字的 xxx.jar文件。

也可以通过 enjarify xxx.dex -o( output ) xxx.jar 的方式自定义反编译文件的名称,如果需要强制覆盖之前已经反编译的文件可以使用 enjarify -f ( force ) xxx.dex。至此 Enjarify 的使用方法就分享完毕了。

最后,如果这篇文章对你有帮助的话,辛苦动动手指点个赞,没有关注的麻烦关注下我的公众号,谢谢大家!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180128G0IPJJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券