Реверс-инжиниринг: я не смог удержаться!

Oct 03, 2011 00:57

Решил не дожидаться, когда этому проекту стукнет ровно 20 лет -- случайно подвернувшиеся под руку уже выцветшие до желтизны листочки процесса, называемого обратной разработкой, положенные в основу моих старых программ на x86, вызвали ностальгические чувства. Это же надо, какой фигнёй я раньше занимался! :)

В отсутствии толковой документации по видео-карте Trident TVGA-9000, которая имелась под рукой в самом начале 90-х, решил её немного "расковырять", чтобы понять, "как это работает". Вопрос ставился следующим образом: надо получить из программы прямой доступ к банкам памяти и научиться правильно их переключать (под задачи video real-time). Поскольку ПО записано в Video BIOS'е, поставить контрольную точку и пошагово "протопать" по сервисной функции не получится. Надо сначала "передрать" нужную часть её "исходника", поскольку на экран отладчика всё сразу не влезает, и разложить фрагменты на полу... :)










И только после этого "мысленно представить, как эта программа себя поведёт, если"...




Вот теперь можно строить какие-то предположения...




И даже начинать формировать прототип будущей "внутренней документации"...








Жаль, не было тогда СПО и даже Open Source, да и WWW в России в то время ещё был в самом зачаточном состоянии...

реверс-инжиниринг, дизассемблирование, обратная разработка, tvga-9000, trident

Previous post Next post
Up