Что точно вызывает двоичный файл “мусор”?

Может быть, вы можете попробовать с массивом ввода, например:

...

Pro Совет: Читайте о multiple на MDN

15
задан Brian Tompsett - 汤莱恩 23 October 2015 в 18:18
поделиться

7 ответов

  • Двоичные значения файла пытающийся быть преобразованными в ASCII?

Да, это точно, что происходит. Как правило, двоичные значения файла также включают управляющие символы ASCII, которые не являются печатаемыми, приводя к еще более причудливому дисплею в типичном текстовом редакторе.

  • Действительно ли возможно преобразовать представление, чтобы отобразить необработанные двоичные значения, т.е. показать 1 с и 0s, которые составляют файл?

Это зависит от Вашего редактора. То, что Вы хотите, является "Hex-редактором", а не редактором обычного текста. Это покажет Вам необработанное содержание файла (обычно в шестнадцатеричном, а не двоичном, так как нули и подняли бы много пространства и были бы более тверды читать).

  • Наконец, существует ли способ определить, какая программа правильно откроет файл данных?

Существует программа командной строки Linux, названная "файлом", который попытается проанализировать файл (обычно ищущий общие шаблоны заголовка) и сказать Вам, какой файл это (например, текст, или аудио, или видео или XML, и т.д.). Я не уверен, существует ли эквивалентная программа для Windows. Конечно, вывод этой программы является просто предположением, но может быть очень полезно, когда Вы не знаете, каков формат файла.

16
ответ дан 1 December 2019 в 02:47
поделиться

Дисплей выглядит интересным, потому что двоичный файл может содержать непечатаемые символы. Это до программы отображения для замены таких символов чем-то еще.

Это может быть предотвращено при помощи Hex-редактора. Такая программа отображает каждый байт из файла как его шестнадцатеричное значение. Это делает для хорошего табличного представления файла, но для среднего человека не легко дешифровать это представление, потому что мы не используемся для рассмотрения данных тот путь.

Существует несколько способов узнать, какой программе файл мог бы принадлежать. Можно посмотреть в начале файла и с некоторым знанием, Вы могли бы распознать тип файла. Существуют некоторые типы, которые начинаются с тех же символов (RAR, GIF и т.д.). Для других типов это не могло бы быть столь же легко.

В Linux можно использовать команду "файла", чтобы помочь Вам определить тип файла. Существуют, вероятно, программы для Windows, который сделает то же.

2
ответ дан 1 December 2019 в 02:47
поделиться

Причина, которая - файлы, которые являются двоичным отображением как мусором при просмотре в стандартных текстовых редакторах, таких как блокнот то, потому что при отображении с кодировкой, наиболее часто используемой этими типами приложений (например, ASCII UTF-8) данные отображаются на символах, когда это кодируется для дисплея, вывода этого процесса обычно, имеет такой же небольшой смысл людям как отображаемые двоичные данные, следовательно мусор, который Вы видите

Так же ранее упомянутый эти файлы имеют больше смысла при просмотре по-другому такой как с шестнадцатеричным edutor.

Определенные типы файлов могут быть распознаны данными, существующими во всех файлах данного типа, например, все исполняемые файлы (*.exe) начинаются с букв MZ

2
ответ дан 1 December 2019 в 02:47
поделиться

Двоичный файл появляется как мусор, потому что данные в нем разработаны для машины для чтения а не для людей. К сожалению, некоторые из нас привыкают к интерпретации мусора - хотя с несколько специализированными инструментами, чтобы помочь видеть данные лучше - но большинство людей не должно должно быть знать.

Каждый байт в файле рассматривают как символ в текущем кодовом наборе (вероятно, CP1252 в Windows). Значение байта 65, например; можно найти иллюстративные примеры легко в сети. Так, байты, которые составляют двоичные данные, отображены согласно кодовому набору - настолько лучше всего, как текстовый редактор может. Это не пытается преобразовать двоичный файл - это не знает, как (только исходная программа делает).

Относительно того, как обнаружить, какая программа создала файл - Вы можете делать это иногда, но не легко и надежно. На Unix (или с Cygwin в Windows) программа 'файла' может помогать. Эта программа смотрит на первые несколько байтов, чтобы попытаться предположить программу.

Зашифрованные данные, как предполагается, похожи на мусор. Если это не похоже на мусор, то это, вероятно, очень хорошо не шифруется.

5
ответ дан 1 December 2019 в 02:47
поделиться

Двоичные данные часто очень случайны. Зашифрованные данные, в частности, по определению. Каждый байт может быть представлен одним из 256 символов (упускающий Unicode из уравнения). ASCII только покрывает 128 из них, и только 94 из них являются фактическими печатаемыми символами. Вне диапазона ASCII у Вас есть много международных символов и странных символов. Существует, конечно, больше чем 128 из них, таким образом, нужно указать кодовую страницу для выбора определенного набора символов.

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

Вы могли всегда открывать файл (двоичный или текстовый файл, действительно нет никакого различия) в Hex-редакторе, и посмотрите на необработанные двоичные данные.

Нет никакого способа сказать, какая программа создала определенный файл. В частности, если программа зашифровала свои данные, вся надежда потеряна. Иначе часто легко распознать определенные "подписи".

1
ответ дан 1 December 2019 в 02:47
поделиться

Да, Wordpad и Блокнот и много других текстовых редакторов предполагают, что любой файл, который Вы открываете с ним, является текстовым файлом и попытается отобразить символы ASCII, представленные байтами в файле.

Hex-редакторы сделаны просмотреть и отредактировать двоичные файлы. Они обычно отображают каждый байт как пару шестнадцатеричных цифр вместо "1 с и 0s", потому что легче считать тот путь.

0
ответ дан 1 December 2019 в 02:47
поделиться

Текстовый редактор делает очень немного предположений о данных, входя в него помимо вещей как кодировки символов. Таким образом это будет (как Вы говорите), считывает данные файла как ASCII и отображают его тот путь. Начиная с двоичных данных не всегда находится в пределах алфавитно-цифрового диапазона, Вы получаете мусор. Что касается показа необработанных двоичных значений, Вам нужен Hex-редактор как XVI32.

Двоичные файлы часто не имеют никакого контекста за пределами программы, которая использует их. Некоторые двоичные форматы содержат 4-байтовую волшебную последовательность вначале (например, Java .class файлы запускаются с "КАФЕ"), но распознать их без их программы, Вам нужно отображение тех 4-байтовых последовательностей. Я полагаю, что некоторые дистрибутивы Linux содержат эту информацию для большого разнообразия двоичных форматов и исследуют начало файла попытаться определить его. Кроме этого, нет очень, можно сделать.

0
ответ дан 1 December 2019 в 02:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: