lleo (lleo) wrote,
lleo
lleo

Category:

Реверс-инжениринг 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 и сделать веб-сервис — ведь за это время появился интернет и база ударений в словах русского языка, которой мне так не хватало. Но я так и не собрался. И вот на днях мне пришло изумительное письмо:

Date: Sat, 4 Mar 2017 10:40:19 +0300

From: Sergei Lebedev

To:   lleo@lleo.me

Subj: lleo_dip — revival

Здравствуйте, Леонид,

Думаю, вам будет интересно узнать, что я портировал на Python алгоритм вашей программы lleo_dip.exe (с некоторыми доработками).

Вот статья об этом на Хабре: https://habrahabr.ru/post/323034/

А вот исходники на github: https://github.com/lebedevsergey/poet-ex-machina

Кстати, новая программа умеет загружать базу слов и базу слогов в формате вашей программы, так что я приложил их в комплекте

С уважением,

Сергей Лебедев

Представляете, каков подвиг?! Сергей, я потрясен. У меня нет слов! Может быть, прикрутим базу ударений? ;)



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

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments