Электронная библиотека

Хакер


Хакер

Butthead Style - с факом по жизни

Xakep, номер #009, стр. 009-042-3


Если все было сделано правильно, Hiew найдет ровно одно место, где начинается твой курсор. Тут тебе надо отметить блок, по длине совпадающий с твоими дамп файлами. Отметил? Рулез! На всякий случай - ALT+H = Help. Осталось только вставить в этот блок дамп измененного курсора. Телемаркет!

Заменяй исходный файл пропатченным и запускай программу. Вот оно, вот оно... По идее, твой курсор должен стать маленьким и аккуратным факом. Последним шагом в этой героической эпопее будет создание патча. Запусти CRACKMAKER, заполни три строки - имя исходного файла, имя измененного (того самого с расширением .new), имя патча и впиши свои комментарии. После нажатия кнопки "OK" у тебя сгенерируется прога длиной 11296 байт, которая и будет тем самым патчем. Патчик этот нужно сразу отослать всем своим знакомым, а также выложить на страницу в Интернете и зарегистрировать ее в Асталависте. Пускай все видят, какой ты крутой крекер!

UNIVERSAL PATCH

Но почему на твою страницу не ломятся толпой за этим патчем, спросишь ты меня? А все потому, что патчик этот вскрывает только ту версию программы, для которой он был создан. А одних только Нетскейпов вышло версий 50, не меньше. Вот и получай задание - пятьдесят раз повтори описанные выше операции... Конечно, перерисовывать курсор можно только один раз, но где же ты достанешь все версии Нетскейпа, включая локализованные (французские, немецкие, японские и китайские)?

Хочется же иметь такой патчик, который бы сам курсоры искал, да автоматически заменял их на необходимые, да еще и быстро, и незаметно, и правильно. То есть чтобы после его работы хоть что-то работало. Чья-то древняя мудрость говорит, что в правильно заданном вопросе содержится большая часть ответа, и я засел за компьютер с гнусными намерениями написать универсальный патч. Тут необходимо заметить одну тонкость. Так как задачей универсального крекера является поиск чего-либо в большом файле, то узким местом программы будет работа с файлами. Для того чтобы программа работала не как черепаха, нужно сделать буферизацию чтения/записи. Самый простой алгоритм не есть самый быстрый. Известно, что быстрее всего читать информацию блоками с размером, кратным длине сектора, то есть по 512 или 256 байт. Кстати, эта же задача (оптимизации поиска) стоит перед писателями антивирусов. Конечно, писать быструю программу - достаточно большой геморрой. Не зря же вирусописателей тысячи, а Лозинского и Касперского по одной штуке. Проведя две ночи в Нирване за непонятным для народа делом - программированием на Трубо Паскале, я получил-таки достаточно универсальный факозаменитель. Достаточно это потому, что прога умеет находить только три вида указующих курсоров. То есть на моем компе в результате команды:

Назад на стр. 009-042-2  Содержание  Вперед на стр. 009-042-4