Пропатчить файл

Как настроить?

С патчами мы сталкиваемся не так часто, но и не так редко. В этой статье мы научимся патчить и создавать патчи. Патчить на самом деле легче, чем можно себе представить.

1) Учимся патчить.

Патчить будем на примере уязвимости для FreeBSD (http://www.securitylab.ru/vulnerability/368343.php). Качаем оттуда патч (wget http://security.FreeBSD.org/patches/SA-09:05/telnetd.patch). После этого нужно выяснить, куда же его положить, что бы патч прошёл успешно. Для этого можно вывести на экран первые несколько строк:

Смотрим внимательно и видим, какой файл он патчит. Поскольку путь начинается с contrib/telnetто можно предполодить, что файл должен находится в папке /usr/src. Копируем его туда и пробуем патчить:

Если после этого у вас на экран вывелось похожее на то, что ниже значит всё удалось. Обычно стоит прочесть, вывод и удостоверится, что всё прошло succeed:

Если вдруг патчу не удаётся найти нужный файл, он выдаёт запрос на указания пути вручную:

после введения пути:

Хочу заметить, что утилита patch имеет так же параметры, которые можно использовать. Например, довольно позным может оказаться ключ -C (check), который позволяет посмотреть, какие изменения будут произведены с файлом, но не пропатчит.

2) Создание патчей.

обычный

Создание патчей происходит немного сложнее, чем патчить. Для этого берём 2 версии одного и того же файла, помещаем их в разные директории, называем одинаково. После этого будем пользоваться командой diff для выявления разницы между файлами. Здесь самое главное соблюсти порядок в котором подаются имена файлов. ИСХОДНЫЙ_ФАЙЛ эталонный файл, ИЗМЕНЁННЫЙ_ФАЙЛ файл, который содержит изменения.

где -u означает унифицированный вывод, то есть с /+++.

После такой операции будет создан файл file.patch, который собственно будет патчем. Файл патча можно так же открыть в текстовом редакторе и подредактировать пути к файлам, если необходимо.

Вот это и всё. Если хотите большего функционала читайте man к указанным здесь бинарникам.

через svn

Расскажу на примере коммита . Это исправление не вышло в качестве патча, зато вошло в коммит 269687. Наша идея такова: делаем diff между 2-мя соседними (нашим 269687 и предыдущим 269686) коммитами и накладываем патч:

Оригинал статьи здесь.

Опубликовано с разрешения редакции журнала RootUA и газеты FOSS News

Запись опубликована автором skeletor в рубрике FreeBSD.

Файлы, которые добавлялись или изменялись в процессе создания порта, могут быть выявлены программой diff(1), а результат работы этой программы может быть в дальнейшем передан программе patch(1). Такое действие с обычным файлом подразумевает сохранение копии файла с первоначальным содержимым перед внесением каких-либо изменений.

Патчи сохраняются в виде файлов с именем , где обозначает путь к файлу, к которому применяется патч, такой как или .

После того как файл был изменён, используется diff(1) для получения разницы между первоначальной и изменённой версиями. Параметр указывает diff(1) выводить разницу в > формате, который также является предпочтительным.

Для порождении патчей для новых добавляемых файлов используется параметр , который заставляет diff(1) трактовать несуществующие прежде файлы как если бы они существовали, но имели пустое содержимое:

Файлы с патчами помещаются в каталоге (как правило, это ), откуда они будут взяты автоматически. Все патчи обязаны быть сделаны относительно каталога (как правило, это каталог, в который распаковывается исходный архив и где будет выполняться построение). Для упрощения внесения изменений и обновлений избегайте наличия более чем одного патча для одного и того же файла (например, патчей и , оба меняющих файл ). Обратите внимание, что если путь к изменяемому файлу содержит символ подчеркивания (), то патч должен содержать в своем имени два подчеркивания вместо одного. Например, для применения патча на файл с именем соответствующий патч следует назвать .

Пожалуйста, используйте для именования патчей только символы . Не используйте любые другие символы, кроме этих. Не называйте патчи как или , всегда ссылайтесь на путь и название файла в названиях самих патчей.

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

Не помещайте строки RCS в патчи. Subversion будет изменять их при помещении файлов в дерево портов, и когда мы будем их оттуда извлекать, они будут уже другие, поэтому применение патчей окончится неудачей. Строчки RCS предваряются знаком доллара (), и обычно начинаются с или .

