[Цитировать]

    conty9
  • 100
  • Стаж: 3 года 11 месяцев
  • Сообщений: 981
  • Репутация:127

    [+] [-]

Как найти и заменить ресурс, в котором имеется какая-то надпись (на экране, при загрузке, сообщение вируса). Много картинок!

Толчком для написания послужил этот скрипт. Я уже давно использую способ поиска текста намного проще и эффективнее.
Нам понадобится файловый менеджер FAR (да простят меня пользователи TC - в нём тоже есть подобный поиск, но возможности поскромнее), редактор ресурсов Restorator (либо любой другой). В некоторых случаях придётся использовать НЕХ-редактор (я использую Hiew32, он у меня встроен в самораспаковку менеджера FAR из сборки 2k10).
Итак, нас раздражает надпись "Тестовый режим" на экране РЕ. Мы точно знаем, что эта надпись находится в ядре самой сборки - потому как больше негде! ))

Порядок действий.
Вначале распаковываем wim-ядро сборки в любой временный каталог, желательно на диск пошустрее (к примеру, я для этого использую РАМ-диск в памяти). К слову, FAR умеет искать и прямо в архивах (к коим относится и wim-ядро при наличии плагина 7-zip). Но поиск в архиве занимает намного больше времени, чем поиск в предварительно распакованном ядре, поэтому лучше распаковать.
Переходим в FAR в папку с распакованным ядром и выбираем поиск (Alt+F7). Маску оставляем *.*, вбиваем нужное в "Содержащих текст" и обязательно выбираем "Все стандартные кодовые страницы" (мы ведь заранее не знаем, в какой кодировке будет текст).

"Нажми на кнопку - получишь результат!" af Надпись "Поиск закончен" появится после полного завершения сканирования папки.

Как результат мы получили 4 файла. Причём два из них в каталоге WinSxS - это просто копии. Думаю, понятно, что вероятность того, что искомая фраза в интерфейсе используется именно из файла shell32.dll.mui намного выше, чем из fsutil.dll.mui. Это не всегда так, но в данном примере - так. Осталось найти и заменить надоедливую надпись. Для этого подойдёт Restorator.
Чтобы открыть файл с расширением mui, нужно пойти на небольшую хитрость: в строке ввода имени указываем *.*, тогда в проводнике будут отображены все типы файлов. Либо можно указать сразу же полное имя файла.
Ctrl+F, вводим снова искомую строку, ищем и находим нужное.

Там же рядом присутствуют надписи "Безопасный режим", "Пробная версия"... Думаю, дальше всё понятно.
Отмечу, что надпись Build 15063.rs2.... найти было бы невозможно. Поскольку она создана из составляющих - слова Build и переменной № версии. Но тут нам очень повезло, ведь рядом с "Тестовый режим", в строке 2882 указано %ws Build %ws, и это очень напоминает индикацию номера сборки. Так что можно попытать счастья. ah
Для закрепления - ещё один пример.
Надпись при загрузке ядра 7х86 из сборки 2k10.
Отдельно отмечу, что некоторые надписи, появляющиеся в момент загрузки, используются из самого загрузчика bootmgr (или его MUI), а некоторые - из ядра. "Разделительной чертой" служит момент окончания загрузки ядра в память.

Производим поиск по аналогичному шаблону

Результат

Попробуем провести правку не Restorator (ведь не все ресурсы можно открыть редактором ресурсов, кое-какие файлы при отсутствии "фирменного" редактора можно подправить только НЕХ-редактором). Если используется FAR из 2k10, становимся на файл и нажимаем Alt+F4 (вызываем Hiew32).

К слову, этот редактор имеет ограничения по поддержке кириллицы и пробелов, поэтому, если файл не открывается - просто временно переименуйте его на имя попроще (в формат 8.3).
По F7 вызываем строку поиска, вбиваем искомую надпись... И облом, не найдено... ac Причина очень проста: кодировка не совпадает. Нажимаем F8, выбираем другую кодировку, снова ищем...

Наконец, в кодировке Unicode (большинство win-файлов именно в ней хранят ресурсы), находим искомое.

Чтобы перейти в режим HEX-правки, жмём F4 и выбираем HEX, немного пролистываем вниз (в НЕХ-режиме количество отображаемого текста на экране меньше) - заново находим искомую надпись.

