Пропатчим Асю на фичи и ненужные функции :) .часть2
(версия 1 от 16 июля 2002 г.)

С момента выхода первой части статьи, в которой я предоставил сведения о том, как и что патчить в 2000 асе последних билдов, меня очень часто спрашивали, а нет ли чего-нибудь подобного для 2001, а затем и для 2002 аси. 2001 асю я пока не стал рассматривать, а сразу покажу вам, что и где нужно поменять в 2002 асе. К моменту, когда я решил написать вторую часть, вышла 2002 ася билда 3728. Вот именно этот билд я и принялся ковырять. Однако и 2001 и 2002 ася очень похожи по своему строению, поэтому скорее всего данные, которые я вам предоставлю в этой статье, подойдут для всех билдов 2001-2002 ась. Как и в первой части статьи, все данные представлены в шестнадцатеричном виде, поэтому редактор понадобится, который мог бы редактировать HEX-код (hexadecimal). Я до сих пор использую HEX WorkShop от BreakPoint SoftWare (http://www.bpsoft.com/). Прога Виндовзная, мне очень нравится, всем советую. У меня стоит версия 3.11. Весит прога примерно 3 мегабайта. За keygen'ом для неё сходите на http://www.cracks.am/, так как она шароварная. Переходим к теме.

Как и в 2000 асе, всё, что нам придётся менять, лежит в том же каталоге,что и ася, так что на время пропатчивания рекомендую вынести ярлык для папки с асей на рабочий стол для быстрого доступа к ней. Перед тем как патчить что либо, сделайте бэкап-копию файла или сразу всего каталога аси, как только установите её себе на компьютер.

Здесь, как и в предыдущей статье, я буду приводить данные в таком виде, как их будет видно в нашем редакторе (везде адрес относится только к первому коду символа в строке, т.е. к первым двум цифрам). Для корректного отображения данных, страницу нужно просматривать с однородным шрифтом типа "курьер". Убедитесь, что у вас есть шрифт Курьер и в программе просмотра поставлен МЕЛКИЙ размер шрифта, тогда эта статья будет отображаться правильно.

Как изменять:

Адрес

данные, подлежащие изменению помечены символом "|"

примечания

0000A140 | 6F00 0000 4945 0000 4672 6F6D 2049 4351 0000 0000
-------------------------------||||-||||-||||-||||----------
0000A140 | 6F00 0000 4945 0000 4E55 4C00 0000 0000 0000 0000

-оригинал
-отличия
-изменённый код

К примеру нужно найти строку: 
00015A68 | 538B 5D08 5657 85DB 7467 6A20 53FF 1554 053A 2359

Вызываем поиск с помощью кнопки Find (на рисунке слева):
 

Поисковый диалог выглядит так:


В строке поиска (Value) набираем
538B5D08565785DB74676A2053FF1554053A2359 или любую её часть, только имейте ввиду, что здесь все представлено кодами символов в виде 53 8B 5D 08 56 57 85 DB 74 67 6A 20 53 FF 15 54 05 3A 23 59 и если вы вздумаете поискать не 538B5D08 а 38B5D0 то ничего нужного не найдёте.

При этом надо понимать, что чем меньше символов выбрать для поиска, 
тем больше результатов может быть выведено на экран. Также адрес для символов не обязательно будет совпадать с приведённым тут. И ещё: не забывайте сохранять результаты :)

* * *
СОДЕРЖАНИЕ:

ICQ.exe
1. БАНЕР(!!!) в главном окне программы
2. Статус при запуске

ICQIfDg.dll
1. IP в деталях юзера

ICQSearc.dll
1. Поиск уинов, начиная с номера 1


* * *

---------------=ICQ.exe=---------------
Здесь приводятся данные о том, что и для чего патчить в самом главном файле аськи.

------------------------------------------------------------------------
1.
БАНЕР(!!!) в главном окне программы

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

Одним движением руки аська превращается в "аську без банера!" ;)

Смотрите, что нужно заменить:

00056F10 | 8B8B E401 0000 8345 E823 8945 F88B 45E4
---------------------------------||---------------
00056F10 | 8B8B E401 0000 8345 E800 8945 F88B 45E4

- БАНЕР есть
- отличия
- банера нет!!!

Всё! Разобрались! Получилось следующее:


------------------------------------------------------------------------
5.
Статус при запуске

