android反编译工具总结

序:
总结反编译主要的目的在于学习。利用反编译进行相关的汉化或修改,都是不道德的!

大家都知道,将apk文件解压后有两部分文件需要处理,一种是xml文件,另一种一个dex文件(.dex),我们可以从.dex文件中得到.class,利用后者再得到大家垂涎已久的java文件。
下面分别针对这三种格式的文件进行反编译处理;
1.对xml文件进行包的解析,一般有两种方式:apktool(推荐)和AXMLPrinter2.jar;
2.从dex到class公认dex2jar.bat,实现反编译;公认的强者;
3.而class到java的方式要更多样化一些,因为只是查看反编译后的代码:jd-gui(推荐),Jodeclipse(Jode的Eclipse插件),JadClipse(Jad的Eclipse插件)。

还是作个大致介绍吧:
1.首先把apk文件改名为.zip,然后解压缩其中的class.dex文件,它就是java文件编译再通过dx工具打包成的。
2.把class.dex拷贝到dex2jar.bat所在目录。运行dex2jar.bat class.dex,生成classes.dex.dex2jar.jar。
3.运行JD-GUI工具(绿色软件,好用的软件!),打开上面的jar文件,即可看到java源代码。
如果上面的步骤都可以自我完成了,那么,下面内容就可忽略不看了!

这几个软件,细分开来介绍(用步骤A(分A1,A2), B, C(分C1,C2,C3), ABC分别代表三个不同的步骤):
A1. apktool:
通常用于生成程序的源代码和图片、XML配置、语言资源等文件。我们对图片和语言资源等文件修改后,可以再把它们编译打包成APK,签名后就是手机可以安装的本地化/修正版APK了。支持Linux 、Windows下工作
安装步骤:
1.安装JAVA环境(官方推荐jdk 1.6);
2.下载apktool.jar:http://code.google.com/p/android-apktool/downloads/list
点击下载apktool1.3.2.tar.bz2  和apktool-install-windows-2.2_r01-3.tar.bz2 (不一定是这个,但最好选最新版本的吧!)
3.解压apktool1.3.2.tar.bz2得到apktool.jar;
解压apktool-install-windows.zip到任意文件夹,将apktool.jar拷入此文件夹中(也有人说是直接全部拷入C:/Windows,一样的);
(目前此文件夹中有三个文件:apktool.jar/apktool.bat/aapt.exe)
4.cmd命令行进入到解压apktool-install-windows-2.2_r01-3.tar.bz2所得的文件夹,输入apktool测试是否安装成功;
安装成功后,下面开始反编译过程:
1.apktool d (要反编译的文件) (输出文件夹)
如:
apktool d XXX.apk (目标文件夹)      反编译 geek.apk到文件夹test
2.apktool b (目标文件夹)              
从目标文件夹中重建APK,生成的APK在"目标文件夹"\dist文件夹里,叫out.apk。
这个out.apk是没有签名的,所以不能直接装到手机里。签名工具和方法见http://www.hiapk.com/bbs/thread-21261-1-1.html,这里就不说了。签名后得到的APK,就是可以装到手机里的了。
A2. AXMLPrinter2.jar
将它放到android-sdk-windows-1.5_r3\tools文件夹中
运行cmd,进入tools目录,运行java -jar AXMLPrinter2.jar main.xml > main.txt;
于是我们就得到了反编译后的XML文件;
经历了这么多,我们得到的只是部分布局文件和资源文件,但java文件还是"犹抱琵琶半遮面"。

下面,让我们掀起她的红盖头来: 

B. dex2jar
下载:http://code.google.com/p/dex2jar/downloads/list 
方法:
1.首先找到Android软件安装包中的classes.dex (解压得到);
它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件
2.把classes.dex拷贝到dex2jar.bat所在目录;
在命令行模式下定位到dex2jar.bat所在目录,运行 dex2jar.bat classes.dex
,生成classes.dex.dex2jar.jar,成功了一半!

