如何在PC上打开Linux .bin文件?

时间:2018-12-22 15:00:18

标签: windows bin pc

我在这个问题上发现的所有内容都是关于使用诸如C ++或Python之类的编程语言打开/读取.bin文件的。我有基本的C ++知识,对Python一无所知。

我在Windows 10 PC上的Linux计算机上有一个.bin。我想使用PC来查看该.bin文件的内容,因此我可以理解在Linux计算机上使用该文件时的作用。

当我打开.bin文件时,我得到了很多奇怪的NULL字符,显然是因为文件是1s和0s。我需要以易于阅读的方式查看.bin文件的内容。

1 个答案:

答案 0 :(得分:2)

  

如何在[Windows] PC上打开Linux .bin文件?

您没有打开它。

您可以在某些二进制编辑器(例如,十六进制文件)中检查该文件。

但是您可以在PC上安装Linux distribution(然后在Linux系统上运行该Linux可执行文件)。

您应该以其他方式找出文件类型。也许为您提供该文件的人对此有更多的了解。 .bin后缀说明不多。

如果该文件是二进制executable,则它可能没有任何.bin后缀(至少,Linux上的约定是对其不具有任何文件路径扩展名)。当然,可执行文件具有特定的operating-system格式,因此只能在它们所针对的OS上运行。在Linux系统上,可执行文件通常具有ELF格式(因此前四个字节为"magic numbers"0x7F 'E' 'L' 'F'),并且通常为dynamically linked(因此您需要一些shared library ,可能是一些libc.so(例如GNU C library)来运行它们)。在Windows上,可执行文件通常具有PE格式(并取决于某些DLL)。

如果该文件是一些二进制数据,则需要了解(否则)其遵循的file format

如果您想在Windows上运行一个Linux可执行文件,那就是一个非常不同的问题。也许您可以尝试使用WSL(或者您可以在计算机上安装一些Linux distribution)。但是,通常,您不应该信任在计算机上运行任何随机可执行文件(来自不信任的源)。提防malware

传统上,大多数Linux软件是free software。如果您的文件来自免费软件,则可以考虑获取其源代码并将其port传输到Windows(因此请在Windows计算机上进行构建)。有时,这很容易(例如,当软件使用跨系统框架,例如QtPOCOGTK等时)。有时,这可能需要花费很多年的时间(如果源代码庞大且特定于Linux)。

如果您想statically analyze一些(可能是可疑的)Linux ELF可执行文件,则在Linux上执行此操作要简单得多(使用readelf(1)objdump(1)等工具...)

  

我需要以易于阅读的方式查看.bin文件的内容。

即使在Linux上,这通常也是不可能的。它可能被称为decompilationthis的答案在更多程度上解释了为什么它实际上是不可能的)。而且,即使您获得了Windows的二进制可执行文件,也无法完全对其进行反编译:source codecompiling获得的可执行文件之间存在大量的信息(和知识)损失。该源代码。

要了解有关操作系统的更多信息,请阅读Operating Systems: Three Easy Pieces(可免费下载)。