Java 运行 PE32 如何传递到其 class 路径?
How can Java run a PE32 when passed to its class path?
我一直想对这个客户端启动器进行逆向工程,以了解游戏是如何作为 Java 应用程序启动的,尽管它旁边只有一个 PE32 可执行文件。
客户端的启动过程如下:
java -Xmx384M -Dfile.encoding="UTF-8" -cp TargetBinary.exe com.java.client.Client
现在我很好奇 TargetBinary.exe 到底是什么,因为这是 *NIX 系统上的 运行。 运行 file 我观察到这个输出。
TargetBinary.exe: PE32 executable (GUI) Intel 80386 (stripped to external PDB), for MS Windows
第二部分是 TargetBinary.exe 之后的 com.java.client.Client,这是一个 Java 路径,客户是我的目标。
这是我的问题:
- 如何 Java 添加 TargetBinary.exe 到它的类路径?
- 作为后续,是否有任何建议可以将其反编译到我可以观察 Client 的程度,以便了解它是如何打包在一起的?
作为一个可移植的可执行文件 (PE),库、代码等都应该在 TargetBinary.exe 中并且不知何故 Java 知道如何处理它?
Zip 文件是从后面读取的,因此很容易将 zip (jar) 文件放在可执行文件的末尾,并使其同时工作。
见https://en.wikipedia.org/wiki/ZIP_(file_format)#Structure
尝试 运行ning jar -tvf TargetBinary.exe
查看 jar 中 类 和资源的名称。如果您使文件成为 IDE 中项目的依赖项,您可以看到反编译代码并在项目中导航,运行 它并设置断点。
我一直想对这个客户端启动器进行逆向工程,以了解游戏是如何作为 Java 应用程序启动的,尽管它旁边只有一个 PE32 可执行文件。
客户端的启动过程如下:
java -Xmx384M -Dfile.encoding="UTF-8" -cp TargetBinary.exe com.java.client.Client
现在我很好奇 TargetBinary.exe 到底是什么,因为这是 *NIX 系统上的 运行。 运行 file 我观察到这个输出。
TargetBinary.exe: PE32 executable (GUI) Intel 80386 (stripped to external PDB), for MS Windows
第二部分是 TargetBinary.exe 之后的 com.java.client.Client,这是一个 Java 路径,客户是我的目标。
这是我的问题:
- 如何 Java 添加 TargetBinary.exe 到它的类路径?
- 作为后续,是否有任何建议可以将其反编译到我可以观察 Client 的程度,以便了解它是如何打包在一起的?
作为一个可移植的可执行文件 (PE),库、代码等都应该在 TargetBinary.exe 中并且不知何故 Java 知道如何处理它?
Zip 文件是从后面读取的,因此很容易将 zip (jar) 文件放在可执行文件的末尾,并使其同时工作。
见https://en.wikipedia.org/wiki/ZIP_(file_format)#Structure
尝试 运行ning jar -tvf TargetBinary.exe
查看 jar 中 类 和资源的名称。如果您使文件成为 IDE 中项目的依赖项,您可以看到反编译代码并在项目中导航,运行 它并设置断点。