По F3 переходим в режим редактирования, по TAB - на правую панель. Правим нашу надпись под свой вкус. По F9 вносим изменение в файл.

Всё, готово! Теперь можно пересобрать ядро, протестировать загрузку и оценить результат.
Как быстро проверить - то или не то - мы нашли/заменили?
Можно, конечно, пересобрать ядро, запустить в эмуляторе и оценить результат. Но на практике для РЕ-сборок есть решение попроще. По крайней мере, если ядро базируется на PeCMD и есть возможность перезагрузить оболочку. Итак: просто загружаемся под РЕ. Переименовываем файл, который нам нужно будет подменить модифицированным (просто удалить его часто не получится - он может блокироваться системой). После переименования копируем наш мод-файл и перезагружаем оболочку (убиваем проводник Explorer.exe, и потом, если он не запустился сам - запускаем его вручную).
Такой подход удобен тем, что можно быстро подправить нужное прямо под РЕ и сразу же увидеть результат.
Замечание: а что, если в результате поиска мы нашли несколько потенциальных кандидатов на правку, как определить виновника без лишних усилий и тестирований? Я поступаю так: вместо исправления надписи сразу во всех, просто вношу вместо первого символа порядковый номер (1-9, буквы по алфавиту). Потом смотрю, какой номер высветится в тесте.
Ограничение на поиск - упакованные файлы. К счастью, FAR автоматически распакует стандартные архивы (zip, 7zip, rar, прочие) и произведёт воиск внутри файлов в архиве. Но файлы, упакованные пакерами (UPX, mpress, PEcompact и т.д.) FAR не распакует, и, соответственно, если текст находится внутри такого файла - он не будет найден.
Где всё это можно использовать? Не поверите - очень во многих случаях. Пример из жизни: вирус-червь. Ни один антивирь не находил, ОС переставлять было нельзя. А вирус просто прописывал свою страничку везде. Пришлось пройти поиском по системному диску (под РЕ, чтобы было проще и быстрее) - искал страничку. Нашлась в профильном каталоге, у черта на колючках! ag Второй этап - найти, кто запускал этот файл... По сути, второй пример: нужно удалить драйвер (либо любой файл, прописанный в системе). Оказалось, что драйвер запускается в реестре (были найдены все улья реестра), и с помощью "безобидного" файла, имитирующего системный. Поиск в реестре и очистка - с помощью RegWorkshop (мегаудобная штука в плане поиска).


Последний раз редактировалось: conty9 (2018-07-04 15:01), всего редактировалось 1 раз

[Цитировать]

    SV-2k10
  • 437
  • Стаж: 3 года 8 месяцев
  • Сообщений: 274
  • Репутация:21

    [+] [-]
conty9, Спасибо – Очень полезная информация !!! aa
Там, сям, многие пытались начинать эту тему, но все как-то не шло…
Дело не в том, что, скажем я, хочу спрятать, например, Твое авторство, но бывают такие ситуации, когда категорически нельзя показывать источники…

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 3 года 9 месяцев
  • Сообщений: 2247
  • Репутация:127

    [+] [-]
conty9, aa
К сожалению все не так просто, ресурсы хранятся в скомпилированном виде , да и упакованы бывают.
Возможно, поиск у FAR лучше сделан, я пользовался TC, не находит нужную строку, особенно если она на кириллице.
Именно из-за этого пришлось писать эту утилиту.

[Цитировать]

    conty9
  • 100
  • Стаж: 3 года 11 месяцев
  • Сообщений: 981
  • Репутация:127

    [+] [-]
nikzzzz, по моему опыту: чаще наоборот - FAR находит там, где другие пасуют. Т.е., ни одним редактором ресурсов "выдрать" текст нет возможности - но FAR его находит. Приходилось даже китайский текст искать, для локализации. А уж с кириллицей - вообще без проблем.
Как пример: утиль для извлечения USB-накопителей USBEjecter из набора HotPlug_v2.7z в этой теме. Редакторы ресурсов пасуют.
В общем, рекомендую взять на вооружение - как альтернативу.

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 3 года 9 месяцев
  • Сообщений: 2247
  • Репутация:127

    [+] [-]
