Ассемблер, hiew32 и бытовуха
- 18.09.14, 21:52
Вот что значит нарушить железное правило сисадмина - "работает - не трогай".
Пипец какой-то, т.е. полная жопа, казалось бы. Решил исправить одну (?) ошибку в
моей программе Пренатальной Допплерографии. Это 1996-й год (начало разработки
1995-й). Потом небольшие модификации, а после 2003 года поддерживать вообще
перестал, ибо и программу и все права на нее передал одной Феодоссийской фирме в
обмен на пожизненное использование её мной. С тех пор нагло и самолично
пользовался программой для пользы пациентов, но недавно, после установки на
работе Windows 2003 Server вылезла сначала одна ошибка, потом другая и
пошло-поехало. Сначала несовместимость, потом другие штуки, потом - вообще
засада. Работать стало невозможно.
Поднял исходники. 1996 год - стабильная версия программы. Библиотечный файл (тоже мой, там все с нуля, даже ассемблероные вставки), на котором вываливается программа - от 97-го года.
Общий код программы - где-то 680 000 000 ассемблерного кода (со вставками)
За несколько дней вернуться назад в 96-й год и понять логику программы -- невозможно в принципе.
Боюсь, что даже, если взять отпуск на месяц, - все равно невозможно. Настолько погрузиться в программирование, чтобы держать в уме все 700 Кб кода и понимать хоть что-то, - будет подвиг. Но подвига не вышло. Вчера думал, что завтра буду судорожно пытаться или восстановить работоспособность программы или восстановить файлы из архива. Снова психовать на жену, пациентов и на всех остальных.
Лег спать смурной. К утру так ни чего и не родил, хотя до полуночи просидел в изучении исходников, их редактировании и в дебаггере. Спать ушел полностью уничтоженный и опустошенный. Всю ночь снились двоичные коды, ассемблер и прочая херня, т.е. практичекски не спал.
Зато на работе сумел примерно за час решить главную проблему с помощью гексредактора (hiew32), побайтно сверяя исходник и бинарный *.cfg файл. Пришлось подправить 9 байтов, после чего допплерография вновь заработала.
Я так обрадовался, что даже завел на себя протокол переношенной беременности и фетоплацентарной недостаточности. И распечатал.
Мозги пока работают. И это хорошо.
Поднял исходники. 1996 год - стабильная версия программы. Библиотечный файл (тоже мой, там все с нуля, даже ассемблероные вставки), на котором вываливается программа - от 97-го года.
Общий код программы - где-то 680 000 000 ассемблерного кода (со вставками)
За несколько дней вернуться назад в 96-й год и понять логику программы -- невозможно в принципе.
Боюсь, что даже, если взять отпуск на месяц, - все равно невозможно. Настолько погрузиться в программирование, чтобы держать в уме все 700 Кб кода и понимать хоть что-то, - будет подвиг. Но подвига не вышло. Вчера думал, что завтра буду судорожно пытаться или восстановить работоспособность программы или восстановить файлы из архива. Снова психовать на жену, пациентов и на всех остальных.
Лег спать смурной. К утру так ни чего и не родил, хотя до полуночи просидел в изучении исходников, их редактировании и в дебаггере. Спать ушел полностью уничтоженный и опустошенный. Всю ночь снились двоичные коды, ассемблер и прочая херня, т.е. практичекски не спал.
Зато на работе сумел примерно за час решить главную проблему с помощью гексредактора (hiew32), побайтно сверяя исходник и бинарный *.cfg файл. Пришлось подправить 9 байтов, после чего допплерография вновь заработала.
Я так обрадовался, что даже завел на себя протокол переношенной беременности и фетоплацентарной недостаточности. И распечатал.
Мозги пока работают. И это хорошо.
6
Коментарі
DimedrolИЧ
118.09.14, 22:00
молодец, чего уж там
ёlkа
218.09.14, 22:05
ничо, мастодонты почти два года носят. не переживайте, мамаша
ёlkа
318.09.14, 22:07Відповідь на 2 від ёlkа
пс придется переписывать программку под новые сроки
WalKing
418.09.14, 22:07
Бес Понятия
518.09.14, 22:21
680 000 000 - это 700Мб кода, для ассемблера - многовато. Наверное, три ноля лишние. Hiew - самый удобный инструмент, для особо сложных случаев есть довольно новая IDA или старенький, но надежный WDASM. Молодец, доктор!
Felix
618.09.14, 22:29
Я думал, олдфагам нужен только debug.exe
И уж точно не нужна серверная винда
Felix
718.09.14, 22:33Відповідь на 5 від Бес Понятия
Как я понял, док использовал hiew не по назначению. Было вполне достаточно выполнить fc /b к файлам.
Гість: О-leg-O
818.09.14, 22:34
Лучшеее- враг хорошего. Но тебе видимо мешает это признать ЧСОВ (Чувство собственной обезьяньей важности)
ёlkа
918.09.14, 22:36Відповідь на 7 від Felix
а что делать с переношенной беременностью дока?
Felix
1018.09.14, 22:39Відповідь на 9 від ёlkа
Подарить феодосийской фирме?