[Quote]

    conty9
  • 100
  • Longevity: 6 years 6 months
  • Posts: 1338
  • REPUTATION:127

    [+] [-]
  • Location: Західна Україна

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

Толчком для написания послужил этот скрипт. Я уже давно использую способ поиска текста намного проще и эффективнее.
Нам понадобится файловый менеджер 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 (мегаудобная штука в плане поиска).


Last edited by conty9 on 2018-07-04 15:01; edited 1 time in total

[Quote]

    SV-2k10
  • 437
  • Longevity: 6 years 3 months
  • Posts: 275
  • REPUTATION:21

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

[Quote]

    nikzzzz
  • 215
  • Longevity: 6 years 4 months
  • Posts: 3245
  • REPUTATION:127

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

[Quote]

    conty9
  • 100
  • Longevity: 6 years 6 months
  • Posts: 1338
  • REPUTATION:127

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

[Quote]

    nikzzzz
  • 215
  • Longevity: 6 years 4 months
  • Posts: 3245
  • REPUTATION:127

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

[Quote]

    conty9
  • 100
  • Longevity: 6 years 6 months
  • Posts: 1338
  • REPUTATION:127

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

[Quote]

    nikzzzz
  • 215
  • Longevity: 6 years 4 months
  • Posts: 3245
  • REPUTATION:127

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

[Quote]

    korsak7
  • 107
  • Longevity: 6 years 6 months
  • Posts: 1005
  • REPUTATION:59

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

[Quote]

    conty9
  • 100
  • Longevity: 6 years 6 months
  • Posts: 1338
  • REPUTATION:127

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

[Quote]

    nikzzzz
  • 215
  • Longevity: 6 years 4 months
  • Posts: 3245
  • REPUTATION:127

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

[Quote]

    conty9
  • 100
  • Longevity: 6 years 6 months
  • Posts: 1338
  • REPUTATION:127

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

[Quote]

    conthuongbome
  • 670
  • Longevity: 6 years 2 months
  • Posts: 62
  • REPUTATION:1

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

[Quote]

    zabudkin
  • 18905
  • Longevity: 2 years 10 months
  • Posts: 2
  • REPUTATION:0

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

[Quote]

    Joker-2013
  • 1039
  • Longevity: 5 years 11 months
  • Posts: 2156
  • REPUTATION:118

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

[Quote]

    zabudkin
  • 18905
  • Longevity: 2 years 10 months
  • Posts: 2
  • REPUTATION:0

    [+] [-]
http://jeder.ru/?p=161
портабельный под 80 метров всего

Page 3 of 7


Display posts:    

Current time is: 22-Jun 08:30

All times are UTC + 3


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum