Новогоднее западло BUG(O)R Хакер, номер #096, стр. 096-088-1 (zona_bugor@bk.ru, http://hunger.ru) Джентльменский набор сюрпризов До новогоднего праздника остались считанные дни, а ты так и не придумал, что подарить своим друзьям и подругам. Покупать что-то в магазине не прет - нет денег, да и все эти новогодние сувенирчики уже приелись. Посылать попсовые электронные открытки тоже без мазы - скукота, да и только. Сейчас я мигом решу твои проблемы. Мы создадим оригинальный подарок собственными руками. Во всяком случае, гарантирую, что при правильном применении твой сюрприз будут помнить как минимум год. В Новый год можно все. Можно спалить видеокарту твоего друга под бой курантов, форматнуть винт во время речи Президента. Но мы не будем заниматься такими жесткими вещами. Наша с тобой задача - слегка потрепать нервы и повысить настроение друзьям. А для этого попытаемся написать новогодний набор сюрпризов, вытворяющих самые неожиданные вещи после запуска. Как ты помнишь, в прошлом номере я подробно описал работу программ по перехвату API методом сплайсинга, с помощью которого мы решили непростую задачу. Сегодня мы вновь используем эту технологию, чтобы написать пару-тройку оригинальных заподлянских штучек. Итак, поехали! Великий и могучий... Представь ситуацию: твой приятель, мегахакер, тайно влюблен в прекрасную герлу и пишет ей особенное новогоднее поздравление. Он превзошел сам себя и сочинил сентиментальное стихотворение, которое может согреть сердце даже памятнику на главной улице города. Поклонник надеется, что хотя бы в Новый год он получит внимание своей избранницы. Но как бы ни так! Ведь ты горишь желанием отомстить ему за первоапрельский дефейс своего сайта :). Я тебе в этом немного помогу. Сделаем небольшое техническое отступление, чтобы ты понял смысл наших с тобой действий. Всем известно, что бедняга notepad.exe вынес бессчетное количество пыток. Он, пожалуй, главная жертва всех экспериментов связанных со сторонними программами, которые пишут все, кому не лень. Мы не будем выделяться из толпы, поэтому блокноту еще раз придется потерпеть. Суть нашей первой новогодней шутки будет заключаться в следующем: при сохранении текста в файл используется API-функция WriteFile; мы ее перехватим и изменим указатель на записываемые данные. По новому адресу будет лежать в целом оригинальный текст, но с небольшими отличиями - после каждой запятой наша программа вставит нецензурное слово из трех, четырех или пяти букв на выбор :). А теперь рассмотрим возможные последствия такого прикола. После умелого впаривания тобой злостного кода твой ничего неподозревающий товарищ решается отправить поздравление на e-mail юной красавице. Предположим, что текст будет следующим: Душещипательное поздравление Милая Леночка! Я очень хочу поздравить тебя с этим прекрасным праздником - Новым годом! Хочу пожелать тебе здоровья, счастья и успехов в наступающем году! И специально для тебя я сочинил этот, надеюсь, красивый стих! Я хочу, чтоб на рассвете Ледяного января Ты сказала мне: «Приветик, Милый, я люблю тебя!» Еще раз поздравляю тебя с праздником, родная! |