Расскажите о своём самом увлекательном опыте программной археологии
Публичный пост
23 сентября 2020
456
Когда я работал в НИИ, мне несколько раз приходилось разбираться в очень старых исходниках и пару раз даже в них что-то править и переносить с DOS на Windows. Но в целом это было довольно скучно. Реверс-инжиниринг старых игр для SNES и рядом не стоял, да.
Но, может, у вас есть интересные истории на эту тему? А может, и в настоящее время есть такая задача? Я бы с удовольствием в подобную авантюру вписался бы. Наверное =]
На заре карьеры (2010-2011 год) была задача модернизации расчётного отдела управления железной дороги Узбекистана (жил я в Ташкенте до недавнего времени).
Мы тогда столкнулись с интересной проблемой их бухгалтерия работает на советских компах 70-х в лучшем случае 80-х. Информация хранилась на лентах да алюминиевых (вроде из него) дисках.
Находилось это в так называемом машинном зале где бла комната 8 на 15, а может и больше. До сих пор помню здоровенную железяку высотой метра 2, шириной 1.5 и длинной 3-4. Когда я спросил что это, из объяснения я понял что это ИБП. А когда спросил почему он отключён сказали что на него нужно дохера фриона.
Ну дык вот. Работает это всё на каких-то советских разработках от и до без какой-либо документации. Да и времени вникать в 30-40 летнюю техниук времени не было.
Оператор этого хозяйства в принципах работы знают чуть больше чем ничего. Они лишь вбивают нужные команды и знают какие-то обслуживающие операции.
Протоколы, устройства несовместима ни с чем из используемого в 21-м веке, а из этой системы надо как-то выцепить архивы данных, минимум за последние 15 лет.
Бухгалтера и руководство взаимодействовало с данными через напечатанные на бумаге отчёты. Печаталось это всё на здоровом, 1.5 метровом принтере (очень громком). И именно через него был найден подход к этому всему.
Было сделано устроство где с одной сторон был порт подключения к принтеру, в друго LPT-порт. Для этого так же потребовалось найти 2-ой пентиум и поставить на него 98-ую венду. Так же была написана программа на C которая считывала выводимые данные на принтер и эти данные сливала в текстовый файл.
Перед запуском этого хозяйства в кишках принтера (да нужно было добираться до его электроники) отключались пины которые заставляли его собственно печатать и ставились так чтобы поток печати лился на нужный нам порт.
Операторы запускали печать всех транзакций за год, и это всё соответственно лилось в текстовый файл.
Дальше задача сводилась к парсингу этого файла.
Когда я пришел в Вастрик.Бар...