apk反编译教程(2022win11亲测)

article/2025/11/7 6:41:28

捣鼓apk反编译,想做一些羞羞的事情,网上的教程大多都比较旧,这里更新一篇比较新且详细的反编译教程。

  • 目录

软件准备

apktool安装和使用

dex2jar安装和使用

jd-gui使用


  • 软件准备

首先我们想要比较完整的解析一个apk需要三个工具:

  1.     apktool (用于资源文件获取)
  2.     dex2jar (用于获取源码)
  3.     jd-gui (用于源码查看)

附上链接

apktool官网                                    https://ibotpeaches.github.io/Apktool/

dex2jar官方github仓库                   https://github.com/pxb1988/dex2jar

jd-gui Google Code仓库(直接下载)                 https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/innlab/jd-gui-0.3.3.windows.zip

这里jd-gui其实是比较次要的,因为大多数情况到不了看代码这一步,dex2jar就解析不了了


  • apktool安装和使用

apktool官网讲解安装方法非常详细---->>https://ibotpeaches.github.io/Apktool/install/

这里再翻译啰嗦一下

首先先检查java环境,然后把下面这一段放在文本文档里面改个后缀改成 apktool.bat

@echo off setlocal set BASENAME=apktool_ chcp 65001 2>nul >nul set java_exe=java.exe if defined JAVA_HOME ( set java_exe="%JAVA_HOME%\bin\java.exe" ) rem Find the highest version .jar available in the same directory as the script setlocal EnableDelayedExpansion pushd "%~dp0" if exist apktool.jar (    set BASENAME=apktool    goto skipversioned ) set max=0 for /f "tokens=1* delims=-_.0" %%A in ('dir /b /a-d %BASENAME%*.jar') do if %%~B gtr !max! set max=%%~nB :skipversioned popd setlocal DisableDelayedExpansion rem Find out if the commandline is a parameterless .jar or directory, for fast unpack/repack if "%~1"=="" goto load if not "%~2"=="" goto load set ATTR=%~a1 if "%ATTR:~0,1%"=="d" (    rem Directory, rebuild    set fastCommand=b ) if "%ATTR:~0,1%"=="-" if "%~x1"==".apk" (    rem APK file, unpack    set fastCommand=d ) :load %java_exe% -jar -Duser.language=en -Dfile.encoding=UTF8 "%~dp0%BASENAME%%max%.jar" %fastCommand% %* rem Pause when ran non interactively for /f "tokens=2" %%# in ("%cmdcmdline%") do if /i "%%#" equ "/c" pause

然后下载官网最新的  apktool.jar  ,我这里目前是2.6.0之后改名成   apktool.jar


两个文件(apktool.bat和jar)放在同一个文件夹下面,然后把要反编译的apk也放进来,之后用cmd在该文件夹下面执行命令   apktool.bat d -f  test.apk  test   更改你自己的apk名称和输出文件夹打开“test”文件夹,就可以看到反编译后生成的文件,在这些生成的文件和文件夹当中,我们关心的是res文件夹中和AndroidManifest.xml文件,打开res文件夹,里面存放了我们所关心的xml文件,如下图所示:

   

  • dex2jar安装和使用

dex2jar官方github仓库里面进入下载最新版的SNAPSHOT如下图

   

 

解压之后,把apk文件的后缀改成zip再解压获取classes文件,类似下图

把要反编译的classes文件放在SNAPSHOT文件夹里面执行命令

d2j-dex2jar.bat   classes.dex

 这里测试了两个

错误示范:如果下载了错误的(低的)版本可能会报错

error warning

有些离谱的解决方案是修改dex文件里面的037为036或者035

离谱操作

但是我试了是不行

  • jd-gui使用

    最后我们用jd-gui打开反编译出来的jar文件


END 


http://chatgpt.dhexx.cn/article/1cNe3xLS.shtml

相关文章

Android apk反编译

学习和开发Android应用有一段时间了,今天写一篇博客总结一下Android的apk文件反编译。我们知道,Android应用开发完成之后,我们最终都会将应用打包成一个apk文件,然后让用户通过手机或者平板电脑下载下来进行安装。正常情况下&…

AVD创建与使用

一、创建虚拟设备(AVD) AVD链接地址>>手机安卓自动化环境配置 操作程序: D:\tool\adt4_2_32bit\eclipse-eclipse.exe(双击启动)–开发工具 创建AVD(虚拟设备): 1)点击Window…

关于AVOD, 你需要知道的事

翻译、编辑:Alex 本文来自OTTVerse,作者为Krishna Rao Vijayanagar。 ▲扫描图中__二维码了解音视频技术大会更多信息▲ Easy-Tech #026# AVOD(Advertising-based Video On Demand)是一种视频点播商业模式:通过在视频…

AVOD:Aggregate View Object Detection跑通(官方README小补充)

本地环境 Ubuntu20.04 anaconda tensorflow-gpu1.3.0 cudatookit8.0 cudnn6.0 protobuf3.14.0(protobuf用3.2.0会报错) 1. protobuf文件解释 protobuf是google的一个开源的用来做数据通信的库,在avod/protos文件中有很多.proto文件,这些文件定义了…

AVA

声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢! 论文链接:arXiv:1705.08421 [cs.CV] 《AVA: A Video Dataset of Spatio-temporally Localized Atomic Visual Actions》论文翻译 摘要介绍相关工作数据收…

avod论文理解与代码解读