C1. JD-GUI
下载:http://java.decompiler.free.fr/?q=jdgui
方便好用,直接解压得到JD-GUI,用它打开上面的jar文件,File-->Save JAR Source,即可看到梦寐以求的java源代码;
我们也可以解压B步骤得到的jar文件得到class文件,到这里,我们就要用到Jodeclipse和JadClipse了;
C2. Jodeclipse---Jode的Eclipse插件
C3. JadClipse---Jad的Eclipse插件
关于这两个Eclipse插件的安装可见下面链接:
http://tgyd2006.javaeye.com/blog/553061
(C4. 还有朋友提到DJ Java Decompiler,没用过,可以一试!)
但也有人提出此问题:
自从eclipse升级到3.3以后jad插件就一直没有成功的安装上去,网上看了好多文章也是以前版本的安装方法,3.3目前通过eclipse的software update的插件安装方式已经不行了。 
解决方法如下: 
1.从http://www.kpdus.com/jad.html#download地址下载最新的jad,我目前下载的是jadnt158.zip; 
2.从http://nchc.dl.sourceforge.net/s ... jadclipse_3.3.0.jar地址下载jadclipse_3.3.0.jar,拷贝到eclipse的plugins目录下;
3.启动或重起eclipse,修改window -> Preferences -> Java -> JadClipse 下的 
Path to decompiler 如:D:\eric\jadnt158\jad.exe(jadnt158.zip解压后的目录); 
4.Windows -> Perference -> General -> Editors -> File Associations中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer” 
大功告成,之后在java类里按住ctrl点击类就可以看到它jad反编译后的源带码了;
如果发现安装了没有效果,可以删除eclipse主目录下的\configuration\org.eclipse.update后,再执行eclipse -clean试试

最后,将得到的java文件和得到的xml文件组合可得一个android工程,即可得到相对比较完整的apk源码;但也有些额外加的包没被编译出来。
但做到这一步已经足够用于学习,我们的目的也就达到了!
大家也可关注下这两篇文章,用的不同方法(dexdump, baksmali.jar, smali.jar),但效果也还不错:
http://blog.youkuaiyun.com/Android_Tutor/archive/2010/07/09/5724435.aspx
http://www.cnblogs.com/huyipeng/archive/2010/07/25/1784679.html
有人会说程序可以用混淆器扰乱代码,但刚从网上看到的一种关于混淆器的说法:
“用混扰器的代码一般就是去掉所有注释和把变量名、方法名和类名变成一些没意义的名字。反编译后一般都变成a, b , c,...这样的名字,只能一点点的看懂,再利用Eclipse的改名方法,一次性的吧相关的名字改成有意义的名称。”
所以,大家的关键代码最好还是打成.so库吧!要不会被一些人搞得内裤都没得穿!

全面探索Android反编译工具及应用 本文还有配套的精品资源,点击获取 简介:反编译工具在软件逆向工程、安全分析和代码学习中占据核心地位,尤其在Android开发中,它们被用来反编译APK文件以理解其内部结构。本文详细介绍了反编译工具的基本概念、用途以及在Android平台中的具体应用。包括如何使用常见的反编译工具(如dex2jar、JD-GUI、Apktool、Frida、JADX)进行APK文件结构分析、D... 阅读详情

相关推荐

全面掌握Android反编译:工具与应用

本文还有配套的精品资源,点击获取 简介:在Android开发和研究中,有时需要对APK文件进行深入分析,这就需要使用反编译工具。本篇介绍了APK Multi-Tool这类工具,它集成了多种功能,包括资源提取、签名和重新打包等,为开发者提供了便利。介绍了反编译的基本概念,包括dex2jar和JD-GUI工具的使用,以及其他反编译工具如Apktool、FernFlower和de...

weixin_28888459的博客 2949

android反编译小结:apktool/AXMLPrinter2.jar/dex2jar.bat/jd-gui/

