|
Вопрос # 669/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Подскажите алгоритм исследования неизвестного формата файла. Он содержит только текст. Нужно получить его.
 |
Вопрос задал: Фамилия Имя Отчество (статус: Посетитель)
Вопрос отправлен: 25 июня 2007, 16:52
Состояние вопроса: открыт, ответов: 2.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, Emfs!
В общем едиственного решения нет. Например, возмём файл с текстом программы на паскале. Казалось он не упорядочен и структура слабо просматривается. Но есть формы Бэкуса-Навара, которые чётко всё описывают.
Конкретизируйте вопрос.
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 25 июня 2007, 17:05
|
Ответ #2. Отвечает эксперт: min@y™
Короче, так...
Насколько я понял, программа Cross+A является средством "для решения кроссвордов, сканвордов, криптарифмов, судоку и японских кроссвордов (черно-белых и многоцветных нонограмм), а также для поиска анаграмм, словосочетаний, цепочек слов и метаграмм."
Я изучил 2 твоих файла *.dic. Это базы данных словарей программы. У них есть общая сигнатура - 1-е 8 байт FA 0F A0 FE DF EA F0 2F. Размеры исходного и файла и базы, естественно, не совпадают. Начало/конец полезных данных в файле я не нашёл. В конце, также, может быть некая контрольная сумма, не исключено.
Дальше ничего о кодировании данных сказать не могу, но могу предположить, что авторы программы придумали свой неплохой алгоритм шифрования и/или сжатия данных. Сама программа и дополнительные базы словарей являются платными. Я думаю, что авторы не хотят, чтобы люди пользовались данными из словарей нахаляву, т.е. в обход использования программы.
Что тут ещё можно добавить... В принципе, нет ничего невозможного. Алгоритм преобразования данных из базы в нормальное текстовое представление можно тупо подглядеть из-под дебаггера (например, OllyDbg). Для этого нужна сама программа Cross+A и неплохое знание ассемблера.
З.Ы. Гугление ничего не дало, кроме сайта программы. :(
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 27 июня 2007, 08:57
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 11; последнее сообщение — 14 декабря 2007, 08:32; участников в обсуждении: 3.
|
Фамилия Имя Отчество (статус: Посетитель), 26 июня 2007, 05:15 [#1]:
По-другому. Авторы программ-ищеек добавляют разные форматы, при сканировании которых программа "выдергивает" из них текст и т.д.
Но кроме известных форматов они реализовывают и нераспространенные. Они же получают/выясняют структуру хранения данных в них. Вот как это они делают хотел узнать.
Или для этого нужен очень большой опыт.
Я как-то написал себе маленькую программу-конвертер из файлов-pbm в epd, pgn и т.д. (про шахматы), а вот с другим (dic - словарь программы Cross+A) не получается. Использовал hex-редактор.
М.б. здесь посмотрите/подскажете решение?
В общем, хочу просто вытащить из словаря весь текст.
|
|
min@y™ (статус: Доктор наук), 26 июня 2007, 08:19 [#2]:
Файл словаря в студию! Посмотрим, что за зверь.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Фамилия Имя Отчество (статус: Посетитель), 26 июня 2007, 08:44 [#3]:
http://anton.vo.uz/load/1-1-0-3
Файл словаря. Содержит три слова:
Первоеслово
Второеслово
Третьеслово
Соответственно с описаниями:
Описание первого слова.
Описание второго слова.
Описание третьего слова.
|
|
min@y™ (статус: Доктор наук), 26 июня 2007, 09:50 [#5]:
Скачал файл. Он знаимает 133 байта. Текста в открытом виде там нет, видать зашифрован. Если это конечно тот файл, который надо. Какая программа формирует этот файл из исходного текста? Если фозможно, сформируй и выложи файл из текста, включающего в себя все символы от #32 до #255, строго по порядку. Это может помочь в восстановлении алгоритма шифрования.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Фамилия Имя Отчество (статус: Посетитель), 26 июня 2007, 12:07 [#6]:
http://anton.vo.uz/_ld/0/4_AllSmbls.dic
В этом файле слово "ВСЕБУКВЫ" содежит описания с символами от #32 до #255
#32 до #255:
ВСЕБУКВЫ
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡?‰Љ‹ЊЌЋЏђ‘’“”•–—™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя
|
|
Фамилия Имя Отчество (статус: Посетитель), 26 июня 2007, 12:29 [#7]:
Описание начинается с пробела, заканчивается буквой "я".
|
|
Фамилия Имя Отчество (статус: Посетитель), 27 июня 2007, 13:38 [#8]:
Мы совместно приобретали эту программу, так что она у меня зарегистрирована.
Понятно, что авторы не хотят. Но, как оказалось, я теперь не хочу пользоваться их программой! Мне нужен словарь, который я собрал с помощью неё в свое время (очень большой!). А вот теперь, когда я использую другую, более удобную, хочу все данные перенести туда, а в Cross+A нет экспорта. Вот почему появился этот вопрос.
А ассемблер я не знаю...
|
|
LexIMoSoft (статус: Посетитель), 13 декабря 2007, 23:39 [#9]:
Я Илья Морозов, один из авторов программы "Cross+A". Был неприятно удивлен, обнаружив эту тему на сайте. Мы защищаем данные от копирования не потому, что мы какие-то злодеи; работа над базой слов началась еще в 90-е годы прошлого века, мы "перелопатили" сотни справочников, словарей, энциклопедий. Нам будет очень жаль, если кто-то украдет нашу базу слов и выложит ее в сеть, "прикрутив" примитивную программу-поисковик (однажды уже такое произошло; после этого происшествия мы и усложнили способ кодирования данных).
Уважаемый Emfs, почему Вы не обратились за помощью к нам, авторам программного продукта? Если речь идет о ВАШЕЙ базе слов - присылайте, переконвертируем ее в текстовый файл. Но у меня есть подозрение, что "Ваша" база слов - это, по большей части, наша база слов, с некоторыми добавлениями...
Господа эксперты! Пожалуйста, не "ломайте" наш программный продукт! Я, например, нищий бюджетник из Иванова, работаю в ВУЗе - не лишайте меня источника дохода!
|
|
min@y™ (статус: Доктор наук), 14 декабря 2007, 08:32 [#11]:
Цитата:
Пожалуйста, не "ломайте" наш программный продукт! Я, например, нищий бюджетник из Иванова, работаю в ВУЗе - не лишайте меня источника дохода!
Знания должны быть общедоступными и бесплатными!
Цитата:
усложнили способ кодирования данных
Кому надо - всё равно поломают. Какой смысл? Что толку усложнять, если всё видно в отладчике?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|