我收到了一个java dll文件和我下载的一个应用程序。这个DLL文件是用Java编写的,现在我想反编译它。
下面是我调用这个包含jar的dll的方法:
new JarInputStream(getClass().getResourceAsStream("jarjava.dll"));有没有反编译的方法?
发布于 2012-04-16 19:41:11
问题解决了。
下面是我是如何做到的:
读取文件:
JarInputStream input = new JarInputStream(getClass().getResourceAsStream("/myjar.dll"));为每个条目编写一个新文件:
JarEntry entry;
while ((entry = input.getNextJarEntry()) != null)
{
// Write file
}发布于 2012-04-16 17:08:12
Java源文件被编译成.class文件。据我所知,目前还没有将java代码编译成DLL的标准方法。
这里可能发生的事情:
如果不了解这个DLL的起源,您就无能为力了。尝试C反编译器,但可能不会走得太远。
发布于 2012-04-16 17:07:57
您可以自己阅读机器代码并将其翻译回C语言。这并不容易,因为将代码编译成本机代码的全部要点(可能是唯一的要点)是使其更难反编译。
https://stackoverflow.com/questions/10171295
复制相似问题