PDA

Просмотр полной версии : [Программа] PW Window Unfreezer


KloneB@DGuY
22.02.2010, 11:06
Perfect World Window Unfreezer 1.2
Актуален для версии: 1.4.1 build 2273 | RU-OFF

[Ссылки могут видеть только зарегистрированные и активированные пользователи]

Описание:
Утилита, для разморозки окон игры Perfect World. Если вы
играете в оконном режиме и часто переключаетесь на другие
приложения, то сможете видеть, что происходит с вашим персонажем.

Особенности:
- Утилите не нужно имя заголовка окна, она ищет по классу
- Утилита умеет размораживать сразу несколько окон

Скачать | Download ([Ссылки могут видеть только зарегистрированные и активированные пользователи]) 284 кб
Результаты анализа на [Ссылки могут видеть только зарегистрированные и активированные пользователи] ([Ссылки могут видеть только зарегистрированные и активированные пользователи] 526e44cfa83058-1273777691)

Ликвид
22.02.2010, 12:53
Ты не против, если я добавлю эту программу в свой гайд?(естественно с указанием автора)

KloneB@DGuY
22.02.2010, 12:57
Ты не против, если я добавлю эту программу в свой гайд?(естественно с указанием автора)

Нет конечно, копирайты на месте и порядок ;)

Kitsune
23.02.2010, 01:55
KloneB@DGuY, есть 2 вопроса касательно утилиты:
1. Адрес по которому хранится байтовое значение 0,1 отвечающее за состояние замороженно или нет окно как нибудь зависит от BA или же находится вручную для каждой версии клиента?
2. "Заморозка" значения по адресу идет каким то хитрым путем? или же с определенным интервалом времени простое присвоение значения 1? или заменой участка памяти, который меняет значение на nop ?

Если не хотите отвечать публично, напишите пожалуйста в ПМ, если не затруднит.

KloneB@DGuY
23.02.2010, 04:47
KloneB@DGuY, есть 2 вопроса касательно утилиты:
1. Адрес по которому хранится байтовое значение 0,1 отвечающее за состояние замороженно или нет окно как нибудь зависит от BA или же находится вручную для каждой версии клиента?
2. "Заморозка" значения по адресу идет каким то хитрым путем? или же с определенным интервалом времени простое присвоение значения 1? или заменой участка памяти, который меняет значение на nop ?

Если не хотите отвечать публично, напишите пожалуйста в ПМ, если не затруднит.

Вот все вам выдай, хитрые :notme:

1. Не знаю, на счет зависимости, вроде нет. Вручную искал.
2. Через определенное время, посылается значение 1.

P.S. не люблю вслух об этом говорить, но что-то "спасибо" мало.
Что-то ни кто, до сих пор не сделал Unfreezer, всем "лень" было.
Долбался несколько вечеров. Обидно как-то.

Kitsune
23.02.2010, 12:32
KloneB@DGuY, моя спасибка тебе за ответы и за идею. Хоть и утилита бесполезная для меня, я на оффе не играю. Но вчера вечерком покопал клиент в "эту" сторону и нашел адрес для своего клиента и варианты как "заморозить" значения.

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

KloneB@DGuY
23.02.2010, 13:07
Спрашивал про зависимость, потому что было бы неплохо сделать универсальный анфризер для любого клиента.

Ну, можно и универсальный сделать. Но опять же,
если ехешник обновят, то все адреса поменяются.
Такая же история, как и с оффсетами на хаки -
смещаются адреса.

Добавлено через 6 минут
Да, и перекачайте архив. Исправил банальные ошибки.

Kitsune
23.02.2010, 13:44
KloneB@DGuY, это я и имел ввиду, вынести в конфиг адрес, где хранится значение, которое меняет программа с заданным интервалом времени или же адрес, где происходит запись значения на том участке памяти.

Я с помощью CE нашел адрес где происходит запись, заменил
mov [ebp+00000418],al
на
nop

