Открылась Компьютерная Ярмарка Expo-com.ru на Тульской 
6000 кв.м, 20 000 покупателей в день.
Удачное расположение (м. "Тульская"), большой ассортимент, автостоянка, лифты, кафе, туалеты, телефонная связь, интернет. 
Арендаторам: 1 месяц бесплатно
Режим работы и проезд см. здесь >>
реклама у нас
***

Патчим ICQ 2003a build 3799

Авторы: Денис "Denver" Мигачев, Юрий "Wattman"

Начнем с того, что данное произведение никоим образом не претендует на абсолютную полноту и правильность, а посему — все, что, по вашему мнению, не является правильным, вы делаете тем способом, который нравится именно вам (ну, можете и автору письмецо черкануть... если замечание стоящее — исправим). По большому счету, эта статья не является самостоятельным произведением, это скорее собирательный обзор, так что сразу хочу поблагодарить тех, чья информация была использована.

Для чего все это? "Это" предназначено для всех тех, кому интересен описываемый процесс, для тех, кто желает все делать сам и не пользоваться патчами от сторонних деятелей (вроде меня), а также просто для общего развития.

ВООРУЖАЕМСЯ. Что потребуется в работе? Я перечислю те программы, которые использую лично я — вы можете юзать те продукты, которые вам больше понравятся по тем либо иным соображениям. Особенности использования софта и приемы работы целью статьи не были, так что, если у вас недостаточно навыков — учитесь сами, благо информации на эту тему — масса.

Я не пользуюсь исключительно HEX — редакторами, а большую часть работы привык делать с комфортом, поэтому прога №1 — это Restorator (http://www.bome.com/Restorator). Эту штукенцию применяем для обработки и придания нужного вида диалоговым окнам. Как правило, в паре с "Ресторатором" я использую Resource Hacker

(http://rpi.net.au/~ajohnson/resourcehacker) — это на самом деле необязательно, просто удобнее часть операций делать то в одном, то в другом редакторе.
Теперь добрались и до HEX (т.е. шестнадцатеричных) редакторов. Ничего не имею против разномастной армии платных программных продуктов, из которых мне, кстати, больше всего понравился WinHEX (http://www.winhex.com/) (большое количество функций, а отсюда и универсальность), однако сам использую небольшой бесплатный редактор отечественного производства HEX Edit (ищем сами, ибо информацией о домашней страничке сего продукта я не располагаю).

ПРИСТУПАЕМ. Первым делом начнем с уничтожения баннеров. Препарирование сабжа рассмотрим на примере ICQ 2003a pro #3799, т.к. на момент написания этот билд был самым новым, и следовательно — вызывающим самое большое количество вопросов у публики. Не будем изобретать велосипед и обзор построим в следующей манере (надеюсь, этим я ничьи права не ущемлю).

Как только происходит первый запуск ICQ, так сразу и возникает желание убить ЭТО (я имею в виду баннер), а также заодно — и строку "Гугля" (хотя некоторым, надо отдать должное, эта фиговинка понравилась). Тут-то нам и пригодится HEX: находим строку: 

и делаем, чтобы стало так: 

Получаем Асю следующего вида (без баннера и "Гугля").
А вот так разбираемся с баннерами в окне сообщений. Ищем строку: 
И вносим вот такие изменения: 

Больше баннеры нас не беспокоят.

Теперь сделаем так, чтобы в ICQ стало возможным вводить многострочный пароль. Те, кто не знает, что это такое и с чем его едят, не встревают и читают молча.

Запускаем Restorator и с его помощью открываем все тот же файл ICQ.EXE. Наша цель — найти окна диалога, в которых мы вводим пароль при запуске ICQ. А также — при удалении UIN с ЛОКАЛЬНОГО компьютера (а что, разве "анрег" уже заработал?!).

Нет ничего проще: первое окно числится в списке под номером 1007, второе — под номером 2070. Находим строку: EDITTEXT 1353, 49, 54, 128, 13, ES_PASSWORD | ES_AUTOHSCROLL (цифры, выделенные курсивом, в окнах отличаются и приведены только для примера! Я изменил немного циферки, чтобы окошко стало чуть более компактным — мне так кажется немного красивее оригинала. Основная мишень — то, что выделено жирным). Меняем текст на вот такой: EDITTEXT 1159, 66, 46, 105, 12, ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN.
Единственное замечание: теперь все символы пароля при вводе будут ВИДИМЫМИ. Увы — такова жизнь. 

Альтернативой данному способу может служить использование маленькой утилитки под названием 2String (http://hitu.ussr.to/), с которой, я думаю, вы сами разберетесь. При ее использовании необходимость проделывания фокусов с диалоговыми окнами, которые были описаны в последнем пункте, отпадает.

Плавно подобрались к разбору второго элемента пропатчивания, а именно ICQifDg.DLL. Эта библиотека содержит в себе большое количество различных диалогов, которые мы намерены разнести в пух и прах. Для чего будем добиваться возможности ввода многострочных Name, Last Name, NickName и прочего multiline-фанатизма, заодно сделаем, чтобы можно было указывать в деталях вместо мыла любую абракадабру и ввод возраста вплоть до 255 лет (сам не знаю — для чего это).

Снова Restorator, только теперь открываем ICQifDg.dll и прямиком направляемся в раздел с диалоговыми окнами. Все происходит в точности как в ICQ.exe. Все НУЖНЫЕ вам окна ввода текста корректируются следующим образом:

Строка ES_AUTOHSCROLL заменяется на ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN. Поля для ввода деталей приобретают вот такой вид. А вот номера диалогов, в которые придется влезть со скальпелем: 101, 8504, 8505, 8507, 8545, 8547.

Разумеется, ICQ, как правило, начнет морочить голову устрашающими сообщениями, после того как вы попытаетесь ввести вместо e-mail что-то вовсе на мыло непохожее, например: 

Ерунда! Это вовсе не так страшно! Нам снова понадобится HEX-редактор. 
Ищем в ICQIfDg.DLL строку и приводим ее к виду: 

То же самое проделываем со строкой:

И приводим ее к виду: 

Это все. Больше никаких Not a valid! Теперь сделаем самое интересное — постараемся вернуть ICQ возможность показывать IP-адрес пользователей из контакт-листа, как это было в версиях до 99b включительно.

Продолжение статьи

Источник: http://www.nestor.minsk.by/kg/
 


Copyright ©  Internet Zone, info@izcity.com 
Условия использования материалов смотрите здесь.