是否有可能对Java应用程序进行反编译并使用反编译代码进行调试?
我更感兴趣的是使用反编译代码进行调试的能力,而不是反编译本身(这很琐碎)。
发布于 2013-10-03 09:01:30
正如许多其他人已经指出的那样,这确实是可能的。
如果您只想通过直接运行解压缩JAR并调试反编译类(即使用它们作为源),那么有大量的反编译程序可以很好地为您服务。
如果您计划调试应用程序中使用的JAR,请在选择反编译器时注意适当的源代码行号对齐功能。举个例子,看看这个问题。您可能会得到这样的反编译代码:
Line X /* Line Y */ int x = y
Line Y (anything can be here, it could even not exist)
对于X和Y的值完全不同,这意味着反编译的.java文件中的X行对应于编译代码的Y行。调试jar时,必须在源文件的Y行处放置断点才能停止。这可能会很烦人的调试。对于行号,有反编译器对齐源文件中的反编译代码。
Line X /* Line X */ int x = y
我在Eclipse上成功地使用了重组。相信我,用源代码对齐来调试反编译代码确实有很大的不同。
发布于 2013-10-03 08:57:37
是的,在互联网上有可供使用的java反编译程序,无论是付费还是无偿。我目前正在使用一个名为'DJ反编译‘的版本,它提供了一个免费的试用版本,只需谷歌一下就可以了。
您可以希望您试图解压缩的jar并使类文件具有一定的意义,而不是模糊化。
发布于 2013-10-03 08:58:05
是的,点击可以免费下载java反编译程序。
其他链接link1 link2
https://stackoverflow.com/questions/19154893
复制相似问题