文章出自:http://zhangxiaominhit.diandian.com/post/2011-11-22/7016502 三个相关软件,都是最新版本: jd-gui-0.3.3.windows.zip(691.67 KB,) dex2jar-0.0.7.8-SNAPSHOT.zip(579.83 KB) apktool.rar(1.31 MB,) 也可以在

amosye的专栏 3939

全面解析:安卓APK反编译工具与流程

在软件开发和安全分析的世界里,安卓APK反编译工具是深入分析安卓应用不可或缺的利器。通过这些工具,开发者和安全分析师能够反向工程APK文件,窥探应用的内部结构和源代码,这在理解软件设计、定位问题以及进行安全审计方面尤为关键。反编译过程不仅需要正确的工具,还需要遵循特定的步骤和方法。本章将探讨这些工具的共性和特性,为后续章节中使用JD-GUI工具的具体方法奠定基础。我们会从应用、优化和查询的角度审视这些工具,以求帮助读者更有效地理解和使用它们。

weixin_42355400的博客 1057

【亲测免费】 推荐项目:Apktool-termux——安卓应用逆向工程的得力助手

推荐项目:Apktool-termux——安卓应用逆向工程的得力助手 在安卓开发与安全研究的广阔领域中,有一款工具以其简洁的操作和强大的功能脱颖而出——Apktool-termux。这是一由印度开发者H4Ck3R(Raj Aryan)倾心打造的开源项目,旨在为Termux用户提供一个简单易用的环境来处理APK文件。让我们一起深入了解这个宝藏工具。 项目介绍 Apktool-termux是一个专为...

gitblog_00079的博客 1267

Mac上的Android应用反编译工具指南

在安卓应用开发和安全分析的过程中,反编译是一个不可或缺的环节。反编译使得开发者能够理解APK文件中的代码和资源,无论是为了学习、分析竞争对手的应用,还是修复已发布的应用中的bug。Mac用户在这一领域并不缺乏实用工具的支持。在本章中,我们将对安卓反编译工具进行初步介绍,为之后章节深入探讨这些工具的功能和使用方法打下基础。

weixin_42510201的博客 732

记录——影刀RPA高级操作题(二)——使用影刀RPA内置包和”Xpath“获取数据,获取数据写入目标MySQL

【代码】记录——影刀RPA高级操作题(二)——使用影刀RPA内置包和”Xpath“获取数据,获取数据写入目标MySQL。

m0_74824002的博客 843

IDA---未识别函数处理

有时候会遇到IDA无法自动识别某个函数,地址表现为红色, 如下: 选中这部分代码,进行如下操作: Edit -> Functions -> Create function 然后就能愉快地F5了 ...

xuqi7 3177

神经网络基础-从零开始搭建一个神经网络

人工神经网络(Articial Neural Network,简写为ANN)也称为神经网络(NN),是一种模仿生物神经网络和功能的计算模型,人脑可以看做是一个生物神经网络,由众多的神经元连接而成,各个神经元传递复杂的电信号,树突接收到输入信号,然后对信号进行处理,通过轴突输出信号。人工神经网络也是类似,通过模仿人脑的“学习机器”,通过不断“看”数据(比如图片,数字),自己总结规律,最终学会预测(比如分类图片)在深度学习中,损失函数是用来衡量模型参数的质量的函数,衡量的方式是比较网络输出和真实输出的差异。

Zach的博客 4014

Apktool-termux 安装与使用指南

Apktool-termux 安装与使用指南 项目目录结构及介绍 Apktool-termux 是一个专为在 Termux 环境中简便安装和使用 ApkTool 的开源项目。以下是该仓库的基本目录结构及其简介: . ├── apktool.sh # 核心脚本,用于执行 ApkTool 相关命令 ├── setup.sh # 安装脚本,自动化处理安装过程 ├── ...

gitblog_00870的博客 1457

Cursor锁机了怎么办?实测这个开源插件帮你无限“续杯”,附详细安装与防踩坑指南

