ubuntu下反编译教程 apktool,smali,dex2jar,jd-gui

2023-12-07 19:33

本文主要是介绍ubuntu下反编译教程 apktool,smali,dex2jar,jd-gui,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文讲解下反编译三个工具的安装及使用,附件java得安装(apktool需要java环境)。

 

一、java安装(java8为例)

以下四部(参考问题解决方法),顺序来,下载过程会比较慢,耐心等待:

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

Then , to install a specific jdk run these:

jdk6:

sudo apt-get install oracle-java6-installer

jdk7:

sudo apt-get install oracle-java7-installer

jdk8:

sudo apt-get install oracle-java8-installer

二、apktool安装

apktool下载地址:Apktool,按照提示下脚本和jar文件,并放到对应目录;

注意:下载得jar文件解压后,找到aapt文件(在解压缩目录:prebuilt\aapt\linux\),新建目录/usr/local/aapt/,将aapt文件考到这个目录下并chmod +x;

Linux:

  1. Download Linux wrapper script (Right click, Save Link As apktool)
  2. Download apktool-2 (find newest here)
  3. Rename downloaded jar to apktool.jar
  4. Move both files (apktool.jar & apktool) to /usr/local/bin (root needed)
  5. Make sure both files are executable (chmod +x)
  6. Try running apktool via cli

注意,第一步(Right click, Save Link As apktool)必须右击保存,不能自己打开网页复制保存。

这个时候在终端:

apktool d app-mock-debug.apk

会看到:

I: Using Apktool 2.3.3 on app-mock-debug.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
S: WARNING: Could not write to (/home/shixin398/.local/share/apktool/framework), using /tmp instead...
S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable
I: Loading resource table from file: /tmp/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Baksmaling classes2.dex...
I: Baksmaling classes3.dex...
I: Baksmaling classes4.dex...
I: Baksmaling classes5.dex...
I: Baksmaling classes6.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...

这样第一步就完成了,可以看到mk文件和smali文件了。

三、smali2java

然后要下载smali2java工具(密码:42uq),来进行smali文件到java文件得处理。

这是一个可视化工具,在windows上运行得。

不知道以前是不是apktool反编译完会生成dex文件,不过现在看,生成的都是smali文件。。没办法用jd-jui等看了。

四、使用dex2jar和jd-jui

如果不想使用smali2java,那么还有一个方法:将apk文件尾'.apk'改成'.zip',然后解压缩,就可以看到.dex文件了。

然后使用dex2jar处理dex文件,在用jd-jui打开查看。

1.dex2jar安装使用:

下载:https://bitbucket.org/pxb1988/dex2jar/downloads/,原地址:git-hub,解压:

也可以输出到制定位置得制定名字得jar文件:

AndroidStudio/dex2jar-2.0$ sh d2j-dex2jar.sh -f /mnt/d/code/APK/app-mock-debug.apk -o ../../decomp.jar
dex2jar /mnt/d/code/APK/app-mock-debug.apk -> ../../decomp.jar

2.jd-jui下载

下载(jd-jui下载地址)后,直接使用

 

这篇关于ubuntu下反编译教程 apktool,smali,dex2jar,jd-gui的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/467090

相关文章

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修