При запуске аська пытается выйти в онлайн-режим. Если вам это не нравится - измените вот эти байты и вам эта фича не будет надоедать :)

Итак, патчим на то, чтобы ася не коннектиласть после старта (если у вас непатченая ася, значит ищем верхний вариант и меняем на нижний):

00003D90 | EB0C 5353 6A01 E840 2E00 0083 C40C 395D 1074 3B6A
----------------||||-||||-||||-||||-||||-||||---------------
00003D90 | EB0C 9090 9090 9090 9090 9090 9090 395D 1074 3B6A

- конектится -оригинал 
- отличия
- не пытается даже :)

P.S: В 2002 Асе мирабы сделали по разуму - при клике на иконку аськи в трее, аська не лезет в онлайн, а просто всплывает на экран. Необходимость пропатчивания на это исчезла :)



Аська-в-онлайн-не-вылазь-ка! :)))



---------------=ICQIfDg.dll=---------------

------------------------------------------------------------------------
1. IP в деталях юзера

Мирабы взяли за моду не показывать ИП народу :) Сделаем же ип видным в деталях юзера, как и раньше!

До того, как мы проделаем все необходимые действия, наше окно выглядит так:


После того, как мы пропатчим дллку, вид совсем изменится:


Изменим длл-ку как нам надо:

Шаг1: Заставляем аську показывать собственно АйПи:

00008А80 | D738 5DF3 5F90 908B 45EC 3BC3 9090 8BC8
-----------------------||-||-------------||||-----
00008А80 | D738 5DF3 5F74 3C8B 45EC 3BC3 7435 8BC8

- показывают 0.0.0.0
- отличия
- Оригинал

Шаг2: Заставляем аську показать надпись Current / Last IP:

00028С30 | 0000 0000 0000 0000 0000 0250 8E00 0D00
--------------------------------------||----------
00028С30 | 0000 0000 0000 0000 0000 0240 8E00 0D00

- Изменяем на это
- отличия
- Оригинал

Шаг3: Заставляем аську показать окошко, где собственно и будет виден нам IP:

00028A20 | 0508 8050 D600 0B00 3C00 0E00 6405 0000
------------------||------------------------------
00028A20 | 0508 8040 D600 0B00 3C00 0E00 6405 0000

- Изменяем на это
- отличия
- Оригинал

Всё! Ип снова видно :) Как и раньше, можно узнать и свой ИП - находясь в любом из режимов, будь то Away, N/A, Invisible, Online, и остальных, зайдите в свои детали и увидите там свой ИП :) Единственное "НО" в показе ипа - у некоторых людей (и у вас в том числе) можно увидеть в поле для ипа не его реальный ип, а ип прокси-сервера, через который он коннектится к серверу аси, или нулевой ип - 0.0.0.0 - это не его ип, естесственно, а это значит, что он поставил опцию "Разрешить директ коннекшн только с моего разрешения". На рисунке это показано:






---------------=ICQSearc.dll=---------------

------------------------------------------------------------------------
1. Поиск уинов, начиная с номера 1

Фича крайне бесполезная, так как даже на 4-х значных аськах сейчас никто не сидит :)

 

Так как длл ещё не патченая, ищем нижние варианты, заменяем на верхние:

000048D0 | 0050 E81E 2D01 0056 68FE FFFF 7F68 0100 0000 8D45
----------------------------------------------||||----------
000048D0 | 0050 E81E 2D01 0056 68FE FFFF 7F68 1027 0000 8D45
- поиск с 1
- отличия
- поиск с 10000
00009EFC | FEFF FF7F 6801 0000 008D 45F4 68DC 6112 2350 E820
-----------------------||-||--------------------------------
00009EFC | FEFF FF7F 6810 2700 008D 45F4 68DC 6112 2350 E820
- поиск с 1
- отличия
- поиск с 10000
000226F0 | 2005 9319 0100 0000 0100 1223 0000 0000 0000 0000
-------------------------------||||-------------------------
000226F0 | 2005 9319 0100 0000 1027 1223 0000 0000 0000 0000
- поиск с 1
- отличия
- поиск с 10000

В 2002 асе хоть и есть те же самые пункты в дллке, но она упорно не ищет после этих действий уины меньше 9999. Я пока что с этим не разобрался.


Злюка (ICQ# 769862)