美文网首页
mac反编译安卓apk

mac反编译安卓apk

作者: Morgan7 | 来源:发表于2018-10-23 14:36 被阅读0次

反编译工具

apktool

两种方式

dex2jar

两种方式

jd-gui

apktool 安装

  • 安装方式查看 https://ibotpeaches.github.io/Apktool/install/

  • 下载好带版本号的jar修改名字为apktool.jar

  • apktool文件各式如图

    屏幕快照 2018-10-23 13.47.19.png
  • apktool.jarapktool存放在/usr/local/bin

  • 终端输入apktool 显示下面 安装成功

$ apktool
Apktool v2.3.4 - a tool for reengineering Android apk files
with smali v2.2.2 and baksmali v2.2.2
Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
Updated by Connor Tumbleson <connor.tumbleson@gmail.com>

usage: apktool
 -advance,--advanced   prints advance information.
 -version,--version    prints the version then exits
usage: apktool if|install-framework [options] <framework.apk>
 -p,--frame-path <dir>   Stores framework files into <dir>.
 -t,--tag <tag>          Tag frameworks using <tag>.
usage: apktool d[ecode] [options] <file_apk>
 -f,--force              Force delete destination directory.
 -o,--output <dir>       The name of folder that gets written. Default is apk.out
 -p,--frame-path <dir>   Uses framework files located in <dir>.
 -r,--no-res             Do not decode resources.
 -s,--no-src             Do not decode sources.
 -t,--frame-tag <tag>    Uses framework files tagged by <tag>.
usage: apktool b[uild] [options] <app_path>
 -f,--force-all          Skip changes detection and build all files.
 -o,--output <dir>       The name of apk that gets written. Default is dist/name.apk
 -p,--frame-path <dir>   Uses framework files located in <dir>.

For additional info, see: http://ibotpeaches.github.io/Apktool/ 
For smali/baksmali info, see: https://github.com/JesusFreke/smali

开始反编译

目录结构

AndroidDecompilation/
├── Decompile
│   └── com.stub.StubApp.apk
├── apktool
├── apktool.jar
├── dex2jar-2.0
│   ├── d2j-baksmali.bat
│   ├── d2j-baksmali.sh
│   ├── d2j-dex-recompute-checksum.bat
│   ├── d2j-dex-recompute-checksum.sh
│   ├── d2j-dex2jar.bat
│   ├── d2j-dex2jar.sh
│   ├── d2j-dex2smali.bat
│   ├── d2j-dex2smali.sh
│   ├── d2j-jar2dex.bat
│   ├── d2j-jar2dex.sh
│   ├── d2j-jar2jasmin.bat
│   ├── d2j-jar2jasmin.sh
│   ├── d2j-jasmin2jar.bat
│   ├── d2j-jasmin2jar.sh
│   ├── d2j-smali.bat
│   ├── d2j-smali.sh
│   ├── d2j-std-apk.bat
│   ├── d2j-std-apk.sh
│   ├── d2j_invoke.bat
│   ├── d2j_invoke.sh
│   └── lib
│       ├── antlr-runtime-3.5.jar
│       ├── asm-debug-all-4.1.jar
│       ├── d2j-base-cmd-2.0.jar
│       ├── d2j-jasmin-2.0.jar
│       ├── d2j-smali-2.0.jar
│       ├── dex-ir-2.0.jar
│       ├── dex-reader-2.0.jar
│       ├── dex-reader-api-2.0.jar
│       ├── dex-tools-2.0.jar
│       ├── dex-translator-2.0.jar
│       ├── dex-writer-2.0.jar
│       └── dx-1.7.jar
├── dex2jar-2.0.zip
├── jd-gui-osx-1.4.0
│   ├── JD-GUI.app
│   │   └── Contents
│   │       ├── Info.plist
│   │       ├── MacOS
│   │       │   └── universalJavaApplicationStub.sh
│   │       └── Resources
│   │           ├── Java
│   │           │   └── jd-gui-1.4.0.jar
│   │           └── jd-gui.icns
│   ├── LICENSE
│   ├── NOTICE
│   └── README.md
└── jd-gui-osx-1.4.0.tar
  • 反编译的目标apkcom.stub.StubApp.apk
    存放路径Decompile/com.stub.StubApp.apk
    进入此目录$ cd /Decompile

  • 执行 $ apktool d com.stub.StubApp.apk

  • 执行$ ls 结果

com.stub.StubApp    com.stub.StubApp.apk
  • 反编译java源文件
    com.stub.StubApp.apk修改为com.stub.StubApp.zip
    JavaSourceCode用来存放源码
$ mv com.stub.StubApp.apk com.stub.StubApp.zip
$ mkdir JavaSourceCode
$ unzip com.stub.StubApp.zip -d JavaSourceCode/
  • 使用dex2jarclasses.dex生成classes.jar
  • JavaSourceCode里面会有一个classes.dex文件
  • 进入$ cd JavaSourceCode/ 执行cp classes.dex ../../dex2jar-2.0/
    执行cd ../../dex2jar-2.0
$ sudo chmod +x d2j_invoke.sh
$ sh d2j-dex2jar.sh classes.dex
  • 会生成classes-dex2jar.jar
  • 使用jd-gui工具打开这个classes-dex2jar.jar包就可以看到java源代码了

相关文章

  • Mac平台反编译Unity编译的安卓apk

    Mac平台反编译Unity编译的安卓apk 时间: 2017.09.06 参考资料: Android APK 反编...

  • mac反编译安卓apk

    反编译工具 apktool 两种方式 下载地址1: https://ibotpeaches.github.io/A...

  • 「安卓」反编译Apk(mac)

    一、反编译需要的工具 1.apktool:目的:主要是为了反编译查看AndroidManifest.xml文件操作...

  • 教你如何反编译app,拿到加密方式

    教你如何反编译app,拿到加密方式 大家知道app 有安卓和ios 安卓是apk 现在基本上apk都是经过加密的 ...

  • Android APK 反编译实践

    apk是安卓工程打包的最终形式,将apk安装到手机或者模拟器上就可以使用APP。反编译apk则是将该安卓工程的源码...

  • Android反编译

    1. 安卓逆向助手 有一款叫安卓逆向助手软件反编译apk 十分方便。这里给大家介绍的反编译方法就是基于这款软件的。...

  • Mac环境下反编译安卓apk

    decompile-apk The decompile-apk tool consists of some scr...

  • adb实用命令

    截屏: windows批处理命令: linux(MAC)命令: 安装APK: 卸载apk: 清理app缓存: 安卓...

  • apk反编译

    以前大学期间写过一点安卓,将做好的apk拷到手机里运行。 今天反过来,尝试一下反编译安卓apk 在这里主要用到三个...

  • Android 反编译工具的各种用法

    前言: 各位同学大家好 ,相信各位都有听过或者做过安卓的反编译的 ,今天我就给大家介绍几款反编译工具反别是 apk...

网友评论

      本文标题:mac反编译安卓apk

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