Как открыть Linux-файл .bin на ПК? - PullRequest
0 голосов
/ 22 декабря 2018

Все, что я нахожу по этому вопросу, касается использования языков программирования, таких как C ++ или Python, для открытия / чтения файла .bin.У меня есть базовые знания C ++ и я ничего не знаю о Python.

У меня есть .bin на ПК с Windows 10 с компьютера с Linux.Я хочу использовать свой компьютер, чтобы просмотреть содержимое этого .bin-файла, чтобы понять, что он делает, когда использует компьютер Linux.

Когда я открываю файл .bin, я получаю много странных символов NULL, очевидно, потому что файл имеет значения 1 и 0.Мне нужно видеть содержимое файла .bin таким образом, чтобы он был удобочитаем.

1 Ответ

0 голосов
/ 22 декабря 2018

Как открыть Linux-файл .bin на ПК [Windows]?

Вы не открываете его.

Вы можете проверить этот файл внекоторый двоичный редактор (например, шестнадцатеричный).

Но вы можете установить дистрибутив Linux на свой ПК (затем запустить этот исполняемый файл Linux в вашей системе Linux).

Вы должны узнать, что это за файл другим способом.Возможно, тот, кто предоставил вам этот файл, знает об этом больше.Суффикс .bin мало что говорит.

Если этот файл является двоичным исполняемым файлом , он, вероятно, не будет иметь никакого суффикса .bin (по крайней мере, соглашение по Linuxэто не иметь никакого расширения пути к файлам на них).Разумеется, исполняемые файлы имеют формат для операционной системы , поэтому их можно запускать только в той ОС, для которой они предназначены.В системах Linux исполняемые файлы обычно имеют формат ELF (поэтому их первые четыре байта "магические числа" : 0x7F 'E' 'L' 'F') и часто динамически связаны (таквам нужна некоторая общая библиотека , возможно, немного libc.so, например, библиотека GNU C , чтобы их запустить).В Windows исполняемые файлы обычно имеют формат PE (и зависят от некоторых DLL s).

Если этот файл представляет собой некоторые двоичные данные, вам необходимо изучить (в противном случае) какой формат файла он придерживается.

Если вы хотите запустить исполняемый файл Linux на Windows, это совсем другой вопрос.Возможно, вы могли бы попробовать использовать WSL (или вы могли бы установить дистрибутив Linux на свой компьютер).Однако, как правило, вы не должны доверять запуску произвольного исполняемого файла (из источника, которому вы не доверяете) на вашем компьютере.Остерегайтесь вредоносных программ .

Традиционно большинство программ для Linux являются бесплатными .Если ваш файл поступает из бесплатного программного обеспечения, вы можете подумать о том, чтобы получить его исходный код и перенести в Windows (поэтому создайте его на своем компьютере с Windows).Иногда это очень просто (например, когда программное обеспечение использует межсистемную инфраструктуру, такую ​​как Qt , POCO , GTK и т. Д.).Иногда это может занять годы работы (если исходный код огромен и специфичен для Linux).

Если вы хотите статически проанализировать некоторый (возможно, подозрительный) исполняемый файл Linux ELF, это оченьпроще сделать это в Linux (используя такие инструменты, как readelf (1) , objdump (1) и т. д.)

Мне нужно увидетьсодержимое файла .bin таким образом, чтобы его можно было читать человеку.

Даже в Linux это, как правило, невозможно.Это можно назвать декомпиляцией ( этот ответ объясняет немного больше, почему это на самом деле невозможно).И даже если вы получите какой-нибудь двоичный исполняемый файл для Windows, вам не удастся полностью его декомпилировать: существует значительная потеря информации (и знаний) между исходным кодом и исполняемым файлом, полученным компилируя этот исходный код.

Чтобы узнать больше об операционных системах, прочитайте Операционные системы: Three Easy Pieces (свободно загружается).

...