Как стать автором
Обновить

Обновление Flash Player 10.1.102.64 — хаки для несворачивания полного экрана и непоказа надписи «Нажмите Esc для...»

Время на прочтение 5 мин
Количество просмотров 9.3K
Описаны патчи для файлов новой версии Flash Player для браузеров, которые устраняют сворачивание полноэкранного видео на флеше, если пользователь уходит на второй монитор (флеш-ролик теряет фокус). Вместе с этим, устраняется показ надписи «Нажмите Esc для выхода из полноэкранного режима», если пользователь выходит в полноэкранный режим. Патчи можно применить как вместе, простой заменой файлов из архива (для русской версии Windows), так и по отдельности, следуя изложенной методике. Применимо для всех основных браузеров.

Сегодня обновлялась минорная версия флеш-плеера Adobe. По методике хакинга, разработанной недавно для версии плеера 10.1.85.3, преобразованы файлы новой версии 10.1.102.64 и выложены для использования (ссылка внизу статьи). Методика показала, что в этот раз ей можно пользоваться без обращения к дизассемблеру.

Лирическое отступление 1. Пользователь несколько раз в году видит окно обновления одного и того же вида с одинаковым номером версии. В данном случае — версии 10.1. На самом деле, обновляются минорные версии плеера, но это для пользователя никак не поясняется, поэтому у него начинает закрадываться подозрение, что система каждый раз забывает про установленные обновления и просит установить то же самое снова. Оставим этот провал юзабилити на совести разработчиков.

Недостатки плеера и хаки.


Недавно было сделано исследование о том, как исправить текущую на тот момент версию плеера на предмет удаления пары существующих юзабилити-неудобств и приведены хаки (hacks) для библиотек флеш-плеера версии 10.1.85.3.
1) при наличии 2 мониторов в системе и просмотре полноэкранного флеш-ролика (например, фильма) на одном экране потеря фокуса в окне просмотра приводит к сворачиванию окна. Хак 1 исправляет этот недостаток, окно не сворачивается при потере фокуса.
2) при каждом разворачивании окна флеш-ролика до полного экрана появляется надпись «Нажмите Esc для выхода из полноэкранного режима». Хак 2 исправляет этот недостаток, надпись не появляется.
Других способов управления разработчиками не предусмотрено, поэтому для исправления поведения плеера необходимы хаки.

Лирическое отступление 2. Некоторые собеседники хотели найти в этих неудобствах следствия политики безопасности (узнаваемость окна флеша для противодействия фишингу). Но никто не привёл убедительных аргументов в поддержку сохранения неудобств. Известно, что плеер в полноэкранном режиме и без того не позволяет пользоваться большинством кнопок клавиатуры, поэтому полноэкранный режим браузера оказывается более опасен, чем полноэкранный режим флеша. Тем не менее, на флеш навешены дополнительные перестраховки, от которых мы избавляемся.

Методика ручного хакинга


Имеющаяся программа хакинга работает только для Windows и только для первого хака. Она будет работать до тех пор, пока логика поиска места хака не изменится. До сих пор, вероятно, никто не занимался этим вопросом в Linux и Mac, но для возможности этого и для понимания действий хака вообще — изложена методика.

Хак 1. Несворачивание полноэкранного флеша при 2 и более мониторах в системе.

… И…

Хак 2. Непоявление надписи «Нажмите Esc для...» при просмотре флеша на полном экране (для любого языка системы).


(В зависимости от языка системы адрес изменяемой строки в файле может меняться, поэтому адреса не указаны, используем поиск по строке.)

