×

java反编译能拿到源码吗 反编译

java反编译能拿到源码吗(eclipse jad怎么导出反编译源码)

admin admin 发表于2024-01-21 09:16:16 浏览34 评论0

抢沙发发表评论

大家好,今天小编来为大家解答以下的问题,关于java反编译能拿到源码吗,eclipse jad怎么导出反编译源码这个很多人还不知道,现在让我们一起来看看吧!

本文目录

eclipse jad怎么导出反编译源码

Java是开源的,是免费的,我们强烈鄙视所有不公开源代码的东东。比如,对class文件进行加密混淆的类文件,一般情况下,我们是看不到其源代码的。本文将对此进行详细阐述,说明如何随心所欲的反编译看源码,体验一下其中的乐趣。(本文最后面有相关资源下载) 目前在Java开发工具中,Eclipse可谓是占据着绝对的优势,在平常使用中,大家都会有意无意的查看一下所调用JAR包的源代码,这时如果没有引入源文件的话,将会看不到结果。大象以dom4j-1.6.1.jar为例来进行说明,打开demo项目(请在dom4j分类中查找),找到com.demo.database.DataBaseConnect类,按住Ctrl键,再用鼠标点击Element,

APK反编译,修改了.java源码,现在怎么编译回去

这样做是行不通的。反编译一般是不能完全得到源Java代码的,得到的代码甚至会有语法错误,除非是简单的那些代码。要改的话就得改.class文件,但这个非常困难,要在16进制下改。或者改smali文件,这个比改.class文件要稍微简单一点,不用在16进制下修改,可直接改代码,但也是需要一定的smali语法知识的。

java为什么反编译出来的文件能够看到源码,c++的反编译出来就是机器语言呢难道java的cla

因为java是半解释半编译性语言,,先将java的代码解释成CLASS文件,然后编译给计算机中的JVM虚拟机,然后由虚拟机调用相应的计算机部件进行运算,,c++你可以看做是C的扩充版,,C有良好的机器兼容性,就是因为他可以直接编译为机器指令。执行效率相对java高,而java是跨平台移可植性强大。

是不是所有的程序都可以反编译得到原代码

Android APK中的Java代码可以被反编译到什么程度主要看APK的加密程度。第一种情况:无混淆无加密无加壳。直接利用Dex2jar和JD-GUI可把源码从APK里抠出来,代码逻辑清晰,基本上做到可复用,只是资源文件的引用需要计算一下。第二种情况:混淆。通常是利用Proguard做的防护。因为是对jar做的不可逆混淆(除非有mapping),因此不能还原成原来的代码。但是代码结构,代码逻辑一致,只要花长时间对代码进行梳理一样可找准核心代码,解密方法跟第一种一致。第三种情况:加密。这里以DexGuard为例。对于这种代码加密的方法,在程序运行中必定会进行解密,只要抽出它解密的逻辑便可。PS:我自己做过DexGuard的解密,如果用Dex2jar反编译看的话逻辑是不对的,一定要从Smali代码看。后来发现网上已经有人做了。解密的脚本:A look inside Dexguard第四种情况:加壳。这种情况跟第三种类似。无论你怎么加壳,运行的时候必定是Dalvik可识别的Odex代码,建议直接在内存里dump出来。这里推荐Xpose的ZjDroid。

有什么办法能无错的反编译jar成源码

你需要懂得一些汇编的基础。反编译出来的源码不是有错,而是根据class文件进行反汇编而成的,这里的汇编并不完全等同于8086那一类汇编,但是基本的语句是类似的。因为java不支持goto语句,而汇编中跳转语句实现了所有的循环和条件语句,所以反汇编出来的代码会报错。你必须把这些“有错的”代码读懂,把有goto的地方翻译成循环或者条件语句。你可以试试反编译一些无条件无循环的java文件,得到的源码肯定可以直接运行的。然后自己加一点循环语句,看看反编译出来的代码,做对比,多试验几次,你就能看得懂那些“有错的”代码了。目前我没有用过能够把class完全还原成java文件的反编译工具。

能利用反编译查出源码吗

可以,不过前提是看有没有混淆,或者加固,套壳,如果是软件开发的那种源码,得看开发的人有没有分享源码呢一般来说单独反编译是看到部分源码,基本上只能单独修改或者修订部分内容。

java的打包后jar包里面的class文件都能被反编译成为源码吗

jd-gui这个工具可以进行反编译的操作。 不过反编译的质量随着混淆的程度而定。特别复杂的代码(如加密算法)反编译一般都有问题。可以建议用 javap -c -p 来看字节码。然后参考jvm指令。 一般编译的文件,都可以反编译为源码,但如果是经过加密、以及代码异常复杂,是很难恢复全部的源码。

java项目可以反编译吗

  • 当然可以,百度一下有很多反编译软件,可以完全编译成源码呢

  • 可以啊 ~ 反编译可将插件装到MyEclipse里面。。 不过鉴于楼主这种情况,建议平时保持备份重要文件的习惯。。最好是脱机备份(如U盘、移动硬盘、或者使用云备份)。

如果你还想了解更多这方面的信息,记得收藏关注本站。