
正文
java代码和反编译 java反编译jar包
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何反编译Apk得到Java源代码
1、下载反编译工具 需要下载四个工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot dex2jar:将apk中的classes.dex转化成Jar文件。JD-GUI:反编译工具,可以直接查看Jar包的源代码。
2、将 apk 解压,在解压后的文件夹中可以找到 classes.dex 文件。
3、反编译Apk得到Java源代码 首先要下载两个工具:dex2jar和JD-GUI 前者dex2jar是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。
4、找到apk中的class.dex:把apk文件改名为.zip,然后解压缩其中的class.dex文件,它就是java文件编译再通过dx工具打包成的。
5、先使用dex2jar工具将classes.dex转为jar,再使用jd-gui打开该jar查看java源代码。
6、Win+R 运行CMD,用cd命令转到apktool-install-windows所在文件夹,输入命令:apktool d XXX.apk ABC 反编译XXX.apk到文件夹ABC 在解压后的文件夹中可以得到apk的xml配置文件。
相关问答
Q1: 如何将java中的.class文件反编译
1、JD-GUI JD-GUI 是显示java 源代码 *.class文件的 图形界面工具。可以在这里下载:JD-GUI-DownLoad 下载下来后,打开该工具,直接将jar包 拖拽到 显示窗口即可查看源代码。
2、可以用 Java decompiler,可以把.class文件反编译为.java源码。
3、c:/java/jad exampleclass c:/java/jad *.class 结果是将exampleclass反编译为examplejad。将examplejad改为examplejava即得源 文件。
Q2: 防止JAVA代码被反编译的方法
无法防止。.class文件的标准是公开的,无法防止别人反编译你的代码。你顶多可以用代码扰乱工具扰乱你的代码,这样反编译的代码就难以阅读。比如可以试试用proguard来扰乱(“加密”)和反扰乱(“解密”)你的代码。
java本就是开源的,你加密感觉怪怪的。想防止反编译,最简单的方法就是你可以向Jar注入无效代码。比如建一个类,建一个没有意义的方法private class Invalid{ },然后输出为jar。
很久前做过一个项目,用很复杂的算法加密 class文件,然后在虚拟机载入前调用解密程序。用的是 jvmti。这样可以防止class loader被反编译导致加解密算法泄漏,应该算比较好的一种解决方案了。
Q3: java反编译代码求大神复原
1、反编译一般是不能完全得到源Java代码的,得到的代码甚至会有语法错误,除非是简单的那些代码。要改的话就得改.class文件,但这个非常困难,要在16进制下改。
2、你重新建一个工程啊,把你反编译的源码放进去,然后再编译打包就可以了啊。如果你没有eclipse 的话,那你就用命令编译打包。
3、既然是开源软件你为何要反编译呢?直接找源码不更好。。而且jd-gui的出发点就是反编译class文件供研究学习用途的,让你还原成一个工程还得了的。。
Q4: 如何有效的防止Java程序被反编译和破解
1、无法防止。.class文件的标准是公开的,无法防止别人反编译你的代码。你顶多可以用代码扰乱工具扰乱你的代码,这样反编译的代码就难以阅读。比如可以试试用proguard来扰乱(“加密”)和反扰乱(“解密”)你的代码。
2、java本就是开源的,你加密感觉怪怪的。想防止反编译,最简单的方法就是你可以向Jar注入无效代码。比如建一个类,建一个没有意义的方法private class Invalid{ },然后输出为jar。
3、和19都是常量池中的有效索引,值就是右边中的值,再往下跟踪我就不多说了,有兴趣的朋友可以去JAVA虚拟机规范。这里我简单介绍一下parseImage(Ljava/lang/String;)[S 的意思。
Q5: 谈谈JAVA的反编译
通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程。尤其是像.NET、Java这样的运行在虚拟机上的编程语言,更容易进行反编译得到源代码。
class.forName():加载的是指定的一个类 .class文件是由JAVA虚拟机加载,解释执行的 阁下 可能把 方向搞错了。JAVA的反射机制很强大,基本上所有的涉及到配置文件的,都有反射的影子。
编译 = 源代码.java 变成字节码 .class 反编译 = 字节码 .class 变成 源代码.java === 去书店看书。SCJP的书是一定要看的。因为他太基础了。不要指望一次看懂。
这种事你不用操心,操心多了也没用。(.net的用工具也能反编译出来)作为个人你写出来的代码能有多大价值?而java开源项目的东西都已经很多了。保护代码,一种是混淆器,其实也就那回事,阅读性差了。
反编译得出的代码,是JAVA文件在生成CLASS文件时,做过优化的代码。所以跟你的原文件不一样(比如:注释全没有,中文全变成Unicode码,字符串连接全部用StringBuffer类来代替,自动增加else语句等等)。
关于java代码和反编译和java反编译jar包的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







