Android 中反编译APK的方法

用AI生成React/Vue页面?实测Locofy等5款工具,教你选最适合的 本文深度评测了2024年五大AI生成前端页面工具,包括Locofy、Builder.io等,从代码质量、可视化编辑器成本到企业级落地方案进行全面分析。通过实测数据和实战案例,揭示如何利用AI生成技术高效创建React/Vue页面,提升开发效率并优化性能。 阅读详情

一. 方法一:
工具下载:需用到dex2jar和JD-GUI这2个工具

dex2jar下载地址:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip
JD-GUI下载地址:
  windows版JD-GUI:http://laichao.googlecode.com/files/jdgui.zip
  Linux版JD-GUI:http://laichao.googlecode.com/files/jd-gui-0.3.2.linux.i686.tar.gz

步骤:

1.首先找到Android软件安装包中的classes.dex:
把.apk文件改名为.zip,然后解压缩,得到其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件

2.把classes.dex拷贝到dex2jar.bat所在目录。
在命令行模式下定位到dex2jar.bat所在目录,运行 dex2jar.bat classes.dex  ,生成classes.dex.dex2jar.jar

3.运行JD-GUI工具(它是绿色无须安装的)
打开上面的jar文件,即可看到源代码


二. 方法二: (推荐)
反编译apk生成程序的源代码和图片、XML配置、语言资源等文件。

转载自:http://blog.sina.com.cn/s/blog_5752764e0100kv34.html


工具下载:

在http://code.google.com/p/android-apktool/下 载获得,apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip两个包都要下。
下载后解开,为了方便使用,按作者的推荐把得到的4个文件复制到C:\Windows文件夹里。

这个工具是Java写的,需要你的电脑安装了JRE或者JDK,并在系统环境变量Path里加入java.exe所在路径。

以上准备工作做好后,就可以用它来反编译APK了。这里我用动态壁纸的APK来做示范。

如果用过动态壁纸,你也许会发现在设置壁纸时,界面的显示有点问题:“动态壁纸”,在手机上中文显示为“当前壁纸”。这是“动态壁纸选择器”LiveWallpapersPicker.apk的翻译错误造成的。

(假设LiveWallpapersPicker.apk放在C盘根目录)

开始 > 运行,输入cmd,回车。
apktool d "C:\LiveWallpapersPicker.apk" "C:\LiveWallpapersPicker"
(命令行解释:apktool d 要反编译的文件 输出文件夹)

这样,LiveWallpapersPicker.apk就被反编译了,输出内容在C:\LiveWallpapersPicker文件夹里。

打开C:\LiveWallpapersPicker文件夹,我们发现里面有一些XML文件和一些文件夹。绝大部分情况下,语言和图片资源都在res文件夹里,我们这个例子当然不例外。

打开res文件夹,可以其中又是很多文件夹。(又是)绝大部分情况下,语言资源都放在values*文件夹里。比如说values放默认语言(英语居多),values-de放德语,values-fr放法语等等。一般我们关心的是values-zh-rCN(简体中文)和values-zh-rTW(繁体中文)。

打开values-zh-rCN文件夹,其中有个strings.xml。打开看看:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <string name="application_name">动态壁纸选择器</string>
    <string name="live_wallpaper_picker_title">当前壁纸</string>
    <string name="live_wallpaper_preview_title">当前壁纸预览</string>
    <string name="configure_wallpaper">设置...</string>
    <string name="wallpaper_instructions">设置壁纸</string>
    <string name="live_wallpaper_empty">无当前壁纸。</string>
    <string name="set_live_wallpaper">设置壁纸</string>
    <string name="wallpaper_title_and_author">%1$s提供者:%2$s</string>
    <string name="live_wallpaper_loading">正在载入当前壁纸…</string>
</resources>

很好,就是它了。把“当前壁纸”都改为“动态壁纸”,再检查和修正标点——中文内容用中文标点(强烈呼吁大家注意标点问题,目前马大哈太多了)后,保存。

本例改这么多就够了。其它复杂的APK建议把res文件夹里的内容都检查下,至少你关心的语言文件夹里的内容都检查下。

改完后,就可以重打包了。还是在cmd命令行里,输入:
apktool b "C:\LiveWallpapersPicker"
(命令行解释:apktool b 要打包内容所在文件夹)
就可以了。生成的APK在C:\LiveWallpapersPicker\dist文件夹里,叫out.apk。

这个out.apk是没有签名的,所以不能直接装到手机里。签名工具和方法见43条,这里不说了。

