我知道这是一个很常见的问题,这里有一个很好的话题:
但我要求的是一些不同的东西,不是绝对的保护,至少是一些防止反编译的基本保护。
我用一些.jar文件尝试过像JD和Jode这样的反编译程序,它们无法对所有的.java类进行反编译,在其中许多类中,我得到了一个错误,还有许多只是一个非常基本的代码。
他们是如何保护jar文件不受反编译器的影响?当我在jar中使用相同的反编译器时,所有的类都会使用完整的细节进行解压缩。
基本上,我的问题是,是什么导致了这些反编译程序的错误?是因为java类是加密的吗?
编辑:
我注意到Jode在一些java文件中显示了这个错误:
Exception while d
我试图分析android应用程序的内容。如果它是人类可读的文件格式,比如.java或.txt,我已经编写了需要分析的代码。我知道如何更改反编译apk以获取dex文件,以及如何将dex文件更改为jar文件,但现在,我需要能够分析jar文件以分析其.class文件,将其转换为.java文件。我试图使用jd,因为jd在解压缩jar文件方面工作得很好,但它似乎不适合我。
我有这样的代码片段,可以从解压缩jar文件。
java.util.jar.JarFile jar = new java.util.jar.JarFile(jarFile);
java.util.Enumeration enumEntr
我不是一个有经验的程序员,我对java也知之甚少。
我有一个用java1.5编译的有10年历史的小java软件。很明显,我没有源代码。这个软件有一个小bug,所以我用了一个java反编译器,找到了这个bug。解决方案很简单,但是我在重新编译这个类时遇到了困难。我正在使用java1.5.0_12重新编译。
不幸的是,编译器似乎在代码中遇到了一些错误。
it/cp/pacm/dbsync/Synchronizer.java:234: possible loss of precision
found : int
required: char
/* 287 */ c = Intege