本文提供了Cursor锁机问题的详细解决方案,包括使用开源插件`cursor-fake-machine`修改机器标识、锁定配置文件权限以及优化使用规范。同时介绍了如何利用Cursor开发油猴脚本将微信公众号文章高效转换为Markdown格式,提升内容创作效率。

weixin_26805597的博客 767

【100%通过率】华为机试真题 Python 实现【对称美学】【2022.11 Q4 新题】

对称就是最大的美学,现有一道关于对称字符串的美学。 已知: 第1个字符串:R 第2个字符串:BR 第3个字符串:RBBR 第4个字符串:BRRBRBBR 第5个字符串:RBBRBRRBBRRBRBBR相信你已经发现规律了,没错! 就是第i个字符串=第i-1号字符串的取反+第i-1号字符串。取反即(R->B,B->R); 现在告诉你n和k,让你求得第n个字符串的第k个字符是多少。(k的编号从0开始)

MISAYAONE的博客 1万+

android反编译工具手机,安卓apk反编译工具包

Android反编译工具包,包含apktool、dex2jar、jd-gui三个Android反编译常用的工具,其中,apktool可以提取安卓apk文件中的图片和布局文件并进行查看;dex2jar可以将安卓apk反编译成Java源码、jd-gui可以查案反编译后的jar文件(源码),配合使用,基本可以满足开发人员的Android反编译需求。Android反编译工具包主要功能Android反编译工...

weixin_42339061的博客 3156

ardupilot 为什么要采样四元数姿态控制

本节主要说明清楚ardupilot姿态控制为什么要用到四元数,欢迎批评指正!!!

陌城烟雨 1118

Android Killer--安卓反编译工具

Android Killer--安卓反编译工具

听鬼哥说故事 1万+

ESP8266-Arduino编程实例-TEA5767收音机模块驱动

TEA5767HN 是一款用于低压应用的单芯片电子调谐 FM 立体声收音机,具有完全集成的中频 (IF) 选择性和解调功能,频率范围从76—108MHZ自动数字调谐。 该收音机完全无需调整,高灵敏度,高稳定性,低噪音,收音模块。只需要最少的小型低成本外部组件。 收音机可以调到欧洲、美国和日本的 FM 波段。...

视觉与物联智能 1981

【YOLOv8科研级优化】基于YOLOv9的GELAN模块重构C2f结构,实现精度与效率的同步提升

打开确保模型解析器能识别GELANBlock模块。通过将YOLOv9的GELAN模块集成到YOLOv8的C2f模块中,我们实现了一个“强特征表达+高效计算”的目标检测模型。这个改进不仅在工程上能提升复杂场景下的检测效果,更在科研上提供了“多分支特征融合”的创新思路——这种思路可以延伸到其他检测网络(如Faster R-CNN、SSD)的改进中,帮你在论文中打造独特的研究点。

know_F0727的博客 203

Android常用反编译工具

常用反编译工具apktool :反编译apk,重构。dex2jar :反编译apk,解压 classes.dex 文件JD-GUI :将class文件反编译成java源代码AndroidKiller : 可视化、全自动的反编译、编译、签名;支持批量编译APK。GDA:第一款国产交互式反编译器jadx:反编译利器,支持命令行和图形界面autosign:签名工具xposed:hook框架 apkto...

李玺 1万+

Labview邪修01:贪吃蛇小游戏

摘要:博主使用LabVIEW 2020(32位)复刻了经典贪吃蛇游戏。程序具备随机生成蛇(初始长度3)和食物、三档速度调节、键盘方向控制等功能,碰撞边界或自身即游戏结束。实现过程包括:1)界面设计,使用二维颜色盒数组构建游戏区,添加速度枚举控件和功能按钮;2)程序架构,采用模块化设计包含Main.vi、Start.vi等6个核心VI,分别处理初始化、位置计算、碰撞检测等逻辑;3)事件驱动机制,通过开始/结束事件、按键响应和超时循环实现游戏流程控制。运行时可实时显示分数,完整还原了贪吃蛇的核心玩法。