Использование параметра рекурсии () с командой diff(1) для генерации патчей — это хорошо, но всё же, пожалуйста, смотрите на получающиеся патчи, чтобы убедиться в отсутствии ненужного мусора. В частности, diff-разниц между двумя резервными копиями файлов, файлы , когда как порт использует или GNU-версию программы , и так далее, не нужны, и должны быть удалены. Если было необходимо отредактировать файл и запустить для перегенерации , не нужно включать файлы diff для (они частенько вырастают до нескольких тысяч строк!).

Что такое Lucky Patcher и как им пользоваться

Вместо этого задайте и включите diff-файл для .

Старайтесь минимизировать в патчах объём нефункциональных изменений с пустыми символами. В мире Открытого Исходного Кода является распространенным совместное использование проектами больших объемов кодовой базы, но с различными стилями и правилами отступов. При копировании работающей функциональной части из одного проекта для исправления похожей области в другом, будьте аккуратны, пожалуйста: получаемый однострочный патч может указаться полон нефункциональных изменений. Это не только увеличивает размер репозитория Subversion, но также усложняет поиск того, что конкретно вызвало проблему и что вообще поменялось.

Если нужно удалить файл, сделайте это при выполнении цели , вместо того чтобы оформлять это как часть патча.

Простые перемещения могут быть выполнены непосредственно из порта с использованием sed(1) в режиме in-place. Это удобно, когда при изменении используется значение переменной:

post-patch: @${REINPLACE_CMD} -e ‘s|for Linux|for FreeBSD|g’ ${WRKSRC}/README

Довольно часто в исходных файлах портируемого программного обеспечения используется конвенция CR/LF. Это может стать причиной проблем с дальнейшей упаковкой, предупреждениями компилятора или выполнением скриптов (таких как ). Для быстрого преобразования всех файлов из CR/LF просто в LF добавьте в порта эту запись:

USES= dos2unix

Может быть задан точный список преобразуемых файлов:

USES= dos2unix DOS2UNIX_FILES= util.c util.h

Используйте , чтобы преобразовать группу файлов в разных подкаталогах. Его параметром является регулярное выражение, совместимое с find(1). Подробнее о формате в re_format(7). Такой вариант удобен для преобразования всех файлов заданного расширения. Для примера, преобразуем все исходные файлы, не затрагивая двоичные файлы:

USES= dos2unix DOS2UNIX_REGEX= .*\.(|cpp)

Другим вариантом является использование , который вызывает для каждого из перечисленных в нём элементов.

USES= dos2unix DOS2UNIX_GLOB= *.c *.cpp *.h

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.

По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.

Как использовать патчи для глаз

С патчами мы сталкиваемся не так часто, но и не так редко. В этой статье мы научимся патчить и создавать патчи. Патчить на самом деле легче, чем можно себе представить.

1) Учимся патчить.

Патчить будем на примере уязвимости для FreeBSD (http://www.securitylab.ru/vulnerability/368343.php). Качаем оттуда патч (wget http://security.FreeBSD.org/patches/SA-09:05/telnetd.patch). После этого нужно выяснить, куда же его положить, что бы патч прошёл успешно. Для этого можно вывести на экран первые несколько строк:

Смотрим внимательно и видим, какой файл он патчит. Поскольку путь начинается с contrib/telnetто можно предполодить, что файл должен находится в папке /usr/src. Копируем его туда и пробуем патчить:

Если после этого у вас на экран вывелось похожее на то, что ниже значит всё удалось. Обычно стоит прочесть, вывод и удостоверится, что всё прошло succeed:

Если вдруг патчу не удаётся найти нужный файл, он выдаёт запрос на указания пути вручную:

после введения пути:

Хочу заметить, что утилита patch имеет так же параметры, которые можно использовать. Например, довольно позным может оказаться ключ -C (check), который позволяет посмотреть, какие изменения будут произведены с файлом, но не пропатчит.

2) Создание патчей.

обычный

Создание патчей происходит немного сложнее, чем патчить. Для этого берём 2 версии одного и того же файла, помещаем их в разные директории, называем одинаково. После этого будем пользоваться командой diff для выявления разницы между файлами. Здесь самое главное соблюсти порядок в котором подаются имена файлов. ИСХОДНЫЙ_ФАЙЛ эталонный файл, ИЗМЕНЁННЫЙ_ФАЙЛ файл, который содержит изменения.

где -u означает унифицированный вывод, то есть с /+++.

