Mac环境下反编译工具的使用

news/2024/5/11 4:45:15/文章来源:https://blog.csdn.net/qq_36356379/article/details/127432082

日常工作中避免不了反编译工具经常安装(换电脑设备、手滑把文件夹删除了。。。等等原因),而且时间一久忘记命令的使用,因此做下记录。

一、反编译工具三件套

  1. apktool:获取apk里的资源文件、配置文件、清单文件、lib文件夹下的so包等等
  2. dex2jar:将apk反编译成java源码,及dex文件转换成jar文件
  3. jd-gui:查看dex2jar反编译后的jar文件的可视化工具

二、反编译工具的下载安装及使用

1.apktool的下载: 下载链接

以Mac为例

  1. 鼠标放在截图步骤一里的wrapper script上,右键选择链接存储为,然后命名为apktool(注意这个文件不要加任何后缀名)
  2. 下载apktool-2
  3. 将步骤二下载的jar名称改为apktool.jar
  4. 将上述步骤中下载的俩文件移动到/user/local/bin文件夹下
  5. 设置这俩文件为可执行文件(chmod a+x 文件名称)
//在终端分别执行如下俩命令
chmod a+x /usr/local/bin/apktool
chmod a+x /usr/local/bin/apktool.jar 

验证是否安装成功

//终端运行如下命令 如果有版本号即可成功
apktool -version

apktool的使用:
使用cd命令进入到apk所在的目录,然后执行如下命令即可

//会生成同名的文件夹
apktool d -r ***.apk

2.dex2jar下载:下载链接
打开后页面的右侧有release包供你下载
在这里插入图片描述
下载完之后解压即可

dex2jar的使用
将apk后缀改成.zip,解压后会有classes.dex文件,将classes.dex文件放到dex2jar解压的文件夹里,执行如下命令,即可生成jar文件classes-dex2jar.jar,为了查看classes-dex2jar.jar文件源码,接下来我们需要jd-gui工具去打开

sh d2j-dex2jar.sh classes.dex

3.jd-gui工具的下载 下载链接
在这里插入图片描述

下载完解压后文件夹里有JD-GUI,双击打开即可使用,如果提示
在这里插入图片描述
首先检查是否有java1.8+版本的环境,如果环境没问题的话,那么就是软件本身问题,需要修改如下文件的内容:
显示包内容(JD-GUI)找到该文件
在这里插入图片描述
将正确的配置信息链接里的内容全部覆盖到上述文件里即可解决。

JD-GUI的使用
直接将dex2jar生成的jar文件拖到JD-GUI里即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_404095.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

毕业论文中引用方法、原理、定义等 如何降重才更有效果?

论文重复率过高是一件很痛苦的事,我当年的本科论文,一共查了四遍才过。 我的查重方法其实比较简单,初稿出来以后我就开始查重了,然后按照标注把标红的部分全部修改掉,而后以此类推,每次改外,或…

BIM+物联网应用,可以解决生活中的诸多问题?

hi,还是我,建模助手。 本期的头条我们聊过有关于元宇宙、BIM和智慧城市之间的些许关联。顺着这条线,再和大家说说更深入的东西——物联网。 它与BIM的结合,可以解决生活中的哪些问题。 01 物联网与BIM关系 在建筑走向智能的时代&a…

ProGAN 论文精读

作者:Tero Karras, Timo Aila, Samuli Laine, Jaakko Lehtinen单位:NVIDIA发表期刊:ICLR 2018 一、前期知识储备: 1.1DCGAN: 1.1.1模型结构: 1.1.2项目地址: github git clone https://git…

【附源码】计算机毕业设计SSM数据分析教学网站

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

微信公众号搭建查题系统

