Извлечение сериализованных данных из неизвестных файлов

#windows #serialization #encryption #file-extension

#Windows #сериализация #шифрование #расширение файла

Вопрос:

Мои дорогие stackoverflowers,

Я хочу получить доступ к сериализованным данным, содержащимся в файлах со странными для меня расширениями. Основная часть данных, похоже, находится в файлах .st и .idt.

Программа предназначена для запуска в Windows, и команда unix file дает мне только ложные срабатывания. Есть идеи о том, что означают эти расширения, или о том, как исследовать и извлекать их содержимое?

Ниже я предоставляю полный список расширений в длинном списке в надежде, что кто-нибудь их узнает. Поиск в Google также дает мне ложные срабатывания. Например: .st обычно используется для файлов эмуляции ATARI.

Заранее спасибо!

  • .cix
  • .cmp
  • .cnt
  • .dam
  • .das
  • .drf
  • .idt
  • .irc
  • .lxp
  • .mp
  • .mbr
  • .str
  • .vlf
  • .rpf
  • .st
  • .st

Комментарии:

1. Дополнительная информация о том, откуда взялись эти файлы, поможет.

2. .idt может быть экспортированной таблицей базы данных установщика Windows. Будет ли это иметь смысл? Я проверил многие из них здесь ( file-extensions.org/search/?searchstring=idtamp;searchtype=2 ), после тестирования сайта с несколькими расширениями файлов я уже заранее знал тип.

Ответ №1:

Несколько общих советов о том, как подойти к этому:

  1. Один из способов приблизиться к этому — использовать сайт, подобный http://filext.com / чтобы попытаться выяснить, откуда взялись файлы. Это может быть непросто, потому что нигде не существует стандарта расширения файла — любой может использовать любое расширение, поэтому у вас будет много проблем с конфликтами / устранением неоднозначности.
  2. Иногда вам может повезти, и если вы откроете файлы в обычном текстовом редакторе, вы можете иногда видеть простые строковые данные, которые можно прочитать, что может помочь определить общий вид данных, содержащихся в файле, и, следовательно, сократить возможное количество источников для файла. Например, я часто помогал людям, которые получали файл в виде вложения электронной почты без расширения, выяснить, какой это был тип файла, используя эту технику, добавив расширение файла, а затем открыв его в соответствующей программе.
  3. Существуют также такие сайты, как http://www.oldversion.com / которые хранят старые версии программ, которые вы (как правило) можете скачать бесплатно. Это особенно полезно, если данные, с которыми вы работаете, были созданы более 5 лет назад в собственной программе, и эта программа больше не доступна / не может быть приобретена у создавшего ее поставщика.
  4. Как только у вас появится хорошее представление о том, какие файлы принадлежат каким программам, вы, вероятно, потратите много времени, пытаясь найти онлайн-ресурсы о структуре файлов. Если это недоступно, вы можете получить копию исходной программы, но либо программа не откроет интересующие вас файлы, либо вам все еще нужен необработанный доступ к данным, затем попробуйте сгенерировать несколько примеров выходных файлов с введенными вами данными и перейдите к ним в Rosetta Stone, сравниваяваш известный файл в исходный файл.
  5. Оттуда дополнительные знания, которые вам, вероятно, понадобятся, — это попытаться выяснить, на каком языке / компиляторе было написано программное обеспечение, что может дать вам представление о том, какие библиотеки кода использовались для сериализации данных в первую очередь. Как только вы все это узнаете, вам нужно прочитать любую доступную документацию по процессу сериализации, а затем написать десериализатор.

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

В зависимости от того, о каком количестве различных частей исходного программного обеспечения вы говорите, звучит как довольно большой проект. Удачи!