签名后得到的APK,就是可以装到手机里的了。
基于STM32XX的LCD液晶显示屏(HS280S010B、驱动芯片:ST7789V)驱动C程序设计 / 16位/pixel (RGB565)#define LCD_WIDTH 240 // 屏幕宽度。#define LCD_HEIGHT 280 // 屏幕高度。LCD_ROTATION_180, // 180度旋转。LCD_ROTATION_270 // 270度旋转。LCD_ROTATION_90, // 90度旋转。LCD_ROTATION_0 = 0, // 0度旋转。 阅读详情

相关推荐

李沐之数值稳定性+模型初始化和激活函数

层记为t,这里的y不是预测,还包括了损失函数,y是优化函数,不是预测的结果y。第t层是输出。所有的h都是一些向量,向量关于向量的导数是一个矩阵,所以用了很多次的矩阵乘法,出问题就在这里。

m0_51133942的博客 1527

APK的反编译与回编译

手动构建APK

m0_62787113的博客 1万+

本地部署gradle

在部署CAS构建执行包时,如果按照CAS的官方命令gradlew clean build,如果系统没安装过gradle,这个步骤将会从网上下载gradle,但是进度非常慢,耗时很长。为了更快地完成项目构建,我们可以直接在本地部署好gradle,节省一点时间。

益添的博客 779

如何反编译一个apk文件?

反编译 APK 文件可以通过使用工具将 APK 文件解压并提取其中的资源文件和 Java 代码。

LLZjiayou的博客 3203

【3d打印】基于Klipper的3d打印远程上位机系统(Qt),klipper源码,通信解析,打印参数设置

基于Klipper的3d打印远程上位机系统(Qt),klipper源码,通信解析,打印参数设置(启庞Kp3s V1)

共享IT之美,共创机器未来 3190

第1章>>1.5:神电测控为什么开发LabVIEW ZYNQ FPGA软件工具包?(ZYNQ芯片的特点与优势)《LabVIEW ZYNQ FPGA宝典》

ZYNQ是赛灵思公司(Xilinx)推出的新一代全可编程片上系统(APSoC,All-Programmable SoC),它将处理器的软件可编程性与FPGA的硬件可编程性进行完美整合,以提供无与伦比的系统性能、灵活性与可扩展性。Zynq-7000系列是Xilinx于2010年4月推出的行业第一个可扩展处理平台,旨在为视频监视、汽车驾驶员辅助、工厂自动化、医疗器械等高端嵌入式应用提供所需的处理能力与计算性能。这款基于ARM处理器的SoC可满足复杂嵌入式系统的高性能、低功耗和多核处理能力等要求。

qq_40694786的博客 1646

Android APK反编译就这么简单 详解(附图)

在技术领域内,没有任何一门课程可以让你学完后一劳永逸,再好的课程也只能是“师傅领进门,修行靠个人”。“学无止境”这句话,在任何技术领域,都不只是良好的习惯,更是程序员和工程师们不被时代淘汰、获得更好机会和发展的必要前提。如果你觉得自己学习效率低,缺乏正确的指导,可以一起学习交流!加入我们吧!群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。

2401_84121627的博客 8631

攀藤PMS系列传感器STM32驱动开发与数据解析实战

本文详细介绍了攀藤PMS系列传感器与STM32微控制器的驱动开发与数据解析实战,涵盖硬件连接、数据协议解析、驱动源码编写及数据处理优化。重点解析了传感器数据帧结构,提供了完整的STM32驱动实现代码,并分享了实际应用中的问题排查与性能优化经验,帮助开发者快速实现高精度颗粒物浓度检测。

milk8的博客 347

mt管理器逆向了解安卓----【apk/安卓应用分析】

【apk/安卓应用分析】 大家都应该知道APK文件其实就是一个MIME为ZIP的压缩包,我们修改ZIP后缀名方式可以看到内部的文件结构 asset\ <资源目录1:asset和res都是资源目录但有所区别,见下面说明> lib\ <so库存放位置,一般由NDK编译得到,常见于使用游戏引擎或JNI native调用的工程中> |—armeabi\ <so库文件分为不同的CPU架构> META-INF\ <存放工程一些属性文件,例如Manifest.MF&

mrhejiachao的博客 5998

RagFlow专题三、RagFlow 关键技术(向量数据库、文档分块、Prompt 设计与召回排序优化)