После такой операции будет создан файл file.patch, который собственно будет патчем. Файл патча можно так же открыть в текстовом редакторе и подредактировать пути к файлам, если необходимо.

Вот это и всё. Если хотите большего функционала читайте man к указанным здесь бинарникам.

через svn

Расскажу на примере коммита . Это исправление не вышло в качестве патча, зато вошло в коммит 269687. Наша идея такова: делаем diff между 2-мя соседними (нашим 269687 и предыдущим 269686) коммитами и накладываем патч:

Оригинал статьи здесь.

Опубликовано с разрешения редакции журнала RootUA и газеты FOSS News

Запись опубликована автором skeletor в рубрике FreeBSD.

Компьютерные программы нередко дают сбои, в результате которых выполнение возложенных на приложения операций становится невозможным. Это мешает работе пользователя, отнимает его время. У часто возникающей ошибки в какой-либо программе причина возникновения может быть такой, что эту самую ошибку встречают и многие другие пользователи. Если программа относится к категории свободного ПО, то неисправность могут находить сами разбирающиеся в программировании пользователи или разработчики. Если приложение закрытое, проприетарное, то поиском причины неисправности занимается исключительно разработчик. В случае обнаружения пишется patch-программа. Далее будет рассмотрено, что такое патч и для чего он нужен.

Слово патч является заимствованием английского patch \заплатка\. Так называют цифровую информацию, предназначенную для размещения в структуре кода основной программы с целью изменения алгоритмов её работы. При помощи патчей в программах достигаются:
• исправления ошибок,
• добавление новых функций,
• изменение внешнего вида,
• добавление непрограммных компонентов (звуковых и графических материалов).

Другими словами, патчи можно назвать обновлениями программных продуктов. Многие приложения выполняют автоматическую проверку на наличие патчей на серверах разработчиков, загрузку и установку обновлений.

Как запустить патч

В некоторых UNIX-подобных операционных системах, в которых инсталляция большинства программ происходит через специальную утилиту, возможна проверка на наличие обновлений для всех приложений сразу. Если в репозиториях обнаруживаются патчи, пользователю предлагается установить их. Некоторые заплатки ставятся автоматически.

Обновлять программное обеспечение важно, поскольку каждый раз обнаруживаются новые проблемы в его функционировании и уязвимости, предоставляющие возможности для несанкционированного доступа к данным на компьютере пользователя.

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

Об этом станет известно из отзывов, точнее, из их отсутствия. Обновление настроек безопасности полезно поставить на автоматический режим. Этим можно обеспечить наибольшую защиту для компьютера.

Таким образом, лучше понять, что такое патч можно, представив его как заплатку для «дыры» в программе. Закрывая уязвимость, можно повысить работоспособность приложения, обеспечить ему стабильную и безопасную работу.

Также статьи на сайте chajnikam.ru на различные темы:
Для чего нужны плагины?
Для чего нужны макросы?
Чем ультрабук отличается от нетбука?
Капча, что это такое?

КАК пропатчить, обновить ядро???

