针对这三种格式的文件进行反编译处理;
1.对xml文件进行包的解析,一般有两种方式:apktool(推荐)和AXMLPrinter2.jar(非常一般的垃圾-----我就成功解析了mainfast.xml);
2.从dex到class公认dex2jar.sh ,实现反编译;公认的强者;
3.而class到java的方式要更多样化一些,因为只是查看反编译后的代码:jd-gui(推荐),Jodeclipse(Jode的Eclipse插件),JadClipse(Jad的Eclipse插件)。
解析源码过程:
1.首先把apk文件改名为.zip,然后解压缩其中的class.dex文件,它就是java文件编译再通过dx工具打包成的。
2.把class.dex拷贝到dex2jar.bat所在目录。运行dex2jar.sh class.dex,生成classes.dex.dex2jar.jar。
3.运行JD-GUI工具(绿色软件,好用的软件!),打开上面的jar文件,即可看到java源代码。
解析资源文件:
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 (目标文件夹) 反编译 my.apk到文件夹myapk 2.apktool b (目标文件夹) 从目标文件夹中重建APK,生成的APK在"目标文件夹"\dist文件夹里,叫out.apk。
2.ubantu下使用 java -jar apktool.jar souce.apk newFile ,解析出资源文件
这个out.apk是没有签名的,所以不能直接装到手机里。签名工具和方法见http://www.hiapk.com/bbs/thread-21261-1-1.html,这里就不说了。签名后得到的APK,就是可以装到手机里的了。
A2. AXMLPrinter2.jar
不多说这东西·用法java -jar AXMLPrinter2.jarsouce.apk newFile 感觉用处不大,或许是我用法不对,期望知道的朋友指正下·····
分享到:
相关推荐
在Android开发领域,小结通常意味着对某个特定主题或技术的综合概述。在这个"android小结"中,我们可以探讨一些核心的Android知识点,包括但不限于源码解析、工具使用以及一个可能的示例项目"MainActivityDemo"。让...
2、这是Android迷你播放器第一阶段共6次改进的源代码,具体解析可点击博客查看 3、代码内含注释 4、这几个小节分别为 1检索内存卡媒体音乐并添加到List播放...7安全攻防第一战--对抗反编译,代码混淆和对抗动态调试;
Android手机App安全漏洞整理小结 Android手机App安全漏洞整理小结主要介绍了Android手机App安全漏洞的整理,包括源码安全漏洞、组件安全漏洞、dex保护漏洞、so保护漏洞、调试设置漏洞、组件导出漏洞、Activity组件...
Android 混淆规则是一种在 Android 应用程序中保护代码免受反编译和逆向工程的技术。它可以对 Java 代码进行混淆,使得反编译后的代码难以阅读和理解,从而保护应用程序的知识产权。 Android 常用三方库混淆规则...
**智能家居系统 Android 目录结构** 在Android开发中,理解其目录结构是至关重要的,它构成了应用程序的基础框架,包含了各种必要的文件和文件夹,用于...在课程结束时进行小结,回顾重点难点,有助于强化学习效果。
小结** 了解这些基本概念有助于更好地理解ROM定制的过程。 #### 第三章 寻找合适的原厂ROM **1. 熟悉移植的机型** - **1.1 逛论坛刷机** 加入相关的论坛,如XDA Developers论坛,可以获得关于不同手机型号的...
5.3.2 Flash文档的反编译、再编译与调试 122 5.3.3 SWF的网络交互:URLLoader 124 5.3.4 crossdomain.xml与Flash的“沙盒” 125 5.3.5 ExternalInterface 126 5.3.6 FLASH XSS 126 5.3.7 Microsoft Edge中的...
1.7 本章小结 第二部分 自动内存管理机制 第2章 Java内存区域与内存溢出异常 2.1 概述 2.2 运行时数据区域 2.2.1 程序计数器 2.2.2 Java虚拟机栈 2.2.3 本地方法栈 2.2.4 Java堆 2.2.5 方法区 2.2.6 运行...