FAISS 是由 Meta(Facebook)开源的高效向量检索库,适用于大规模向量搜索任务。,并了解了如何通过 RagFlow 机制优化信息检索和生成质量。(FAISS、Milvus、ES)用于高效存储和检索语义向量。提高 LLM 生成效果,增强 RagFlow 任务质量。(分块)策略,将文档拆分成更小的片段,提高检索效率。提高检索精准度,避免文本过长导致信息丢失。提升检索结果的相关性,提高生成质量。当多个检索结果被返回时,我们需要一个。在前一篇文章中,我们详细探讨了。在 RagFlow 任务中,

xiaoqi270620903的专栏 3040

YOLOv11改进策略【模型轻量化】| 替换华为的极简主义骨干网络:VanillaNet

本文记录的是基于VanillaNet的YOLOv11轻量化改进方法研究。VanillaNet的极简主义在于无 shortcut 连接,并且在网络的每个阶段仅使用一层卷积,无额外复杂模块,仅通过自身简洁的架构设计和训练策略,实现有效地训练和优化。本文在替换骨干网络中配置了原论文中的、和11种模型,以满足不同的需求。

Limiiiing的博客 1723

android.apk是木马吗,解决反编译后的安卓apk会被报毒的方法

目前几种常用的反编译工具如ApkIDE、APKDB、Androidkiller及较早版本的ApkToolBox 等反编译某些安卓热门apk会被一些安全软件检测含有木马或恶意程序,产生误判误报。原因是一些手机上的安全软件如360等会将这些安卓热门apk的非官方签名列入了与安卓APK文件名一一对应黑名单,解决办法就是重新生成新的证书文件testkey.x509.pem和密钥文件testkey.pk8,...

weixin_30995363的博客 4730

SAP-ABAP:接口多继承与复合接口设计:复杂业务场景下的能力组合实现方案

本文介绍了ABAP中通过接口多继承与复合接口设计实现能力组合的方案。文章首先辨析了类实现多个接口与接口继承接口的核心概念,指出ABAP虽不支持类多继承,但可通过这两种机制灵活组合能力。随后详细讲解了类实现多个接口的语法规则与三种调用方式,并给出了五个基础能力接口的设计示例(日志记录、权限校验、数据导出、消息通知、格式转换)。作者通过对比单继承与接口多重实现的差异,强调后者在解耦和扩展性上的优势,为复杂业务场景下的能力组合提供了实用解决方案。

baidu_35680696的博客 245

mac下Android安卓apk反编译最新亲测可用的方法

首先下载三个工具 apktool ,dex2jar,jd-gui 下载地址分别如下 apktool :https://ibotpeaches.github.io/Apktool/install/ dex2jar :https://sourceforge.net/projects/dex2jar/ jd-gui:http://jd.benow.ca/ 如果没法下载的我打包好了,下载地址 但...

小猪佩奇工作室 1666

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Android apk 反编译工具及方法

http://www.xiazaiba.com/html/28106.html#j_down_list 地址; Android Killer(apk反编译工具APK逆向工具下载) V1.3.1绿色版包含:dex2jar 这个工具用于将dex文件转换成jar文件 ;jd-gui 这个工具用于将jar文件转换成java代码 这两个工具。步骤: 第一,先下载反编译工具。 第二, 将所要反编译

zhao2017的博客 3720

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Android apk反编译方法详解

roid学习 - 反编译APK文件   学习最好的方式就是模仿和实践,当我们对Android手机应用程序的开发还不是很熟练的话,借鉴和学习别人的程序成为我们快速掌握知识的最有效途径,当然有条理的进行系统理论、框架及相关的学习也是必要的,而本文着眼于提供一种更直接的方式去学习Android开发,即通过学习别人的APK文件。文中所提供的方式仅仅只是为了学习之便,并无其它意图。 ...

donghua1950的博客 117

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Android 反编译apk 到java源码的方法

<br />Apk文件破解可见源码<br /><br />1. 获取apk的资‍源图片<br /><br />         直接用 WinRAR打开,res/drawable直接拖拽出来即可。<br /><br />2.获取xml文件信息<br /><br />    虽然能用WinRAR看到里面的xml文件,但是xml是经过优化的,无法直接查看,需要使用apktool工具,下载地址:https://code.google.com/p/android-apktool/。<br />下载 apkto

Vincent_czz的专栏 1万+

APK文件反编译回安卓工程文件的方法

