Показать сообщение отдельно

  #16  
Старый 12.07.2007, 20:33
genom--
Постоянный
Регистрация: 09.07.2006
Сообщений: 937
Провел на форуме:
1948091

Репутация: 1686


По умолчанию

#!perl -X
BEGIN { $SIG{INT} = sub { exit print '=(' } }
while(chomp($_=<STDIN>)){s/e/e/e;exit print'=('until!($+[0]+$-[0]!=3);/$_/ and $=+=ord$& foreach(split$,);goto SUCCESS unless $=!=(int oct'0x329')*(int(rand0xffffff)**int(rand1));exit print '=(';}
SUCCESS: exit print"\x44\x4f\x4e\x45\x21"

ксуренг ты или прикалываешься так что уже не смишно или думаешь что я боб марли а вы все гавно -- одно из двух имхо


ну давай разбираться -- чтобы прокатили все проверки нужена строка в которой будет формат чтобы $- начала принимать значения и чтобы содержала букву e чтобы $+=1

итого они должны дать в сумме 3 чтобы прокатило exit print'=('until!($+[0]+$-[0]!=3);

у меня это выполняется буквами xe

далее сделав print (int oct'0x329')*(int(rand0xffffff)**int(rand1); мы получаем число 809 при сравнении с которым идет переброс на метку с выводом DONE!

немного взглянув на строчку $=+=ord$& foreach(split$,) мы понимаем что в она принимает значение за счет суммирования с нее кодов сиволов из введенной строки ну там еще кое что но оно не существенно -- и их суммма должна равняться 809

тут нам нужен любой char декодер
вообщем вставляем перед самым goto -- print "$=\n"; и печатаем чтонить например начинающеееся на xe --- и смотрим какая сумма у нас получилась и сколько нам нехватает то 809 ------ с комбинацией xernia у меня незватало 102 до 809 ну и поэтому пришлось вставить пробел(32) и F(70)

и вуаля получилось то что надо

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

ps нелюблю пм =)
 
Ответить с цитированием