最近在研究逆向工程,感觉安卓(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。

android反编译软件Mac,在Mac上进行安卓反编译相关推荐

  1. android 自带 的模拟器吗,PC上玩安卓,选凤凰系统还是模拟器?

    PC上玩安卓,选凤凰系统还是模拟器? 推荐 2017-04-12 16:07:32 随着安卓系统的普及使用,越来越多的人在电脑上使用安卓软件或玩安卓游戏,安装模拟器是较常见的方式,但你可能不知道在电脑 ...

  2. 华为android怎么隐藏软件,在华为手机上怎么隐藏应用

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 以华为p20pro为例,系统版本为EMUI11,该款手机是不可以隐藏应用软件的.据华为官方客服称,为了防止误操作导致无法从主屏幕中 ...

  3. 在linux中配置编译u-boot方法,在ZC702上运行Linux(4)-编译和使用U-Boot Linux

    1. 安装工具链 如网页上所说,安装包xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin提示系统是dash,而安装包需要bash.按照提示运行命令 sudo ...

  4. 2021年中国反剽窃软件市场趋势报告、技术动态创新及2027年市场预测

    反剽窃软件市场的企业竞争态势 该报告涉及的主要国际市场参与者有Academicplagiarism.Blackboard.PlagScan.Turnitin等.这些参与者的市场份额.收入.公司概况和S ...

  5. 2021-2025年中国反勒索软件行业市场供需与战略研究报告

    反勒索软件市场的企业竞争态势 该报告涉及的主要国际市场参与者有Sophos.Check Point.Cybereason.Faronics.Bitdefender.Malwarebytes.Kaspe ...

  6. 小程序反编译 g is not defined_身边程序用的IDA Pro for Mac(静态反编译软件)

    ida pro mac版专为Mac用户设计,目前最优秀的静态反编译软件之一,这款mac安全工具它不仅可以应用在反编译和动态调试等强大的逆向工程领域,还支持对多种处理器不同类型的可执行模块进行反汇编处理 ...

  7. android 如何在电脑上查看手机内存储的文件夹 应用宝,【总结】Android安卓设备 连接Mac电脑—用 Android File Transfer软件...

    平时大家用到最多的就是安卓手机和苹果电脑互连,由于安卓系统应用广泛,很多平板电脑还有电视都在用安卓的系统,下面是我们整理的安卓连接MAC电脑的方法. 一.使用第三方的链接软件 现在很多第三方的应用软件 ...

  8. vlc android 编译 mac,在Mac中编译vlc-android小结

    在Mac中编译vlc-android小结 在Mac中编译vlc-android小结 VLC  CodeSource https://code.videolan.org/explore This pag ...

  9. Wormhole for mac(在Mac上控制iOS和Android设备)

    Wormhole for mac中文免费版是一款非常强大的手机控制软件,Wormhole mac中文版可以让您实现在Mac电脑上控制iOS和Android设备,你可以使用Wormhol在你的Mac上刷 ...

  10. 电视不正常Android镜像投屏,Mirror for Android TV(安卓电视投屏软件) V2.4 Mac版

    Mirror for Android TV是一款适用于Mac的安卓电视投屏工具,它可以帮助用户在Mac上即可将视频.电影投屏到安卓电视上,适用于任何电视,设置框或媒体播放器与Android电视操作系统 ...

最新文章

  1. 设计点击左侧切换页面进出_Axure教程:(初级)导航中的页面切换
  2. ./configure,make,make install的作用
  3. VTK:图片之ImageOrientation
  4. Android之用SingleTask和TaskAffinity解决手机截取的项目启动页面问题
  5. [css] 使用css将图片转换成黑白的效果
  6. Android textview 获取url,获取电话号码
  7. 生信分析和美图资源推荐!!!
  8. IA-32 System-Level Registers and Data Structures
  9. hadoop 概要
  10. Liferay7 BPM门户开发之15: Liferay开发体系简介
  11. Avast高级版的cleanup激活码
  12. oom killer lmkd killer
  13. python pip卸载不了库,比如使用pyinstaller时greenlet报错但卸载不了
  14. 百度网盘内容提取网站
  15. Objective C的关键字oneway
  16. PyTorch 模型训练实用教程(六):监控模型——可视化
  17. 使用main方法启动spring程序
  18. 【OpenCV】边缘检测:Sobel、拉普拉斯算子
  19. [JAVA]向上转型与向下转型
  20. 连接网络-第三章测试

热门文章

  1. 基于SSM的网上商城(上)
  2. java解压服务器文件夹,java解压7z文件
  3. 测井曲线fft matlab,Matlab编程实现FFT实践及频谱分析
  4. 【FatFs】FAT32文件系统协议总结(理论+实践)
  5. 利用python编写一个猜数游戏程序。由系统随机产成一个0~100之间的整数,玩家可以进行5次竞猜。如果猜对了,则提示“恭喜你,猜对了“,并结束游戏;如果猜错了,提示玩家一个方向提示,告诉玩家大了小了
  6. 一种基于折射反向学习机制与自适应控制因子的改进樽海鞘群算法
  7. 可能是最全的Kotlin协程讲解
  8. DockerFile的编写构建镜像步骤,常用命令和案例
  9. Java连接HBase
  10. 数字化营销转型,你的企业准备好了吗?