我收到了一个带有我下载的应用的java dll文件。 这个DLL文件是用Java编写的,现在我想反编译它。
以下是我如何调用包含jar的dll:
new JarInputStream(getClass().getResourceAsStream("jarjava.dll"));
有没有办法对它进行反编译?
答案 0 :(得分:1)
Java源文件被编译为.class文件。据我所知,没有标准的方法可以将Java代码编译为DLL。
这里可能发生了什么:
在不知道这个DLL的来源的情况下,你无能为力。尝试一个C反编译器,但可能不会走得太远。
答案 1 :(得分:0)
您可以自己阅读机器代码并将其转换回C.这很简单,因为将代码编译为本机的整个要点(可能只是一点)就是让反编译变得更难。
答案 2 :(得分:0)
问题解决了。
这是我如何做到的:
阅读文件:
JarInputStream input = new JarInputStream(getClass().getResourceAsStream("/myjar.dll"));
为每个条目写一个新文件:
JarEntry entry;
while ((entry = input.getNextJarEntry()) != null)
{
// Write file
}