昨天遇到了安卓端一直连接不上PC的情况,无论使用了什么方法都没法解决,最后使出了杀手——重装系统,终于解决了。但是也带来了一个问题,重装系统的时候都太心急了,忘了备份工程了。所有的工程文件全部丢失(Eclipse的工程文件默认都会放在C盘)。 好在再我的手机上安装了自己写的几个apk。于是准备反编译回工程文件。 1.首先是把apk文件拿回到电脑当中。 这个很简单,电脑连接手机进行USB调试,

分享+记录 1万+

Android APK的反编译方法

Android的APK反编译有两种方法(其实就是一种),一种能得到Java文件(工程中的Java类),一种能得到资源文件(Xml文件及图片等)。 1 得到Java文件 需要两个工具:dex2jar和jg-gui    (1)将dex文件转换成jar文件     首先将把.

zhuameng.com的博客 2058

android+包+反编译,简单的Android之apk包反编译方法

网上相关的文章一大堆了,我只是总结下自己的反编译方法和工具工具下载地址:下载上面的三个工具的压缩包Apktool_v1.5.1_CHS_By_b-sf.rardex2jar.zipjd-gui-0.3.5.windows.zip一、反编译 xml 等模版资源文件。解压 apktool 包,然后将你要反编译的 apk 文件拖放到ApkModify.bat文件上就自动反编译了,这个包自动继承了一些反...

weixin_39932692的博客 212

apkdv弹出Java,解决反编译后的安卓apk会被报毒的方法

目前几种常用的反编译工具如ApkIDE、APKDB、Androidkiller及较早版本的ApkToolBox 等反编译某些安卓热门apk会被一些安全软件检测含有木马或恶意程序,产生误判误报。原因是一些手机上的安全软件如360等会将这些安卓热门apk的非官方签名列入了与安卓APK文件名一一对应黑名单,解决办法就是重新生成新的证书文件testkey.x509.pem和密钥文件testkey.pk8,...

weixin_39708737的博客 386

android 反编译报错,android apk 反编译,android编译错误解决方法

(一)android 反编译方法案例分析(1)apktool:编译和反编译apk,从apk中提取图片和布局资源(2)dex2jar:将classes.dex反编译为jar源码文件(3)jd-gui:查看jar源码文件Windows系统下安装反编译apktool:1. 首先确保系统安装有Java2. 下载apktool.bat脚本3. 下载最新版本的apktool.jar,并且重命名为apktoo...

weixin_39744316的博客 328

简单的Android之apk包反编译方法

下载上面的三个工具的压缩包 Apktool_v1.5.1_CHS_By_b-sf.rar dex2jar.zipjd-gui-0.3.5.windows.zip 一、反编译 xml 等模版资源文件。 解压 apktool 包,然后将你要反编译的 apk 文件拖放到 ApkModify.bat  文件上就自动反编译了,这个包自动继承了一些反编译功能,但对 jav

伟大的忠忠的专栏 969

Android 中反编译APK的方法,留着自己用

一. 方法一:  工具下载:需用到dex2jar和JD-GUI这2个工具 dex2jar下载地址:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip JD-GUI下载地址:   windows版JD-GUI:http://laichao.googlecode.com/files/jdgui.zip   Linu

大数据处理,智能搜索推荐,自然语言处理,AI机器人对话,数据库读写分离 1429

java防报毒_解决反编译后的安卓apk会被报毒的方法

目前几种常用的反编译工具如ApkIDE、APKDB、Androidkiller及较早版本的ApkToolBox 等反编译某些安卓热门apk会被一些安全软件检测含有木马或恶意程序,产生误判误报。原因是一些手机上的安全软件如360等会将这些安卓热门apk的非官方签名列入了与安卓APK文件名一一对应黑名单,解决办法就是重新生成新的证书文件testkey.x509.pem和密钥文件testkey.pk8,...

weixin_32349577的博客 2636

android中对apk文件反编译的方法(详细)

一直想反编译好的android应用的代码,以便自己能参考牛人的代码和思想,但是没找到好的方法,很多都是不太成功或者失败,今天终于自己找到了一个好方法,能彻底反编译整个apk源码,包括xml文件和Java源码,有了此方法,andorid程序员偷着乐去吧!             废话不说了,直接说步骤吧!当然反编译是需要第三方工具的,我都准备好了,大家直接下载去吧,http://download.

每天都记录一点点! 1484
上一篇: Android基础#34:Android如何实现后台发送短信,SmsManager
下一篇: Android基础#28:Android常用动作、广播、类别等标志摘录
liranke
博客等级 码龄20年 4939粉丝 594原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liranke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值