Автор:Klon8321Дата:07.05.2006 11:44Добрый день уважаемые, подскажите как можно пропатчить ядро? напишите поподробнее, а то у меня нет совсем в этом опыта(. Дистрибутив aspserver4. ядро 2.16.9(хм. вроде не ошибаюсь). У меня не работает команда make menuconfig, хотя make config работает( что делать? Буду очень признателен за помощь…

P.S. с этой версией ядра у меня не видится рейд контроллер(promise FT TX2300), хотя вот ставил LinuxXP (это не реклама) и у меня все прекрасно встало и увидеся мой raid( так что я сделал вывод что надо обновить ядро и/или включить поддержку в ядре. ОДИН БОЛЬШОЙ ВОПРОС…. как? Re: КАК пропатчить, обновить ядро???08.05.2006 03:00Bircoph1) При чём тут аппаратное обеспечение?!

> Добрый день уважаемые, подскажите как можно пропатчить ядро?
> напишите поподробнее

Читать FAQ, быстро!

> напишите поподробнее, а то у меня нет совсем в этом опыта

В FAQ есть куча ссылок, и на форумах не раз писали. Вы
кнопочку «поиск» видели? Re: КАК пропатчить, обновить ядро???09.05.2006 16:41Klon8321Bircoph писал(а):

> 1) При чём тут аппаратное обеспечение?!

как понять причем??? при том

>В FAQ есть куча ссылок, и на форумах не раз писали. Вы
кнопочку «поиск» видели?

Видели… а сами не пробовали почитать? если бы я знал как это делать наверное сам бы сделал а если обращаюсь за помощью то наверное надо помочь… а лень писать, зачем тогда вообще отвечать? Или ссылку кинуть на нормальную статью… Re: КАК пропатчить, обновить ядро???09.05.2006 16:44Klon8321Vascom писал(а):

>

а там бредовые вопросы типа как включить музыку… все равно что кинуть ссылку на собрание сочинений Толстого, ищите сами, вроде как помог… На самом деле так не делается, знаете, если помогаете то помогаете, нет, так зачем кидать ссылки на непонятные факи(? Re: КАК пропатчить, обновить ядро???09.05.2006 18:15WoodooKlon8321 писал(а):

> вроде как помог… На самом деле так не делается, знаете, если
> помогаете то помогаете, нет, так зачем кидать ссылки на
> непонятные факи(?

ASPLinuxServer IV — специфичный дистрибутив, он есть далеко не у каждого посетителя этих форумов.
Обратитесь со своим вопросом в support@asplinux.ru.
Очень возможно, что у них есть «готовое решение» и патчить ядро просто… не нужно. Re: КАК пропатчить, обновить ядро???10.05.2006 06:59NeonoviceKlon8321 писал(а):
> У
> меня не работает команда make menuconfig, хотя make config
> работает( что делать? Буду очень признателен за помощь…

Ставить пакеты ncurses и ncurses-devel.

> P.S. с этой версией ядра у меня не видится рейд
> контроллер(promise FT TX2300), хотя вот ставил LinuxXP (это не
> реклама) и у меня все прекрасно встало и увидеся мой raid( так
> что я сделал вывод что надо обновить ядро и/или включить
> поддержку в ядре. ОДИН БОЛЬШОЙ ВОПРОС…. как?

Один большой ответ:
читать «непонятный» ,
пока он не станет «понятным».
Насчет RAID ничего конкретно не могу посоветовать. Ищите здесь же на форуме, а также на www.asplinux.net, и не пренебрегайте. Ваши вопросы обсосаны неоднократно. Re: КАК пропатчить, обновить ядро???

10.05.2006 09:24VascomKlon8321 писал(а):

>>

>а там бредовые вопросы типа как включить музыку… все равно что кинуть ссылку на собрание сочинений Толстого, ищите сами, вроде как помог…

Учимся патчить и создавать патчи

На самом деле так не делается, знаете, если помогаете то помогаете, нет, так зачем кидать ссылки на непонятные факи(?

И чего же это в FAQ непонятного? Там же чёрным по белому написано:

19. Сборка программ:

19.10 Как накладывать патчи? Как накладывать патчи на ядро? (patch, diff)? Как убирать патчи?

19.13 При сборке ядра `make menuconfig` ругается, что ncurses не установлен.

Если давать только конкретные ответы, то ничему научиться невозможно. Сперва надо уяснить общие правила решения проблем.
А этот ФАК надо если не прочитать полностью, то хотя бы посмотреть на все вопросы, и много проблем можно решить. Зачем вы искали ответ в разделе Мультимедия? Да и бредовых вопросов типа «как включить музыку» там нет, есть только вполне конкретные вопросы со словами «музыка» и «звук».

Ответ на ваш большой вопрос: спросите у разработчиков LinuxXP как они этого добились, сравните конфиги ядер на предмет поддержки этого контроллера.

Стартовая страница > Файлы > patch.exe — Что это такое?

Как удалить patch

Patch.exe — это исполняемый файл (программа) для Windows. Расширение имени файла .exe — это аббревиатура от англ. слова executable — исполнимый. Необходимо запускать исполняемые файлы от проверенных производителей программ, потому что исполняемые файлы могут потенциально изменить настройки компьютера или нанести вред вашему компьютеру.

Патчи для глаз: зачем они нужны и как ими пользоваться

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

Вот так, вы сможете исправить ошибки, связанные с patch.exe

  1. Используйте программу Настройщик Windows, чтобы найти причину проблем, в том числе и медленной работы компьютера.
  2. Обновите программу Patch. Обновление можно найти на сайте производителя (ссылка приведена ниже).
  3. В следующих пунктах предоставлено описание работы patch.exe.

Информация о файле patch.exe

Процесс Patch принадлежит программе Project1 от неизвестно.

Описание: patch.exe не является важным для Windows и часто вызывает проблемы. Patch.exe находится в подпапках «C:\Program Files». Размер файла для Windows 10/8/7/XP составляет 36,864 байт.  
Нет более детального описания программы. Приложение не видно пользователям. Процесс загружается во время процесса загрузки Windows (Смотрите ключ реестра: MACHINE\Run, Winlogon\Shell). Это не файл Windows. Процесс слушает или шлет данные на открытые порты в сети или по интернету. Поэтому технический рейтинг надежности 70% опасности.

Рекомендуем: Выявление проблем, связанных с patch.exe

  • Если patch.exe находится в папке C:\Windows\System32, тогда рейтинг надежности 63% опасности. Размер файла 649,471 байт. У файла нет информации о создателе этого файла. Процесс загружается во время процесса загрузки Windows (Смотрите ключ реестра: MACHINE\Run, Winlogon\Shell). Это не системный файл Windows. Patch.exe способен подключится к интернету и записывать ввод данных.
  • Если patch.exe находится в папке C:\Windows, тогда рейтинг надежности 80% опасности. Размер файла 494,592 байт. Нет информации по файлу. Это неизвестный файл в папке Windows. У процесса нет видимого окна. Процесс начинает работу при запуске Windows (Смотрите ключ реестра: MACHINE\Run, Winlogon\Shell). Это не файл Windows. Patch.exe способен записывать ввод данных и спрятать себя.

Важно: Некоторые вредоносные программы используют такое же имя файла patch.exe, например Backdoor.Win32.Netbus.170 (определяется антивирусом Kaspersky), и NetBus.svr (определяется антивирусом McAfee). Таким образом, вы должны проверить файл patch.exe на вашем ПК, чтобы убедиться, что это угроза. Мы рекомендуем Security Task Manager для проверки безопасности вашего компьютера.

Комментарий пользователя

это программа с вирусом
пацан

Итого: Средняя оценка пользователей сайта о файле patch.exe: — на основе 1 голоса с 1 отзывом.

42 пользователей спрашивали про этот файл. Один пользователь оценил, как опасный (программа-шпион, троян, реклама, вирус).

Лучшие практики для исправления проблем с patch

Аккуратный и опрятный компьютер — это главное требование для избежания проблем с patch. Для этого требуется регулярная проверка компьютера на вирусы, очистка жесткого диска, используя cleanmgr и sfc /scannow, удаление программ, которые больше не нужны, проверка программ, которые запускаются при старте Windows (используя msconfig) и активация Автоматическое обновление Windows. Всегда помните о создании периодических бэкапов, или в крайнем случае о создании точек восстановления.

Если у вас актуальные проблемы, попробуйте вспомнить, что вы делали в последнее время, или последнюю программу, которую вы устанавливали перед тем, как появилась впервые проблема. Используйте команду resmon, чтобы определить процесс, который вызывает проблемы. Даже если у вас серьезные проблемы с компьютером, прежде чем переустанавливать Windows, лучше попробуйте восстановить целостность установки ОС или для Windows 8 и более поздних версий Windows выполнить команду DISM.exe /Online /Cleanup-image /Restorehealth. Это позволит восстановить операционную систему без потери данных.

Следующие программы могут вам помочь для анализа процесса patch.exe на вашем компьютере: Security Task Manager отображает все запущенные задания Windows, включая встроенные скрытые процессы, такие как мониторинг клавиатуры и браузера или записей автозагрузки. Уникальная оценка рисков безопасности указывает на вероятность процесса быть потенциально опасным — шпионской программой, вирусом или трояном. Malwarebytes Anti-Malware определяет и удаляет бездействующие программы-шпионы, рекламное ПО, трояны, кейлоггеры, вредоносные программы и трекеры с вашего жесткого диска.

patch сканер

Security Task Manager показывает все запущенные сервисы Windows, включая внедренные скрытые приложения (например, мониторинг клавиатуры или браузера, авто вход). Уникальный рейтинг надежности указывает на вероятность того, что процесс потенциально может быть вредоносной программой-шпионом, кейлоггером или трояном.

Бесплатный aнтивирус находит и удаляет неактивные программы-шпионы, рекламу, трояны, кейлоггеры, вредоносные и следящие программы с вашего жесткого диска. Идеальное дополнение к Security Task Manager.

SpeedUpMyPC бесплатное сканирование, очистка, восстановление и оптимизация вашей системы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *