Войти

Показать полную графическую версию : [решено] Старая программа и ее работа с файлами


cyber01
10-03-2014, 18:37
Конечно тему назвал непонятно, но суть в следующем: есть некая программа, написанная где-то в начале 90х, скорее всего на TurboC и есть задание,написать аналог этой проги на современный лад. Написать не проблема, но вот разобраться как оно работает - тяжело. Программа при запуске читает содержимое файлов и запускает соответствующий тест (программа-тест). Пытался разобраться с файлами - текст в файлах в непонятной кодировке, пытался перекодировать во все известные мне кодировки - абракадабра...

Собственно сам вопрос, что это может быть за кодировка?
Сам файл тут: http://yadi.sk/d/IbHAzb1dKG4J5

Помогите пожалуйста, заранее спасибо

Iska
10-03-2014, 19:46
Собственно сам вопрос, что это может быть за кодировка?
Сам файл тут: http://yadi.sk/d/IbHAzb1dKG4J5 »
Судя по всему — ни в какой. Файл, скорее всего, текстовый. Но внутренности либо зашифрованы, либо как-то закодированы.

cyber01
10-03-2014, 22:08
блин, если кодирован - это плохо... тогда другой вопрос.. есть ли возможность как-либо декомпилить ее?
Вот сама прога, если что http://yadi.sk/d/vd76CTe6KGybf

mwz
11-03-2014, 00:03
Но внутренности либо зашифрованы, либо как-то закодированы »

cyber01
При том, что переносы строк (шестнадцатеричные группы 0D 0A) присутствуют ну очень явно и "разумно" -- т.е. можно практически достоверно утверждать, что файл действительно текстовый (возможно что с шифрацией строк).

Можно, конечно, попробовать сделать частотный анализ остальных встречающихся символов: возможно что тут простой код Цезаря, который раскрывается на компьютере за мгновения (и даже при раскрытии вручную основное время в этом случае уходит на подсчёт частоты вхождения символов).

PS
Посмотрев чуть позже лишь на имя программы по второй ссылке: вы никогда не интересовались, что такое Enigma? Не та, что музыкальная группа?
В таком случае тут не код Цезаря...

cyber01
11-03-2014, 00:05
кстати тоже на это внимание обратил, да оно видно даже визуально,что строки структурированы, но вот как увидеть оригинальный текст..

P.S. можно подробнее о том,что вы написали во второй части сообщения?


P.P.S. возможно название - лишь название, сомневаюсь, что имеет связь с той самой энигмой

Iska
11-03-2014, 00:40
При том, что переносы строк (шестнадцатеричные группы 0D 0A) присутствуют ну очень явно и "разумно" -- т.е. можно практически достоверно утверждать, что файл действительно текстовый (возможно что с шифрацией строк). »
Я и ориентировался в своём утверждении на факте равномерно-регулярного наличия CrLf в файле.

Можно, конечно, попробовать сделать частотный анализ остальных встречающихся символов: возможно что тут простой код Цезаря, »
Что-то сомнительно:
13 723
10 723
85 284
49 253
179 247
182 238
30 213

Первый столбец — код символа (в ANSI представлении), второй — частота. Явно видны нешифрованные Cr и Lf по 723 упоминания, а вот дальше резкое, более чем вдвое, падение частоты. Возникает вопрос — где же там «пробел»?!

mwz
11-03-2014, 15:58
Что-то сомнительно: »

Ну я в PS это сомнение уже отразил (собственно, для меня к тому моменту уже стало не сомнением, а уверенностью, что не он). И достаточно небольшой разброс частотности символов (ну кроме первых двух -- но о них уже сказано что это особь статья; спасибо за анализ -- лень было реализовывать самому) говорит о том, что применён профессиональный алгоритм шифрации (не знаю, насколько сложный -- но профессиональный).

возможно название - лишь название »

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

cyber01
11-03-2014, 16:18
Спасибо за помощь ребят, пойду методом тыка делать :) Других вариантов пока не вижу

Гуллипут
29-03-2014, 21:46
У меня есть подозрение, что здесь каждая строка шифруется методом какого-либо преобразования с использованием строки, содержащейся в файле PASSWORD. Самое простое предположение, которое я бы проверил в первую очередь: побитовая операция XOR. Я в своё время так раскодировал пароли, которые Винда 98 сохраняла в реестре для "шар" данной машины: именно таким способом они оказались закодированы. Если у меня будет время, я эту идею проверю. Но если проверит кто-нибудь другой - не обижусь.

XOR проверил - не подходит. Вероятно, преобразование какое-то другое. Надо думать.




© OSzone.net 2001-2012