在Mac上进行安卓反编译

作者: Lu_Sir | 来源:发表于2016-06-10 17:03 被阅读4347次

      最近在研究逆向工程,感觉安卓(apk)的反编译还是比较简单的,在这里记录一下,也算是一个简单的教程吧。这里是需要的文件:安卓反编译工具(Mac)下载

      第一步,准备工作。下载上面的文件,完成后解压,将apktool目录下的三个文件(aapt、apktool、apktool.jar)复制到/usr/local/bin目录下,这样就已经配置好环境变量了,在终端中使用 apktool 命令查看是否成功,这里用的是目前最新的2.1.1版,如下图。

复制文件 使用的是2.1.1版

       第二步,反编译资源文件。任意下载一个安卓App(这里以meilijia.apk为例),记住下载路径,在终端中,用cd命令进到这个apk文件的目录下,再执行apktool d meilijia.apk命令,如下图。

执行 apktool d 命令

      执行成功后,会在当前目录下生成一个meilijia文件夹,点进去就可以看到相关apk的资源文件了,选中AndroidManifest.xml,然后空格键,就可以预览反编译后的内容了,如下图。

反编译资源

      第三步,反编译java 源文件。这里要用到dex2jar和jd-gui,将meilijia.apk重命名改成meilijia.zip,然后使用解压缩软件解压,得到一个meilijia-1目录(因为当前目录已经存在meilijia目录了,这个无关紧要),拿到里面的classes.dex文件,将这个文件复制到dex2jar-2.0目录下,如下图。

解压 meilijia.zip 文件 复制 classes.dex 文件

      同样,使用cd命令进入dex2jar-2.0目录,执行sh d2j-dex2jar.sh classes.dex命令,成功后会在当前目录下生成一个classes_dex2jar.jar文件,如下图。

生成 classes_dex2jar.jar 文件

      最后,用jd-gui工具打开这个jar包就可以看到java源代码了,如下图。

反编译 java 源码

    如果在第三步执行sh d2j-dex2jar.sh classes.dex命令时提示类似“d2j-dex2jar.sh: line 36: ./d2j_invoke.sh: Permission denied”的错误,可以执行sudo chmod +x d2j_invoke.sh命令来增加可执行权限。

      如果上面的文件链接不可用,这里附上备份地址:安卓反编译工具(Mac)下载

      至此,全部步骤结束。另外,在Windows上反编译apk比较简单,这里推荐一个很强大的工具:ApkIDE。

相关文章

网友评论

  • 睿丶清:下载还要豆豆,楼主给个包呗!!
    睿丶清:@soso_e853 谢谢:+1:
    e186e665c6c1:http://cdn.www.sojson.com/file/apktool-dex-jdgui.zip 免费下载链接。
    e186e665c6c1:我给你
  • 暗尘随码去:为什么apktool d ---.apk之后出来的文件夹是空的?
    暗尘随码去: @暗尘随码去 部分可以,不分不行
    Lu_Sir:@暗尘随码去 解决了吗:flushed:
  • 小张呵呵:“将apktool目录下的三个文件(aapt、apktool、apktool.jar)复制到/usr/local/bin目录下:”

    填坑: 右键点击Finder -> 前往文件夹 ->输入/usr/sbin ->前往
    Lu_Sir:@小张呵呵 :+1::+1::+1:
  • bba41115bf3e:我先给喜欢 看看行不行
    Lu_Sir:@小志嘛i 必须行啊!🤔

本文标题:在Mac上进行安卓反编译

本文链接:https://www.haomeiwen.com/subject/xkysdttx.html