weixin_38637405的博客 972

android apk 反编译工具,安卓apk反编译神器

APK反编译神器安卓修改大师是一个解编APK文件的工具,使用它可以轻松地解编所有APK安装包,替换应用程序界面中的所有文本和图片,代码级别的修改可以增强中文、裂缝、功能等等。软件说明可以向所有界面添加自定义代码和功能。该软件还通过APK安装包直接提供多通道打包工具,而不需要源代码。自由自定义未增强的APK安装包,以修改应用程序图标和应用程序名称、替换界面、替换文本和图片、翻译或本地化多语言版本,以...

weixin_36162883的博客 535

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

android反编译工具推荐,Android 反编译工具的各种用法

前言:各位同学大家好 ,相信各位都有听过或者做过安卓的反编译的 ,今天我就给大家介绍几款反编译工具反别是 apktool dex2jar jd-gui.jar 希望能帮助到大家的学习准备工作:工具的具体作用:1、apktool.bat;apktool.jar作用:最大程度的还原apk中的manifest文件和资源文件 。使用apktool工具反编译apk文件比直接解压同一个apk文件大;还...

weixin_31894867的博客 1942

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

安卓逆向so文件反编译工具

安卓逆向so文件反编译工具 【下载地址】安卓逆向so文件反编译工具 这款开源工具专为安卓逆向工程设计,专注于.so文件的反编译。核心工具readelf.exe经过严格测试,能够高效解析.so文件的详细信息,帮助开发者深入理解安卓应用的底层逻辑。无论是学习逆向技术还是进行安全分析,此工具都能提供强有力的支持。使用前请确保遵...

gitblog_06713的博客 1533

android反编译汉化,安卓反编译工具(Apk Manager)

Apk manager是一个apk处理工具,集多种功能于一身!下面是主界面的所有选项:【简单功能】修改图片类----------------------0 提取手机文件到电脑1 提取APK2 优化内部图像3 压缩APK4 APK签名 (非系统APK)5 进行Zipalign处理 (APK必须已创建并签名)6 安装APK (如果是系统APK,请执行8)7 ...

weixin_39811166的博客 1548

如何利用抓包工具辅助进行安卓反编译

在安卓反编译的过程中,经常遇到界面上显示的图片或者文字在整个反编译项目中搜索不到,这种情况就说明这些文字和图片地址来自于调用的接口,我们可以通过fiddler抓包工具获取接口以及传递的参数和返回的json、xml,来辅助进行安卓的破解和反编译。 第七讲 如何利用抓包工具辅助进行安卓反编译 由于不能上传视频,请移步这里观看教学视频 ...

1516

mac android 反编译工具,【已解决】mac中用apktool去反编译安卓apk文件

折腾:【已解决】用apktool,dex2jar,jd-gui去反编译安卓apk查看app源码期间,已经:【已解决】mac中安装最新版本的安卓反编译工具:Apktool了,接着去尝试用apktool去从安卓的apk文件,反编译看看效果。参考:去:apktool d test.apk试试:➜apk lltotal 51280-rw-r--r--@ 1 crifanstaff25M...

weixin_42303112的博客 503

android反编译工具推荐,Android反编译的工具集合

反编译工具的使用——道高一尺魔高一丈1.apktoolimage.png图中显示的是我们反编译所使用到的最重要的apktool工具的所有版本。2.dex2jarimage.png3.jadimage.png4.jadximage.png5.JD-GUIimage.png道高一尺魔高一丈每当编译变得更厉害一点的时候,这些反编译的工具也会跟进更新。所以,当你反编译出错,不能成功的话,那么就检查一下反编...

weixin_39871162的博客 550
上一篇: js判断undefined类型
下一篇: 绑定在 TCP 端口 1433 上失败的解决方法
iteye_11221
博客等级 码龄8年 3粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值