kraeved
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Capushon 1. Сегодня sfk.exe не умеет показывать, какие замены не сработали. Я сообщил разработчику, что этой функции не хватает. Так больше шансов, что она появится. Если ещё кто напишет, то совсем хорошо. Ознакомиться с текстом письма на английском языке… 2. Раз вам нужен лог по каждому условию, то пока без многократного чтения ради поиска строки не обойтись. Однако скорость батника всё равно можно повысить, исключив этап многоразовой перезаписи. Сперва нужно проверить наличие строки с помощью команды sfk.exe hexfind: если строка обнаружена, то пишем условие для замены во внешний файл (vivaldi.dll.patch), а если нет, то пишем о пропущенной строке в лог (patch.errors.log). @echo off if exist patch.errors.log del patch.errors.log :vivaldi.dll set "_txt=location.vivaldi.com" set "_src=6C6F636174696F6E2E766976616C64692E636F6D" set "_rpl=302E302E302E302F5F5F5F5F5F5F5F5F5F5F5F5F" call :checkPattern set "_txt=return-404.vivaldi.com" set "_src=72657475726E2D3430342E766976616C64692E636F6D" set "_rpl=302E302E302E302F5F5F5F5F5F5F5F5F5F5F5F5F5F5F" call :checkPattern goto :fixBinary :checkPattern sfk hexfind vivaldi.dll -bin /%_src%/ -nodump -quiet if %errorlevel% equ 1 ( echo :binary echo :# %_txt% echo /%_src%/%_rpl%/ ) >> vivaldi.dll.patch else ( echo [ERR] %_src% >> patch.errors.log ) goto :eof :fixBinary sfk.exe replace vivaldi.dll -bylist vivaldi.dll.patch -yes del vivaldi.dll.patch goto :eof | Всего записей: 1000 | Зарегистр. 01-03-2003 | Отправлено: 21:32 07-02-2024 | Исправлено: kraeved, 05:28 08-02-2024 |
|