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

Патчим ICQ 2003a build 3799. часть 2

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

Начало статьи

Процедура:

1. Restorator'ом (или даже Resource Hacker'ом, т.к. в нем это, на мой взгляд, делать удобнее) открываем ICqIfDg.DLL.

2. Если используем Restorator, то ищем строки вида: EDITTEXT 1380, 214, 11, 60, 14, ES_CENTER | ES_MULTILINE | ES_READONLY | NOT WS_VISIBLE | NOT WS_TABSTOP и LTEXT "Current / Last IP:", 2035, 142, 13, 71, 8, NOT WS_VISIBLE и удаляем то, что выделено жирным шрифтом.

3. Сохраняемся и закрываем Restorator.

4. Открываем ICqIfDg.DLL в HEX-редакторе и ищем строки:

Корректируем их, чтобы получилось следующее: 

А вот для того, чтобы получить весьма сомнительную радость от возможности ввода в деталях возраста вплоть до 255 лет включительно, нужно проделать следующее.

Открываем Restoratorом диалог 8504 в ICqIfDg.DLL и ищем следующие строки: EDITTEXT 1384, 140, 31, 26, 12, ES_CENTER | ES_READONLY | ES_NUMBER | WS_DISABLED и EDITTEXT 1219, 164, 65, 25, 12, ES_CENTER | ES_READONLY | ES_NUMBER | NOT WS_TABSTOP. То, что выделено жирным шрифтом, удаляем! После этого можно будет вручную ввести в полях для ввода возраста то число, которое вам нравится. Главное, чтобы оно не выходило за пределы 250-летнего возраста (или 1753 г.р.). ICQ, скорее всего, такой расклад не устроит, и она выдаст возмущенный вопль вида: 

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

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

В библиотечке ICQMcDgs.DLL нам понадобится изменить совсем немного. Вновь меняем ES_AUTOHSCROLL на ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN в диалогах, перечисленных ниже: 1001, 8545, 8547.

Это, так сказать, вспомогательные окна: подтверждение пароля и изменение e-mail в деталях пользователя. Лучше разобраться с ними сразу, чтобы потом не было мучительно больно. Да, чуть не упустил еще один момент: в диалоге 1001 лучше не удаляйте параметр ES_PASSWORD. Теперь все.

Аналогично обстоят дела и с библиотекой ICQReg.dll. В этой библиотеке нас интересуют два диалоговых окна: 8529 и 8656. Диалог 8529 — исправляем пресловутую строку ES_AUTOHSCROLL на ES_MULTILINE |

ES_AUTOVSCROLL | ES_WANTRETURN | ES_PASSWORD. Это даст возможность регистрировать ICQ с мультилайн-паролем. Речь идет о уже имеющемся у вас UIN. В диалоге 8556 — аналогично предыдущему пункту. Только на этот раз мультилайн-пароль добавляется при регистрации нового UIN в системе ICQ. Заодно можно подкорректировать окна для ввода многострочных Name, LastName, NickName (вдруг пригодится).

Осталось разобраться с возможностью поиска UIN начиная с 1 и поиска по любому e-mail. Оперируем библиотекой ICQSearc.DLL. Рассказываю коротко, т.к. операции все однотипные и ранее уже рассматривались. Изменяются окна, отмеченные синим ярлычком: 2012, 2030, 2067. (ES_AUTOHSCROLL меняем на ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN во всех окнах ввода текста, которые вам нужны, т.е.: Ник-Имя-Фамилия-Мыло). Получаем возможность задать поиск по

многострочному имени, фамилии, нику, e-mail. Чтобы ICQ не тявкала на нас сообщениями об ошибке, открываем все ту же ICQSearc.dll в HEX-редакторе и изменяем строчку:

на:

Точно так же поступим и со следующими строчками (рис.16-17 и рис.18-19 соответственно):

И 

Ася больше не имеет ничего против бредовых диапазонов и мыл, такие вот дела.

Теперь небольшая отсебятинка.

Краткое введение в “косметологию”

Попробуем немного приукрасить нашу Асю. Небольшой экскурс по внутренностям. Что чаще всего спрашивают? Вот это: "Как сменить картинку при запуске?", "Как добавить свое имя в строчке рядом с верхними кнопками?" и "Как добавить свою картинку в окно Help -> About?" Приступим.

1. Картинка при запуске ICQ. Эта прелесть находится в файле ICQMcDgs.dll, номер битмапа 1061. Бегущая строчка "Loading" располагается в этой же библиотеке ICQMcDgs.dll, но в битмапе 1062 в виде набора последовательных кадров. 

2. Надпись "ICQ 2003a" располагается в файле ICQ.exe в битмапе с номером 2226. Можете вставить вместо нее все, что вам понравится. Например, ваш логотип.

3. Картинка в About — опять ICQ.exe, но на этот раз номер битмапа 2034. Таким образом можно поменять практически все изображения в ICQ. Единственное замечание: старайтесь выдерживать размеры оригинальных картинок. Ничего страшного при небольших отклонениях от оригинала не произойдет, но, как мне кажется, нужно учитывать чисто эстетический момент. Лично мне, например, неприятно, когда у меня перед лицом находится надпись, часть которой скрыта за пределами виндусового окна.

Теперь, когда вся (у меня, по крайней мере) ручная работа подошла к финалу, неплохо было бы избавить себя от такой мороки в дальнейшем (а вдруг понадобится переустановить Асю!). Выход есть: сейчас развелось огромное количество программ-патчмейкеров. 

Лично я использую ClickTeam Patchmaker (http://www.clickteam.com). В результате сравнения файлов до пропатчивания и после оного получаем небольшой *.exe-файлик. При его помощи вся суета, которой была посвящена эта статья, производится за считанные секунды, но это уже выходит за рамки статьи... 

Занимайтесь этим сами или ждите, когда начнется очередной загон по написанию мануалов!

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

И не забудьте — если вдруг потребуется восстановить Асю в том виде, в каком она была первоначально, нужно всего-навсего все сделанные нами изменения проделать в обратном порядке (это на тот случай, если дистрибутив недоступен, а бэкап сделать сразу не додумались).

Возможно, в скором времени будет готов черновик по особенностям национальной правки реестра в части, касающейся ICQ.

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


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