2013-03-06

Патчинг EXE'шника или устранение багов в чужом софте

Совсем недавно купил двухтерабайтный HDD. После установки HDD в корпус захотелось его проверить на "вшивость". Обычно эта операция производится при помощи утилит MHDD, Victoria, HDDScan и т.п.
Скачал "Victoria 4.46b for Windows" (релиз 2008 года). Настроил параметры сканирования HDD и нажал "Start" - получил сообщение об ошибке "Privileged Instruction".


Т.к. программа с 2008 года не обновлялась, то решил попробовать устранить сей баг патчингом кодеса. С этого момента и начал фиксить различные баги в этой софтинке. В итоге решил патченную версию программы обозвать как "Victoria 4.47".

Список устранённых багов:
1) критическая ошибка "Privileged Instruction" на 64-битных виндах;
2) процесс сканирования мог прерваться в случайный момент;
3) некорретная генерация случайных чисел при сканировании дисков объёмом более 1TB;
4) при сворачивании окна программы процесс сканирования мог самопроизвольно прерваться;
5) критическая ошибка "Out of memory" при сканировании дисков объёмом более 1TB;
6) надоедливые ругательства при старте (в виде модальных окон) перенесены в лог.

Патченный EXE'шник пришлось упаковать при помощи VMProtect, т.к. изначально для распаковки воспользовался Quick Unpack'ом, который сгенерил 65 МБ бинарь.

Подробная информация о выполненных доработках содержится в архиве (вместе с новым ASM-кодом):  victoria_447.zip

1 комментарий:

  1. Вот спасибо. Думал виктория уже не заведется.

    ОтветитьУдалить