我正在检查我的 Windows 程序以确定哪些程序是用 Java 编写的,如果是,它们是否导入了受log4shell漏洞影响的 log4j 库。
打包为 JAR 文件并使用 JVM 运行的程序相当容易识别。
但是,我对.exe文件不太确定。通常这些是从 C++ 编译的,但是有一些方法可以将 Java 代码编译成.exe文件。
有没有一种方法可以识别一个是否.exe是用Java编写的?这个方法可靠吗?
我正在检查我的 Windows 程序以确定哪些程序是用 Java 编写的,如果是,它们是否导入了受log4shell漏洞影响的 log4j 库。
打包为 JAR 文件并使用 JVM 运行的程序相当容易识别。
但是,我对.exe文件不太确定。通常这些是从 C++ 编译的,但是有一些方法可以将 Java 代码编译成.exe文件。
有没有一种方法可以识别一个是否.exe是用Java编写的?这个方法可靠吗?
自从我回到任何 Java 逆向以来已经有一段时间了,但我似乎记得能够使用 7zip 来打开“Java 可执行文件”。
大多数(如果不是全部?)里面.jar都有一个META-INF文件夹,所以这通常是一个很容易识别的文件夹。
这可能很容易实现自动化。您可以编写一个尝试“提取” .exes的脚本,如果基本级别目录包含,META-INF那么它很有可能是一个打包的.jar.