微信公众号搭建查题系统 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 查题校园题库:查题校园题库后台(…

Go Machine Learning

Go Machine Learning 前言 最近因为一直在弄部署整天c写的非常头疼,趁着昨天把分割部署写好后打算换换口味,想着试试Go语言来实现一些机器学习,深度学习会是什么样子.之前推荐过Go(goplus),不过这次打算用更基础的go语法来尝试. 1.准备工作 对于某个从未涉及的领域一开始肯…

硬盘分哪几种类型及主要参数详解

硬盘分哪几种类型 按接口分为:ide、sata、scsi 。 按大小分1.8英寸、 2.5英寸、 3.5英寸、 5.25英寸。 转速分为: 4500转,5400转,7200转和万转。 缓存分为:2m、8m、16m。 硬盘主要参数 硬盘主要参数详解: 转速:硬盘…

Web前端:所有新前端开发人员应该具备的顶级技能

作为前端开发人员,确保软件程序的用户界面正常运行是你的工作,这是一项艰巨的工作,因为你必须确保每个组件都按照预期的方式工作,这样用户才能有良好的体验。 前端开发现在需求量很大。前端开发者管理软件的用户界面/ UX。这很重要…

我不得不学的反射

什么是反射 反射是指对于任何一个Class类,在运行时都可以直接得到这个类的全部成分 这种运行时动态获取信息以及动态调用类中成分的能力称为java的反射机制 获取字节码文件 获取反射对象 方法一 public static void main(String[] args) throws Exception {Cla…

学生选课系统 前后端分离 vue springboot

学生选课系统 前后端分离 vue springboot系统描述一、系统功能二、系统截图1.网络爬虫 新闻获取代码2.pom源码系统描述 基于spring boot vue的学生选课系统 前端: Vue ElementUI axios 后端 springboot 持久层 mybatis Plus 会话 Spring Session redis 日志 AOP Mo…

程序设计与算法(三)C++面向对象程序设计笔记 第七周 输入输出和模板

笔记按照中国大学MOOC上北京大学郭炜老师主讲的程序设计与算法(三)C面向对象程序设计所作,B站上也有资源。原课程链接如下: 程序设计与算法(三)C面向对象程序设计 其他各章节链接如下: 程序设…

《CTF攻防世界web题》之我什么都不会(1)

前言 🍀作者简介:被吉师散养、喜欢前端、学过后端、练过CTF、玩过DOS、不喜欢java的不知名学生。 🍁个人主页:被吉师散养的职业混子 🫒文章目的:记录唯几我能做上的题 🍂相应专栏:CT…

[附源码]Java计算机毕业设计SSM高校创新学分申报管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

从初级进阶为高级程序员,需要经历什么?

“怎样才能成为一名高级程序员?” 对每个新人来说,大概都梦想着尽快实现职场进阶,从萌新成长为技术大佬。但媳妇熬成婆,世界上最难熬的就是工作经验…… 程序员具有明确的职业等级制度,依据工作经验和水平划分&#x…

vite+vue3+ts项目搭建之集成qiankun让其成为子应用模板,并能实现主子应用之间跳转切换(新增在线预览地址)

前言 以下操作,是续接之前 第四步 ——即:vitevue3tspiniaelement-plus项目已完成搭建好,可以直接业务开发了 主应用技术栈:vue2webpackjs 集成qiankun(微前端) 1、安装vite-plugin-qiankun npm install vite-plugin-qiankun2、…

Gradle 入门说难也不难,说简单吧也不简单~

在学习过程中最痛苦的事,并不是认为自己坚持不下去学不会,而是对某块知识点的碎片信息学习了很多,仍然无法窥其门径,处于懵懂状态。 就拿Gradle来说,我之前就是这种状态,不管怎么去查阅文档和视频&#xf…

联邦学习(Federated Learning):技术角度的理解

联邦学习(Federated Learning):技术角度的理解 学习笔记 B站学习链接:https://www.bilibili.com/video/BV1YK4y1G7jw/?p7&vd_source7def3d3fc89c6921c7aeadf5e4023d35 1.背景与动机 例子 Example >> 问题&#xff1a…

AES加密解密算法设计(C++)

目 录 1. 背景与意义 4 2. 系统设计 5 2.1系统主要目标 5 2.2主要软件需求(运行环境) 5 2.3功能模块与系统结构 6 3 系统功能程序设计 8 3.1基本要求部分 8 3.1.1 字节替换 8 3.1.2行移位 9 3.1.3列混合 11 3.1.4密钥加 13 3.1.5密钥扩展 14 …

神经网络训练多少次合适,神经网络训练时间多长

1、tensorflow 训练一个神经网络 需要多长时间 基本使用 使用 TensorFlow, 你必须明白 TensorFlow: 使用图 (graph) 来表示计算任务. 在被称之为 会话 (Session) 的上下文 (context) 中执行图. 使用 tensor 表示数据. 通过 变量 (Variable) 维护状态. 使用 feed 和 fetch 可以…

【附源码】计算机毕业设计SSM实验室设备明细管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…