0

我有一个 vmlinuz ELF 图像文件。我需要从图像文件中获取内核版本而不反汇编它。是否可以从该压缩图像文件的偏移量中获取内核版本?该文件是 ELF 64 位 MSB 可执行文件,静态链接,未剥离。

4

1 回答 1

0

如前所述,版本号被硬编码到压缩图像文件中。首先它取决于用于压缩内容的压缩算法,如何解压缩。由于压缩算法和相关工具选项的组合(不要忘记更新版本的 tar 用于更新算法),在 linux 中解压缩文件可能具有挑战性。对于文件

file extension tar.gz, tgz use e.g. $ tar -xzv -f vmlinuz.tgz
file extension tar.xz, use e.g. $ tar -xJv -f vmlinuz.tar.xz
file extension tar.bz2, use e.g. $ tar -xjv -f vmlinuz.tar.bz2

因此,如果您有权访问文件实用程序(也应该在 Windows 上运行),请运行以下命令以接收名为 vmlinuz-4.xy-za 的文件的版本字符串和附加信息。

file vmlinuz-4.x.y-z-a

逆向工程的另一种可能性是读取二进制文件 vmlinuz-4.xy-za 和 grep 的所有字符串,以获得部分可能的解决方案。

strings vmlinuz-4.x.y-z-a | grep 'linked,'
于 2020-03-31T09:13:03.593 回答