❶ 如何反编译xml文件
网上很多发编译apk的例子,方法也很多,我只取最简单的用。
首先说一下这个xml文件,就是.apk文件改成.zip文件后用解压缩工具解压出来的。比如
反编译这个xml用到的软甲是A2. AXMLPrinter2
第一步:把上面提到过的需要发编译的.xml文件和下载下载的AXMLPrinter2.jar这两个文件都拷贝到android-sdk-windows/tools文件夹中。
第二步:运行cmd,进入tools目录,键入
java -jar AXMLPrinter2.jar AndroidManifest.xml > main.txt
用java -jar 命令配合AXMLPrinter2.jar这文件把AndroidManifest.xml编译写入到main.txt文件中
(说明一下,我的xml是AndroidManifest.xml,如果你拷进去的不是这个,请自己改文件名)
回车后没有报错的话,就成功了
打开../android-sdk-windows/tools/目录,找到main.txt,打开看一下
❷ 如何反编译apk文件得到源码和XML文件
1.下载反编译工具
需要下载四个工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot
dex2jar:将apk中的classes.dex转化成Jar文件。
JD-GUI:反编译工具,可以直接查看Jar包的源代码。
apktool:反编译工具,通过反编译APK中XML文件,直接可以查看。
apktool-install-windows-r05-ibot:辅助windows批处理工具。
2.解压缩APK包
apk文件也是一种常见的zip,常用的压缩软件就可轻松地解压apk文件。用压缩软件将apk文件中的文件解压到一个文件夹中,得到APK中的资源包括XML文件和classes.dex文件,classes.dex就是java文件编译再通过dx工具打包而成的。
3.反编译dex文件
解压apk文件后,你会发现res目录的图片没有加密,但java源码编译成了一个classes.dex文件,无法用普通的反编译class文件的方法来处理,dex2jar可以将dex文件转换成普通的jar包。
解压下载的dex2jar,把解压后的文件夹放到系统盘跟目录中并把这个目录加到系统path变量中,就可以直接用:dex2jar.bat或dex2jar.sh转换dex文件了。
DOS行命令如下:dex2jar.bat xx\classes.dex(xx是classes.dex文件所在的路径)。
将在同目录得到普通jar包:classes_dex2jar.jar,就可以用处理普通jar包的方法来反编译这个jar包得到原文件。
4.反编译jar包
得到jar包后,下载自已喜欢的反编译工具,推荐使用JD-GUI,有比较简单的图形界面,可以反编译单个class文件,也可以反编译jar包,比较方便。
打开压缩文件JD-GUI,运行jd-gui.exe,打开上面生成的jar包,即可看到源代码了。
5.反编译xml文件
打开解压的res\layout目录,有很多xml文件,如果你想看下作者是如何设计界面的,你会很失望,因为你看到的是一大堆乱码!这个时候我们需要用到的是apktool。
具体操作方法:将下载的apktool和apktool-install-windows-r05-ibot两个包解压到同一个文件夹下,这个文件夹有三个文件:aapt.exe,apktool.bat,apktool.jar。把这个文件夹也放到系统盘的根目录中并把这个目录加到path变量中。以HelloWord.apk为例:
在DOS命令行中输入:apktool d xx\HelloWord.apk HelloWord得到HelloWord文件夹,此文件夹中的xml文件就是编译好的可以正常查看的文件。
这样就得到了可以得到编译的源码和XML资源。
注意:文件的路径中最好不要出现中文!
❸ java的反编译怎么使用,说具体点
使用SDK提供的反编译器javap.exe可以将字节码反编译为源码。
❹ 教我怎样 java反编译可以吗
反编译的工具有好多, 在众多的JAVA反编译工具中,有几种非常着名的工具使用了相同的核心引擎——JAD,其中主要包括:Front End Plus、mDeJava、Decafe Pro、Cavaj Java Decompiler、DJ Java Decompiler、NMI’s Java Class Viewer和国产的JAVA源代码反编译专家。
jad是java的反编译工具,是命令行执行,反编译出来的源文件可读性较高。可惜用起来不太方便。还好
找到eclipse下的插件,叫jadclipse,安装好之后,只要双击.class文件,就能直接看源文件,包括jar
包中的class文件,也可以直接反编译。
1.下载jad1.5.8e
下载后解压。解压缩后将jad.exe拷贝到JRE的bin目录下,如d:/Java/jre1.5/bin
2.下载net.sf.jadclipse_3.2.4.jar
3.安装插件,有如下两种方法
A.将net.sf.jadclipse_3.2.4.jar复制到D:/leaf/eclipse/plugins目录下。
B.在d:/leaf下建立ecliplsePlungin/jadclipse/eclipse/plugins目录,将net.sf.jadclipse_3.2.4.jar放到该目录。在d:/leaf/eclipse/links下建jadclipse.link,内容为path=d/://leaf//ecliplsePlungin//jadclipse
3.启动Eclipse后,在Windows(窗口)-->Perference(首选项)-->Java下面应该会多出一个JadClipse目录,相关的设置可以在此修改配置jadclipse:设置path to decompiler为jad.exe的全路径,如:d:/Java/jre1.5/bin/jad.exe,在Directory for temporary files中指定临时文件的路径,如:C:/Java/temp
4、在Eclipse的Windows-->Perference-->General->Editors->File Associations中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer”
5、安装完成,双击class文件,Eclipse将自动反编译了。
6、把*.java 和*.class文件放在同一文件夹下,在反编译时它回自动去寻找*.java的文件。
反编译工具jad简单用法
以下假设jad.exe在c:/java目录下
一、基本用法
Usage: jad [option(s)]
直接输入类文件名,且支持通配符,如下所示。
c:/java/>jad example1.class
c:/java/>jad *.class
结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源
文件。
二、Option -o
不提示,覆盖源文件
三、Option -s
c:/java/>jad -sjava example1.class
反编译结果以.java为扩展名。
四、Option -p
将反编译结果输出到屏幕
c:/java/>jad -p example1.class
将反编译结果重定向到文件
c:/java/>jad -p example1.class>example1.java
五、Option -d
指定反编译的输出文件目录
c:/java/>jad -o -dtest -sjava *.class
❺ 有没有比较完美的JAVA反编译方法
1、Java反编译插件 —— Jadclipse JadClipse是Jad的Eclipse插件,是一款非常实用而且方便地Java反编译插件,我们只需将下载的插件包复制到eclipse的plugins目录下,然后修改window -> Preferences -> Java -> JadClipse
❻ 如何反编译apk文件得到源码和XML文件
相信很多开发者都知道反编译APK,正常情况下,如果我们想要看看xml,看看java源代码,是看不了的。用压缩工具解压apk得到的文件也都是二进制文件,打开后全是乱码。
开发者能够用的也仅仅是图片资源,这往往也满足不了开发者的需求。
下面我就给大家详细讲解一下Android-apk的反编译步骤:
注意:反编译的前提是:开发者没有使用proguard(java代码混淆的工具)。
1.下载反编译工具
需要下载四个工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot
dex2jar:将apk中的classes.dex转化成Jar文件。
JD-GUI:反编译工具,可以直接查看Jar包的源代码。
apktool:反编译工具,通过反编译APK中XML文件,直接可以查看。
apktool-install-windows-r05-ibot:辅助windows批处理工具。
❼ java反编译的几种方式
第一种方式:Help——Eclipse Marketplace
安装eclipse自带的插件( Decompiler )
第二种方式:使用反编译工具(XJad2.2等)
第三种方式:在cmd中的输入javap -verbose HellloWorld.class 回车,此处的HelloWorld.class为自己创建的HelloWorld.java编译后的class文件
❽ 如何进行JAVA程序的反编译
JAVA是采用一种称做“字节编码”的程序结构,分为小程序(嵌入到HTML文件中)和应用程序(直接在命令状态下执行)两种类型。无论哪种结构,一旦用JAVAC 命令编译后,均变成后缀为CLASS的同名可执行文件。这种文件是不可阅读的代码。 经查阅了SUN公司的JDK(JDK1.1.3)文档资料后,我找到了一个据称是可反编译JAVA的JAVAP文件(EXE),这个文件位于\JDK\BIN\ 下面,经按说明使用后,感到失望,原来这个“反编译”仅可反编译出JAVA程序的数据区(定义)、若干方法和类的引用等。 这里我用了一个简单例子来说明问题。 详情见: http://java.e800.com.cn/articles/2010/1115/1289796925240_1.html
❾ java的反编译怎么做的
你做了很多了吧!很好,继续学吧!
class.forName():加载的是指定的一个类
.class文件是由JAVA虚拟机加载,解释执行的
阁下 可能把 方向搞错了。
JAVA的反射机制很强大,基本上所有的涉及到配置文件的,都有反射的影子。尤其是JAVA编程中的框架SSH,ibates等等。
这些框架因为使用了反射机制,在普通程序员眼里,就只有类和配置。这样系统很容易扩展和维护。
反射机制 也不要研究得太深,对于中国这个JAVA软件行业,还是应用维多,你应该不会想自己开发一个框架吧。