Скорая Компьютерная Помощь г. Калуга

Полный спектр компьютерных услуг!

Здравствуйте, гость ( Вход | Регистрация )

> Внимание!

  • Вся информация, расположенная в данном и других разделах форума получена из открытых источников (интернет-ресурсы, средства массовой информации, печатные издания и т.п.) и/или добавлена самими пользователями. Администрация форума предоставляет его участникам площадку для общения / размещения файлов / статей и т.п. и не несет ответственности за содержание сообщений, а также за возможное нарушение авторских, смежных и каких-либо иных прав, которое может повлечь за собой информация, содержащаяся в сообщениях.
Ремонт компьютеров в калуге Рекламное место сдается
 
Ответить в эту темуОткрыть новую тему
> Патч флагов стран µTorrent, Как решить проблему флагов раз и навсегда
smft
сообщение 10.10.2013, 1:18
Сообщение #1


Newbie
*

Группа: Пользователи
Сообщений: 1
Регистрация: 9.10.2013
Пользователь №: 1747



Описание
  • Заставляет µTorrent показывать флаги Белоруссии, Казахстана и еще 188 стран. Флаги видны у 99.9% участников обмена.
  • Применим ко всем версиям µTorrent — от 1.8.x до самых последних.
  • После однократного применения не требует обновлений, решает проблему флагов раз и навсегда.


Спойлер (+/-) Как µTorrent сопоставляет флаги участникам обмена


Что исправляется патчем
  • Встроенный список стран — буквенными и числовыми кодами и флагами 246 стран и территорий, актуальными на 2013 год.
  • Добавляется список двухбуквенных доменов, неточно соответствующих странам. Флаги участников из этих доменов определяются по IP:
    Код
    AN, CC, DJ, EU, FM, HT, IM, IO, ME, MU, NU, SU, TC, TK, TO, TP, TV, WS
  • Определение страны по IP — для всех негеографических доменов (.com, .net, .org, .info и пр.) и псевододоменов (вроде .arpa или даже localhost).


Спойлер (+/-) Судан и Южный Судан


Спойлер (+/-) 246 стран


Потребуется для работы
  • UPX для распаковки utorrent.exe или китайский распаковщик для нестандартно упакованных современных версий.
  • FASM для компиляции исходников.
  • Редактор ресурсов для замены bmp с флагами (я использовал Resource Hacker).
  • Редактор PE-файлов для внедрения секции (я использовал LordPE).
  • Hex-редактор для поиска и замены кода (я использовал режим просмотра Dos Navigator (DN/2 for Win32)).


Процедура обновления
  • Распаковываем utorrent.exe.
  • Запускаем редактор ресурсов, открываем распакованный utorrent.exe и заменяем ресурс BITMAP с флагами (они видны при просмотре) содержимым файла Flags.bmp.
  • При помощи FASM компилируем CountriesAll.asm, получая в результате CountriesAll.bin (в среде FASMW открываем файл и нажимаем Ctrl+F9).
  • При помощи PE-редактора изменяем состав секций:
    • Открываем utorrent.exe, переходим к редактированию секций (PE Editor → выбор файла → Sections в LordPE).
    • (Необязательно) Удаляем секцию .reloc (последовательно ПКМ → truncate at section start, ПКМ → wipe section header в LordPE).
    • Внедряем CountriesAll.bin как секцию (ПКМ → load section from disk... → выбираем файл CountriesAll.bin в LordPE).
    • Устанавливаем свойства внедренной секции (ПКМ → edit section header... → вводим .flags в поле Name и 40000040 в поле Flags в LordPE).
    • Запоминаем или записываем на бумажку/в файл значение VitrualAddress (оно же VOffset), назначенное нашей секции .flags. Оно нам понадобится на следующем шаге.
    • Сохраняем utorrent.exe и закрываем PE-редактор (LordPE автоматически сохраняет изменения при выходе).
  • Патчим код обработки списка стран:
    • Открываем файл PatchCountries.asm, находим в ассемблерном коде значение $EC000, заменяем его на сохраненный нами VirtualAddress, не трогая знак доллара. Компилируем файл, получаем PatchCountries.bin. (Все действия можно проделать в среде FASMW).
    • В utorrent.exe ищем hex-редактором сигнатуру (последовательность байтов), указанную в комментариях PatchCountries.asm. Поскольку в разных версиях µTorrent смещения в коде будут разные, ищем безадресную цепочку кодов:
      Код
      66 89 08 8B CE D1 E9 46 66 89 48 02 83 FE 7C
    • Перед найденной цепочкой будет стоять 8-байтовая команда MOV, начинающаяся кодом 66 8B. Патчить начинаем с нее.
    • Открываем файл PatchCountries.bin в другом окне hex-редактора и, глядя на него, последовательно вносим коды в utorrent.exe, начиная с команды MOV, найденной на предыдущем шаге. Поскольку новый код короче старого на два байта, оставшиеся байты забиваем кодом 90 (NOP).
  • Патчим код обработки доменов:
    • Открываем файл PatchDomains.asm, находим в ассемблерном коде значение $EC000, заменяем его на сохраненный нами VirtualAddress, как в прошлый раз. Компилируем, получаем PatchDomains.bin.
    • В utorrent.exe ищем hex-редактором цепочку байтов:
      Код
      8B F0 59 59 85 F6 74 27 68
    • В этот раз патчим прямо с начала найденной цепочки.
    • Открываем файл PatchDomains.bin в другом окне hex-редактора и привычно перебиваем байты в utorrent.exe.


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

Прикрепленный файл  WorldPatch.7z ( 72,59 килобайт ) Кол-во скачиваний: 247

Эскизы прикрепленных изображений
Прикрепленное изображение
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Рекламное место сдается Рекламное место сдается
Текстовая версия Сейчас: 28.11.2024, 16:59
Рейтинг@Mail.ru
Яндекс.Метрика Яндекс цитирования