conty9, aa
54991чаще наоборот - FAR находит там, где другие пасуют.
Так я же так и написал, что возможно поиск у FAR лучше сделан, я хоть и пользуюсь в основном TC, но это не значит, что я его фанат.
Кстати, не выложишь свою или еще какую нибудь нормальную сборку Far ?

[Цитировать]

    conty9
  • 100
  • Стаж: 3 года 11 месяцев
  • Сообщений: 981
  • Репутация:127

    [+] [-]
Вот самораспаковка FAR из 2k10. Из бонусов: НЕХ-редактор Hiew32 (по Alt+F4), подсветка синтаксиса, сортировка строк в тексте, преобразование регистра, и т.д.. и т.п..

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 3 года 9 месяцев
  • Сообщений: 2247
  • Репутация:127

    [+] [-]
conty9,
Спасибо, посмотрел, поиск в FAR дает немного другие результаты, чем в TC.
Сравнивать не имеет смысла, алгоритмы немного разные.
А если возможность в FAR хранить настройки не в реестре, то-есть сделать портабельный FAR ?
И как переключиться на Eng, русский перевод интерфейса немного раздражает.
Извиняюсь за ламерские вопросы, просто пользуюсь в основном TC.

[Цитировать]

    korsak7
  • 107
  • Стаж: 3 года 11 месяцев
  • Сообщений: 542
  • Репутация:44

    [+] [-]
nikzzzz, FAR3 изначально заточен под портабельность, ну то есть без костылей. Как переключить - с налету не вспомню, ибо у меня всегда портабельный :)
Eng - вообще не вопрос (в портабле см. Far.exe.ini)
А вообще forum.farmanager.com полезный ресурс

[Цитировать]

    conty9
  • 100
  • Стаж: 3 года 11 месяцев
  • Сообщений: 981
  • Репутация:127

    [+] [-]
nikzzzz, где хранится профиль - определяется файлом Far.exe.ini. В самораспаке для хранения настроек служат папки Profile и Profile.UserLocal в каталоге программы. Самораспаковка сделана так, что не удаляет FAR при выходе и не обновляет файлы (а, соответственно, и настройки). По языку: все программы последний год обновляет korsak7 (я немного отошёл от дел). Он удалил английский из самораспаковки. (( А, вообще, настройка языка - F9, "Языки".

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 3 года 9 месяцев
  • Сообщений: 2247
  • Репутация:127

    [+] [-]
korsak7, conty9, aa
Спасибо, сделал себе сборку FAR.
Попутно выяснил, почему TC не всегда находит текст в bin файлах, проблема была в том, что я указывал поиск текста одновременно в нескольких кодировках (ansi,Utf8,Utf16) , если искать только в одной, проблема исчезает.

[Цитировать]

    conty9
  • 100
  • Стаж: 3 года 11 месяцев
  • Сообщений: 981
  • Репутация:127

    [+] [-]
nikzzzz, однозначно это про.б ТС, так не должно быть. В FAR с таким проблем нет.
А, вообще, многие плаги для FAR и TC идут ноздря в ноздрю. Точнее, делаются теми же авторами или просто создаются аналоги.

[Цитировать]

    conthuongbome
  • 670
  • Стаж: 3 года 7 месяцев
  • Сообщений: 47
  • Репутация:0

    [+] [-]
Conty
You can add driver nve for win2003pe
https://sourceforge.net/projects/nvme-for-windows-2003-server/

[Цитировать]

    zabudkin
  • 18905
  • Стаж: 3 месяца 18 дней
  • Сообщений: 2
  • Репутация:0

    [+] [-]
да и почему в сборки включают сраную Oper'у или QTBrowser, которые флэш не играют на ютюбе/рутюбе, приходится КАЖДЫЙ раз ставить CHROME, где всё работает(!). Неужели сложно включить хром в пакет??????!!!

[Цитировать]

    rradjab
  • 16449
  • Стаж: 1 год 4 месяца
  • Сообщений: 28
  • Репутация:9

    [+] [-]
Нет))

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 3 года 4 месяца
  • Сообщений: 2427
  • Репутация:127

    [+] [-]
  • Откуда: Админ от сюда
zabudkin, Прям сразу возникает желание, вас деактивировать....
Столько эмоций, на пустом месте...
Неужели сложно включить хром в пакет
Всё дело в размере. Хром весит метров 500...

Страница 3 из 4


Показать сообщения:    

Текущее время: 18-Ноя 23:59

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы