March 9th, 2017

Реверс-инжениринг assembler-python

это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2017/03/09.html

21 год назад, весной 1996 года я заканчивал Горный институт и писал дипломный проект по программированию. Основа заданий у всех дипломников кафедры называлась «базы данных». В то время базы данных для студентов было такое же мифическое существо, как протокол TCP/IP — в реальной жизни мы такого не видали: ни интернета, ни баз данных у нас в институтских компьютерных классах не водилось. Тот, кто параллельно с учебой работал на предприятиях, возможно, что-то такое видел у себя на работе. А я параллельно с учебой писал песенки в «ОСП-студии», тайно учился на вечернем факультете Психфака МГУ, а еще подрабатывал программистом в НИИ Геофизика и НТМ Защита при МИФИ — там я писал на ассемблере код для микроконтроллеров в приборах дозиметрии и геологоразведки. Иными словами, я не был нормальным человеком, который мог и хотел по-быстрому написать диплом по базам данных на языке C. Поэтому я замахнулся создать программу, которая бы сочиняла стихи. А поскольку хорошо себя чувствовал только на ассемблере, то и написал ее на ассемблере. Тогдашнем, DOS-овском, 32-разрядном. И базу данных свою там же, на этом ассемблере, сочинил. Мои руководители были добры и терпеливы. Не разбираясь по долгу службы ни в алгоритмах стихосложения, ни в ассемблере, они позволили мне делать эту фигню и до последнего дня верили моим клятвам, что хоть программа моя пока не работает, но точно будет работать ко дню защиты. Так и случилось: последние изменения в код я вносил утром. На моем сайте этот проект все эти годы лежит здесь: http://lleo.me/soft/lleo_dip.htm Там сам код на ассемблере (по-моему даже не самой последней версии, но остальные исходники точно утеряны), и текст дипломного проекта, тоже написанный с большим литературным чувством и элементами троллинга. Смешно, что все эти годы программка по-прежнему работала, если найти эмулятор DOS и в нем ее запустить. И все эти годы у меня была мысль переписать это на PHP и сделать веб-сервис — ведь за это время появился интернет и база ударений в словах русского языка, которой мне так не хватало. Но я так и не собрался. И вот на днях мне пришло изумительное письмо:
Collapse )