0. В хаке появляется необходимость после обновления версии флеш-плеера на компьютере. После стандартных действий по обновлению плеера приступаем к следующим пунктам.
1. Взять Hex-редактор (редактор текстов, позволяющий искать и изменять коды файлов в 16-ричном виде).
2. Выполнить (не обязательно) принудительное обновление версии флеша для браузера IE, скачав инсталлятор из fpdownload.adobe.com/get/flashplayer/current/install_flash_player_ax.exe.
3. Закрыть все браузеры и их вспомогательные окна.
4. Открыть в Hex-редакторе файлы
1) C:\WINDOWS\system32\Macromed\Flash\NPSWF32.dll (для WinXP, или аналогичный для других ОС и для других путей инсталляции) версии 10.1.102.64.
2) C:\Documents and Settings\<имя пользователя>\Local Settings\Application Data\Google\Chrome\Application\<номер_версии_браузера>\gcswf32.dll (для WinXP, или аналогичный для других ОС и для других путей инсталляции) версии 10.1.103.19 (да, здесь версия оказалась немного другой). Если имеются несколько версий Google Chrome, обновлению подвергается последняя актуальная версия, файл из этой папки следует открыть.
3) Для Win7, вероятно, имеется свой путь для библиотеки флеша, используемой в Opera, примерного вида %PROGRAMFILES(X86)%\Opera\program\plugins\NPSWF32.dll, где %PROGRAMFILES(X86)% обычно есть «c:\Program Files (x86)». Открыть и этот файл, если есть.
5. В открытых файлах найти строку «74 39 83 E8 07 74 11 83 E8 05 75 13 8B», заменить её на «90 90 83 E8 07 74 11 83 E8 05 75 13 8B» (т.е. заменить первые 2 байта из найденных на «90 90») — хак 1.
6a. Для IE. Снятие защиты от изменения Flash10l.ocx. Копировать файл C:\WINDOWS\system32\Macromed\Flash\Flash10l.ocx (для WinXP, или аналогичный для других ОС и для других путей инсталляции) в другое место и снять с копии атрибут «только для чтения».
6b. Удалить Flash10l.ocx с помощью утилиты Unlocker.
6c. Поместить копию Flash10l.ocx на место оригинального файла.
6d. Открыть в Hex-редакторе файл C:\WINDOWS\system32\Macromed\Flash\Flash10l.ocx. В этом файле найти строку «00 48 0F 84 92 00 00 00 83 E8» (адрес 0x184c7b) и заменить на «00 48 90 90 90 90 90 90 83 E8» — хак 1 для Internet Explorer.
7. Во всех 3-4 или 5 открытых файлах найти строку «43 57 53 08 60 10 00 00 78 9C 95 57 6B 70 13 D7», заменить на «84 85 4E 2B 6D 76 4E AA 65 1D D9 83 07 D4 93 2E» — хак 2.
8. Сохраняем все файлы, выходим из редактора. Запускаем браузеры, проверяем результат. Если положительного результата не наблюдается, утилитой Unlocker проверяем, используется ли данным браузером именно та библиотека, которую исправили. Если нет, ищем используемую библиотеку. Если найденная библиотека — устаревшей версии, заменяем на новую исправленную (нежелательно) или находим способ обновления флеш-плеера для данного браузера. (Определить версию файла — правая кнопка мыши на файле — Свойства — Версия — Версия файла.)

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

Файлы библиотек плеера версии 10.1.102.64 с хаками 1 и 2, для замены


Как обычно, для русской версии файлов флеш-плеера можем взять готовые исправленные файлы м.10.1.102.64 из архива. Attention! Files are copied from russian installation, WinXP.
Контрольные суммы MD5:
NPSWF32.dll — 8E80A96F23D3CD94D36EB67687F16447 (5`971`408 байт);
gcswf32.dll — 1466158D5E0D35CAD501BA663C9E4377 (6`021`120 байт);
Flash10l.ocx — 6199A704B442AD435110A277FA28CF8F (6`071`760 байт).
Имеем в виду, что для Chrome номер версии библиотеки в текущем обновлении — 10.1.103.19. При замене проверяйте, что заменяемый файл имеет ту же версию, что и заменяющий (на свой риск можно не соблюдать точное соответствие версий, но тогда при работе не исключены ошибки). Если файл другой версии — обновите плеер до требуемой (с сайта Adobe), а затем замените файлы. Достаточно заменить только 1 файл, если результат патча хотите наблюдать не во всех установленных в системе браузерах.
Теги:
Хабы:
+3
Комментарии 3
Комментарии Комментарии 3

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн
PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн