Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2011, 17:07   #1
WildTaburet
Пользователь
 
Регистрация: 14.09.2011
Сообщений: 11
По умолчанию Расшифровка bin-файлов

Здравствуйте!
Не знал, где создавать тему, поэтому решил создать в этом разделе (все-таки я студент )

Возник вопрос, как расшифровать (хотя бы частично) файл .bin ?

Понятно, что Hex-редактор выдает примерно следующее:
00 73 81 F5 EF.... sхyЄЃп%Рє:ыЈ/
В некоторых случаях, цифра слева - совпадает с ASCII кодом символа справа, но как быть в случае например с F5 и EF?

Правильно ли я рассуждаю или таким способом расшифровывать бессмысленно?

В общем, интересно: существуют ли какие-нибудь способы расшифровки всех этих записей с целью докопаться до содержимого и как-либо его редактировать?
Где это можно почитать или хотя бы посмотреть примеры?

Заранее спасибо!
WildTaburet вне форума Ответить с цитированием
Старый 27.10.2011, 17:17   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Что значит - "расшифровать"?

Файл - это последовательность нулей и единиц (битов), записанная на некотором носителе. В приведённом случае она начинается с
Код:
0000000001110011100000011111010111101111...
Традиционно, такую последовательность представляют в виде байтов, групп бит по 8:
Код:
00000000 01110011 10000001 11110101 11101111 ...
Вместе с тем, если в файле сохраняли неизвестно что, то это разбиение может не иметь никакого отношения к реальности.
Как бы то ни было, байт можно понимать как двоичную запись некоторого числа, от 0 до 255:
Код:
0 115 129 245 219 ...
Это десятичная запись (в системе счисления с основанием 10). А в шестнадцатеричной это будет:
Код:
00 73 81 F5 EF ...
Так что предполагается расшифровывать?
Abstraction вне форума Ответить с цитированием
Старый 27.10.2011, 23:50   #3
WildTaburet
Пользователь
 
Регистрация: 14.09.2011
Сообщений: 11
По умолчанию

Цитата:
Вместе с тем, если в файле сохраняли неизвестно что, то это разбиение может не иметь никакого отношения к реальности.
Так вот, меня и интересует, можно ли как-то узнать, как устроен конкретный файл - какие группы цифр обозначают одно, какие другое и что будет при изменении тех или иных цифр.
WildTaburet вне форума Ответить с цитированием
Старый 28.10.2011, 00:04   #4
_Ч_
Форумчанин
 
Регистрация: 07.01.2010
Сообщений: 141
По умолчанию

Вам нужно сперва узнать формат/структуру файла, искать описание формата/структуры конкретно вашего файла. Нужно знать какой прогой этот файл создался. Попытаться разгадать что, где и как хранится в файле - занятие для очень упорных ребят.

Последний раз редактировалось _Ч_; 28.10.2011 в 00:07.
_Ч_ вне форума Ответить с цитированием
Старый 28.10.2011, 00:11   #5
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Сообщение от WildTaburet Посмотреть сообщение
Так вот, меня и интересует, можно ли как-то узнать, как устроен конкретный файл - какие группы цифр обозначают одно, какие другое и что будет при изменении тех или иных цифр.
В общем случае никак. Более того, файл сам по себе не обозначает вообще ничего - смысл в записанной информации может проявиться только если её кто-то читает.
К примеру, возьмём BMP-файл. Его можно открыть с помощью Windows Painter - на экране появится картинка; изменение информации в середине файла будет менять цвета отдельных точек в картинке.
Его же можно открыть с помощью Notepad - появится нечитабельный текст, начинающийся с букв BM; изменение любых бит приведёт к изменению отдельных символов в этом тексте.
Его же можно открыть с помощью WinRAR - получим ошибку программы при открытии и сообщение о неверном формате файла. Случайные изменения информации в файле скорее всего не изменят этого результата.

Есть распространённые файловые форматы. Можно предположить, что файл принадлежит одному из таких форматов, если его расширение (.bmp) согласовано или с общим видом, или с первыми байтами файла (к примеру, формат BitMap требует, чтобы файл начинался с пары символов BM). В рамках этого предположения отдельные байты файла обретают тот или иной смысл (Bitmap разделяется на заголовок, палитру и основное изображение).

Расширение .bin обычно означает, что это некоторый специфичный для данной программы файл бинарных данных, хотя существуют описанные файловые форматы, подразумевающие это расширение (к примеру, можно заглянуть на filext.com). То есть, скорее всего, знание о том, что означают какие биты в этом файле, скрыто в использующей его программе и может быть или извлечено из её автора, или из самой программы (с помощью дизассемблера и/или декомпилятора, способ не рекомендуется), или же обнаружено методом научно-математического тыка.
Abstraction вне форума Ответить с цитированием
Старый 28.10.2011, 01:13   #6
WildTaburet
Пользователь
 
Регистрация: 14.09.2011
Сообщений: 11
По умолчанию

Abstraction, _Ч_, спасибо за информацию и помощь!
WildTaburet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ASCII to BIN и обратно DiZbot Общие вопросы C/C++ 3 29.05.2011 21:24
'C:\Program Files\Borland\Delphi\Bin\delphi32.$ $$' to 'C:\Program Files\Borland\Delphi\Bin\delphi32.d ro' tonatas Общие вопросы Delphi 2 21.09.2010 08:26
Файл Bin Syltan Свободное общение 15 20.05.2010 17:48
Перевод BIN -> HEX Piar Помощь студентам 2 20.05.2009 15:44