mac 搭建APK反编译环境[转]

简介: APKtool用途:获取mainifest.xml res等资源文件下载:http://ibotpeaches.github.io/Apktool/install/使用:apktool d test.

APKtool

用途:获取mainifest.xml res等资源文件

下载:http://ibotpeaches.github.io/Apktool/install/

使用:apktool d test.apk


dex2jar

用途:获取项目源码的jar包

下载:https://github.com/pxb1988/dex2jar

用法:

1、解压apk获取classes.dex文件

2、通过命令 ./dex2jar-2.0/d2j-dex2jar.sh classes.dex来生成可以用JD-GUI工具查看的class.jar包

注:解压后dex2jar.zip文件后需修改可执行文件属性

 chmod +x d2j-dex2jar.sh d2j_invoke.sh


JD-GUI

用途:查看.jar包源码工具

下载:http://jd.benow.ca/


附:反编译apk 批处理文件

目录结构:

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. apktool             src_dex2jar-2.0.zip  
  2. apktool.jar         test  
  3. decode-apk.sh           test-dex2jar.jar  
  4. dex2jar             test.apk  
  5. jd-gui-0.3.5.osx.i686.dmg  

decode-apk.sh文件,使用./decode-apk.sh test.apk

[javascript]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. echo 开始反编译$@  
  2. fullPath=$@  
  3. filePath=${fullPath%'.apk'}  
  4. echo 开始提取资源文件...  
  5. apktool d $@  
  6. #java -Xmx512M -Djava.awt.headless=true -jar apktools/apktool.jar -f d -o "${filePath}" $@  
  7. echo 开始解压classes.dex...  
  8. unzip -od "${filePath}" $@ classes.dex  
  9. echo 开始反编译classes.dex为classes_dex2jar.jar...  
  10. dex2jar/d2j-dex2jar.sh "${filePath}/classes.dex" -f -o "${filePath}/classes.jar"  
  11. echo 恭喜,反编译完成,请到${filePath}目录下查看  




参考:

http://www.bkjia.com/Androidjc/938414.html

http://blog.csdn.net/ttdevs/article/details/42297905

若转载请注明出处!若有疑问,请回复交流!
目录
相关文章
|
4月前
|
安全 Java 图形学
Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)
Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)
69 0
|
11月前
|
Java 关系型数据库 MySQL
mac,linux环境的基础工具安装【jdk,tomcat】
mac,linux环境的基础工具安装【jdk,tomcat】
141 1
|
11月前
|
Go iOS开发 MacOS
手把手教你在Mac上从零搭建Go语言开发环境
手把手教你在Mac上从零搭建Go语言开发环境
1601 0
|
12月前
|
前端开发 开发工具 git
mac前端开发环境
mac前端开发环境
182 0
|
3天前
|
项目管理 Python
如何在Mac上安装多个Python环境
在你的Mac上使用多个Python环境可以对项目管理很有帮助,特别是在同时处理不同Python版本或不同的包需求时。在这篇文章中,我们将向你展示如何在Mac上轻松地安装和管理多个Python环境。
17 5
 如何在Mac上安装多个Python环境
|
4月前
|
SQL API 流计算
实时计算 Flink版产品使用合集之在Mac M1下的Docker环境中开启SQL Server代理的操作步骤是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
220 1
|
1月前
|
网络安全 数据安全/隐私保护 iOS开发
【Mac os】如何在服务器上启动Jupyter notebook并在本地浏览器Web端环境编辑程序
本文介绍了如何在服务器上启动Jupyter Notebook并通过SSH隧道在本地浏览器中访问和编辑程序的详细步骤,包括服务器端Jupyter的启动命令、本地终端的SSH隧道建立方法以及在浏览器中访问Jupyter Notebook的流程。
50 0
|
3月前
|
存储 Java API
Mac安装jadx并配置环境
Mac安装jadx并配置环境
129 0
|
4月前
|
Ubuntu Java Shell
反编译apk文件,得到其源代码的方法!!
反编译apk文件,得到其源代码的方法!!
76 1
|
4月前
|
Java
Mac环境下反编译apk
Mac环境下反编译apk
92 0