В результате нет необходимости кажддые там раз 10 в секунду менять значение в ячейки памяти. Просто заморозка окна не будет происходить вовсе.

KloneB@DGuY
23.02.2010, 13:50
KloneB@DGuY, это я и имел ввиду, вынести в конфиг адрес, где хранится значение, которое меняет программа с заданным интервалом времени или же адрес, где происходит запись значения на том участке памяти.

Я с помощью CE нашел адрес где происходит запись, заменил

на


В результате нет необходимости кажддые там раз 10 в секунду менять значение в ячейки памяти. Просто заморозка окна не будет происходить вовсе.

Ну, это уже патч - я делал утилиту. Разговор немного
о разном идет. Будет необходимость, можно и патч сделать.

Kitsune
23.02.2010, 13:53
KloneB@DGuY, нет почему же патч. Это все производится в памяти запущенного экземпляра PW. Можно конечно и патч сделать для ехе, но это уже патч а не утилита)

KloneB@DGuY
23.02.2010, 13:58
KloneB@DGuY, нет почему же патч. Это все производится в памяти запущенного экземпляра PW. Можно конечно и патч сделать для ехе, но это уже патч а не утилита)

Значит я не совсем правильно понял. Ну, главное, что
все работает, как положено, новых методов я не искал.
Делал, как все время делали - по старинке. Думаю человеку
неважно, что оно там делает.

Kitsune
23.02.2010, 14:08
KloneB@DGuY, про "как" работает ты прав, конечному пользователю все равно.

Извиняюсь, что развел дискуссию)


Со стороны оптимизации, наверное логичнее будет сделать изменение в памяти 1 раз, чем по 10 раз в секунду. Это все лишь моё мнение, не принимайте близко к сердцу)

Ekziuperi
18.03.2010, 19:25
Жаль, что если разморозить окно, то не работает автопот =\ Очень не удобно для друлей... В остальном все отлично...
p.s Или я один такой "счастливчик" ? =\

KloneB@DGuY
06.05.2010, 22:08
ОБНОВЛЕНИЕ 1.2
- Добавлена функция восстановления окна игры из свернутого состояния
- Добавлена функция сохранения последней позиции окна утилиты
- Исправлен недочет с фокусом при переходе к окну игры

Leo_ня
07.05.2010, 16:14
KloneB@DGuY, скажи, как ты искал адрес, отвечающий за заморозку окна? (как я понимаю, там не через WinAPI морозится)
Ибо один байт, который принимает значение 1 или 0 довольно трудно найти в памяти, если просто искать его каждый раз при замороженном\размороженном окне.
И чем искал? CE?

KloneB@DGuY
07.05.2010, 18:28
Да, искал через СЕ - вручную [проявив смекалку ;)]

zandro
02.06.2010, 00:40
Только у меня не получилось разморозить несколько PW окон?

KloneB@DGuY
23.06.2010, 13:44
Только у меня не получилось разморозить несколько PW окон?

Там есть нюансы, описал более подробно - перекачай архив.

Chili
20.09.2010, 12:22
на 139 версию не пашет? или это только у меня?

Kitsune
20.09.2010, 12:32
Chili, работает этот [Ссылки могут видеть только зарегистрированные и активированные пользователи] (Смотрите 136+ версию)

DoctorWho
20.09.2010, 18:53
Может стоит разобраться?
Качаем архив
Распаковываем
Открываем файлик pwuconfig.ini
Меняем значение UnfreezeAddress на 9C1984(для текущей версии) (можно посмотреть в теме со свежими оффсетами)
Пользуемся

Kitsune
20.09.2010, 18:57
DoctorWho, не вижу смысла использовать морально устаревшее, плохо реализованное ПО.

Дает лишнюю нагрузку на процессор тем, что меняет значение в памяти клиента каждую секунду.

Моя утилита, в отличии от этой делает всего одно изменение.