最近对android 2.3.3的framework.jar进行了一些反编译和回编译的操作,写下来备忘。
一、framework.jar反编译为smali文件
1、下载smali-1.2.6.jar和baksmali-1.2.6.jar这两个工具(下载地址:http://code.google.com/p/smali/downloads/list)
2、将framework.jar中的classes.dex解压出来(好像不解压,直接用framework.jar也行)
3、使用baksmali.jar对classes.dex进行反编译(前提是安装了jdk,并且设置好了环境变量),执行命令:
java -jar baksmali-1.2.6.jar classes.dex -o out/
其中classes.dex是要反编译的文件,out/是要把反编译后的文件存放到的文件夹,如果不是在当前目录下,那么baksmali-1.2.6.jar还要加上路径
这样就OK了,在out文件夹中可以看到一堆扩展名为.smali的文件,用记事本就可以打开它们,从中可以窥到一些信息。但是与.java文件还是有一些不同,我也不太清楚这是什么结构。
二、smali文件回编译为classes.dex
1、一条命令就OK了:java -jar smali-1.2.6.jar out/ -o classes.dex
2、再把编译好的classes.dex放回到framework.jar中就行了(可以使用winrar、winzip之类的工具作为辅助)。
三、framework.jar反编译为.class和.java文件
1、下载以下工具:
(1)dex2jar(http://code.google.com/p/dex2jar/)
(2)xjad(http://www.skycn.com/soft/41898.html)或jd-gui(http://java.decompiler.free.fr/?q=jdgui)
2、使用dex2jar对framework.jar进行转换,执行命令:dex2jar.bat framework.jar 将会生成一个framework.jar.dex2jar.jar
3、直接对该jar文件解压,可以看到里面都是.class文件了
4、如果还需要转换成.java文件,可以使用xjad或jd-gui,均可将class文件变为java文件。
注:dex2jar工具也可以处理.dex文件,因此也可以不直接处理framework.jar。而是先将framework.jar解压,生成classes.dex后再处理也行。
分享到:
相关推荐
标题和描述提到的是一种这样的场景,即利用反编译工具将Android的`framework.jar`转换成可读的Java类(`.class`),然后使用JD-GUI来查看和验证修改是否成功编译。 首先,`framework.jar`是Android系统的核心组件之...
Dex2jar是一个开源工具,它的作用是将Java字节码转换成Dalvik字节码,方便对Android应用进行反编译和分析。在Android系统中,所有的应用代码最终都需要被编译成`.dex`文件才能在Dalvik虚拟机或ART运行时环境中执行...
4. **测试与调试**:由于隐藏API不在官方文档中,测试和调试可能会更加困难,可能需要借助ADB和反编译工具来查看和理解API的使用。 总的来说,`@hide` API虽然提供了额外的功能,但也带来了潜在的风险和挑战。对于...
对于开发者而言,了解`framework-res.apk`的结构和编译过程是很有价值的,特别是对那些希望自定义系统界面或者修改系统行为的高级开发者。通过修改`framework-res.apk`,可以实现定制化ROM或者开发特定功能的应用。...
本教程将详细介绍如何对`odex`文件进行反编译和回编译,以便分析和修改Android应用的源代码。 **反编译流程** 1. **提取odex文件** 首先,你需要从`system.img`或者源码编译中获取重要的`odex`文件,例如`core....
jar包反编译工具 很实用! 功能特点: 1、XJad是基于Jad核心的Java源程序反编译软件,内置Jad1.5.8e2; 2、可处理多个*.class文件,可以处理文件夹内的所有文件,甚至可以处理*.jar文件; 3、带有多页面文本编辑器,...
1、打开一个或者多个*.class文件,XJad反...3、打开一个*.jar文件,XJad将该Jar文件中的所有*.class文件解压缩到临时目录并进行反编译, 并将源文件带包路径信息保存至当前文件夹下名称为“~” + *.jar 的文件夹中;
《APK+Dex文件反编译及回编译工具》 简称:APKDB 是一款,针对Android OS系统的APK程序,直接反编译修改的工具。 APKDB集合了当今最强悍,最犀利的APK及Dex文件编译工具; 正常安装后,它直接在【鼠标右键】创建...
总的来说,反编译Android 5.0 framework的目的是为了理解和适配设备特定的修改,这对于开发者解决兼容性问题或进行深度定制非常有用。然而,这个过程涉及到的技术细节较多,需要一定的技术基础和耐心。同时,反编译...
它提供了自动数据类型检测、数据编码和解码以及序列化和反序列化的能力,是Java Mail API的核心组成部分。 2. **jsp-api.jar**: 这是JavaServer Pages (JSP) API的库文件,用于支持JSP的开发。JSP是一种动态网页...
1、反编译.apk 对.apk文件进行反编译。 2、重建.apk 根据反编译.apk得到目录重建.apk文件。 3、签名.apk 对.apk文件进行签名。 4、优化.apk 对.apk文件进行优化。 5、framework-res.apk工具 实现...
只需右键单击 APK 文件并选择以下选项,即可执行操作,反编译或编译 APK,DEX 和 JAR 文件,Zipalign APK,检查对齐,签名 APK 和安装 APK。 要求: -Windows 7 或以上 -.NET Framework 4.7.2 或更高版本 -Java 8 ...
功能特点: ======== ...3、打开一个*.jar文件,XJad将该Jar文件中的所有*.class文件解压缩到临时目录并进行反编译, 并将源文件带包路径信息保存至当前文件夹下名称为“~” + *.jar 的文件夹中;
把下载好的smali-2.0.3.jar 和baksmali-2.0.3.jar ,还有rom里面抠出来的5个jar,放到工作目录,然后apk和odex也放到一起。 2. 分解odex文件为class文件。 将smali-2.0.3.jar 和baksmali-2.0.3.jar放在d:\...
在Android应用开发中,APK文件是应用程序的打包格式,包含所有...同时,随着Android系统的不断更新,新的反编译工具和方法也会不断出现,开发者应保持对这些工具和技术的关注,以便于在需要时能够有效地进行APK分析。
这款APK反编译工具(ApkToolkit)拥有编译、反编译、签名等功能,对于经常DIY安卓软件的朋友来说,是必不可少的工具。能够支持WIN7系统,但是这款安卓apk反编译工具暂不支持WIN8系统。 APK 反编译工具 ApkToolkit ...
1、打开一个或者多个*.class文件,XJad反...3、打开一个*.jar文件,XJad将该Jar文件中的所有*.class文件解压缩到临时目录并进行反编译, 并将源文件带包路径信息保存至当前文件夹下名称为“~” + *.jar 的文件夹中;
2. **activation.jar**:这是JavaBeans Activation Framework (JAF)的一部分,主要用于处理MIME类型的对象。JAF允许Java应用程序识别和操作数据,而不管数据的类型。在Web服务中,可能需要解析或创建复杂的数据结构...
一个可以将.class文件反编译回.java的工具,java反编译工具:XJad2.2,可打开.class 电脑端用,java jar模拟器:KEmulator 功能特点: ======== 1、XJad是基于Jad核心的Java源程序反编译软件,内置Jad1.5.8e2; 2...