AVOD 论文理解与代码解读 论文简析概述网络结构BEV map特征提取rpn 网络特征融合 第二阶段检测网络box 编码方向确定 代码解读anchor 的产生mini batch的产生与作用rpn modelavod modelloss不足 论文简析 参考文章: csdn 代码: 代码 文献: …

AVOD、SVOD、TVOD、PVOD:视频点播商业模式

翻译、编辑:Alex 本文来自OTTVerse,作者为Krishna Rao Vijayanagar。 ▲扫描图中二维码了解音视频技术大会更多信息▲ Easy-Tech #025# 什么是视频点播(VOD)? 当我向流媒体业内人士问到,视频点播&#x…

【综述】MV3D-Net、AVOD-Net 用于自动驾驶的多视图3D目标检测网络

点击上方“3D视觉工坊”,选择“星标” 干货第一时间送达 前言 MV3D-Net 融合了视觉图像和激光雷达点云信息;输入数据有三种,分别是点云俯视图、点云前视图和RGB图像。通过特征提取、特征整合和特征融合,最终得到类别标签、3D边界框…

AVOD、SVOD、TVOD、PVOD:揭秘视频点播商业模式

点击上方“LiveVideoStack”关注我们 翻译、编辑:Alex 本文来自OTTVerse,作者为Krishna Rao Vijayanagar。 ▲扫描图中二维码或点击阅读原文▲ 了解音视频技术大会更多信息 商业模式 Easy-Tech #025# 什么是视频点播(VOD)&#xf…

AVOD:点云数据与BEV图的处理及可视化

文章目录 前言1. 点云数据可视化2. 点云数据校准3. 转为BEV图4. 补充:点云坐标系与相机坐标系结束语 前言 本篇主要记录对AVOD代码的学习与理解,主要是KITTI数据集中3D Object Detection任务中的点云数据和BEV图的处理,为方面理解其中的操作&…

视觉与激光雷达融合3D检测(一)AVOD

1.概述 AVOD(Aggregate View Object Detection)和MV3D类似,是一种融合3维点云和相机RGB图像的三维目标检测算法. 不同的是: MV3D中融合了相机RGB图像,点云BEV映射和FrontView映射,而AVOD则只融合相机RGB图像和点云BEV映射. 从网络结果来看,AVOD采用了基…

AVOD论文解读

AVOD论文解读 1.概述2.网络框架2.1 激光点云数据预处理2.2 特征提取2.3 降低数据量2.4 3D后选区域生成2.5 3D检测框编码2.6 朝向估计 论文地址:[1712.02294] Joint 3D Proposal Generation and Object Detection from View Aggregation (arxiv.org) 代码地址&#…

AVD的使用

前言:这个是AndroidStudio自带的模拟器,虽然功能强大,但是感觉不太好用,安装和使用都比较卡。 个人推荐使用夜神模拟器。 1.打开AndroidStudio,并新建一个工程 2.在菜单栏选择Tools-Android-AVDManager--Create Virt…

复现AVOD

复现过程主要参考https://zhuanlan.zhihu.com/p/87136172 这位博主 之前跟着官方github(https://github.com/kujason/avod) 环境一直配置不好,之后直接使用博主提供的yaml配置文件,之后进行略微调整即可 与博主不同的是&#xf…

AVOD-理解系列(一)

AVOD-理解 本篇用于记载之前阅读的论文avod及其代码,纯属个人个人理解.有误之处欢迎指正! 网络结构 代码流程 1:Feed_dict: feed_dict: 主要就是确定每一个mini_batch里输入图像的各种信息,包括图像的名字,图像的标签文件,图像…

AVOD代码复现

参考文献: https://zhuanlan.zhihu.com/p/86340957 https://zhuanlan.zhihu.com/p/354842740 https://www.guyuehome.com/39798 https://zhuanlan.zhihu.com/p/40271319 1,配置环境 conda create -n avod python3.5 conda install tensorflow-gpu1.3.0…

三十三.智能驾驶之多传感器融合技术: AVOD融合方法

AVOD(Aggregate View Object Detection)和MV3D类似,是一种融合3维点云和相机RGB图像的三维目标检测算法. 不同的是: MV3D中融合了相机RGB图像,点云BEV映射和FrontView映射,而AVOD则只融合相机RGB图像和点云BEV映射. 从网络结果来看,AVOD采用了基于两阶的…

AVOD论文和代码解析

1.介绍 AVOD(Aggregate View Object Detection)算法和MV3D算法在思路上非常相似,甚至可以说,AVOD是MV3D的升级版本 总的来说,和MV3D相比,AVOD主要做了以下一些改进: (1&#xff0…

论文阅读笔记 | 三维目标检测——AVOD算法

如有错误,恳请指出。 文章目录 1. 背景2. 网络结构3. 实验结果 paper:《Joint 3D Proposal Generation and Object Detection from View Aggregation》 1. 背景 AVOD同样是一个two-stage(使用了RPN提取候选框)、anchor-based网络结构。获得较高的召回率…

IC授权卡和复制卡的区别_信用卡小知识【芯片卡磁条卡的区别】

各位老板,企业家大家好,我是小胡,您身边的金融专家。 今天呢跟大家说一下信用卡芯片卡和磁条卡的区别? 信用卡呢,现在普及率非常高的。几乎是人手一张或者是多张。那么大家知道芯片卡和磁条卡的区别到底在哪里&#xf…