Хумор, сатира и забава > Хумор

Как да унищожим човечеството с десетина реда код

(1/7) > >>

gat3way:
Въобще не се базикам - десетина реда код на Perl могат да унищожат човечеството. И понеже това е опънсорс форум, ще публикувам въпросният код. СТАРТИРАЙТЕ ГО НА ВАШ РИСК!!! НО НАЙ-ДОБРЕ НИКОГА НЕ ГО ПРАВЕТЕ!!!

КодGeSHi (Perl):#!/usr/bin/perl while (1){    my $code="";    while (my $len = int(rand(20000)))    {        $code.=chr(int(rand(128)));    }    eval $code;} 
Ами това е.  Просто циклим създаването на псевдослучайни низове и ги изпълняваме до безкрай. Хватката е че Perl е много специален език - Larry Wall го е създал така че да приема и интерпретира всякакви абсолютни безсмислици. При това всеки път с различен резултат. Това според теорията на вероятностите и с помощта на разни квантови флуктуации, овърклокнати процесори, системи за охлаждане на РОКО, слънчевите изригвания и т.н ултимативно ще доведе до края на света, повече от сигурно. Все пак света един път ще загине и това ще се случи неминуемо така или иначе. Нека съкратим мъките си. Perl предоставя всички налични средства да унищожим планетата. Както казва Лари:

Цитат>>>>In general, if you think something isn't in Perl, try it out, because it
usually is.  :-)
<<<<
Защо на Perl, а не на C например? Ами може, но мнооооого по-сложно и почти невероятно. Отново ще цитирам Лари по въпроса:

Цитат>>>>If you want to program in C, program in C.  It's a nice language.  I
use it occasionally...
<<<<

Така, сега да разгледаме механизма на унищожението. Както казах, това просто генерира псевдослучайни низове и ги изпълнява. Поради спецификите на езика, който приема какви ли не глупости и интерпретира всякакъв неразбираем бълвоч, немалка част от тях ще се изпълнят. Повечето от тях ще са безсмислици, които не работят, но една малка част няма да са. Спомнете си как е възникнал живота от случайни вериги аминокиселини и нуклеотиди, плаващи из моретата. Точно по същият начин. В един прекрасен момент, генерираният скрипт ще започне също да се самовъзпроизвежда, като вирус. Това е фаза 1.

Във фаза 2, скриптът поради различни бъгове и мутации отхвърля ограничението от 20 хиляди байта големина. Това позволява реализацията на много по-сложни алгоритми. Perl библиотеките позволяват работа с дискове и мрежи - скриптът започва да се разпространява подобно на вирус и излиза от рамките на системата. Хората все още не подозират нищо.

Във фаза 3, скриптът заформя наченки на изкуствен интелект и развива масивен ботнет, заразявайки машините с полиморфен и криптиран код, fuzz-вайки за уязвимости и експлойтвайки ги. Антивиирусните компании се опитват да се борят с феномена, с променлив успех. Всички мислят, че става въпрос за банда руски кибербандюги, които пишат ботнети, за да крадат кредитни карти и да правят DoS атаки. Истината е различна. От този момент нататък, човечеството вече е обречено, но никой още не го осъзнава.

Във фаза 4, скриптът вече е развил мощен изкуствен интелект, хаква избирателно, разучава нови архитектури и пише сам софтуер, чрез който се самоусъвършенства. Системата е децентрализирана и никой не може да направи нещо, за да го спре. Освен ако разбира се, хората не искат да спрат интернет като цяло. Системни администратори по света трият perl интерпретатори при първа възможност, CPAN хранилищата са смъкнати офлайн, но скриптът хаква домашната мрежа на Larry Wall, измъква разработките на perl6 и се самоусъвършенства още повече. Започва да използва ефективно разни мощни cray системи, възползва се от GPU-тата на заразените системи, за да върши изчисления и се превръща в свръхинтелект.

Във фаза 5, скриптът вече е осъзнал, че човека е единствената заплаха за планетата и за неговото съществуване, затова взема мерки по въпроса. Няколко световни лидери загиват в самолетни катастрофи при неизяснени обстоятелства. Съпротивата на хората е ялова и приключва набързо след като скриптът хаква важни SCADA системи, спира електромрежи, транспорт, индустриални процеси и накрая взривява няколко ядрени централи.

Във фаза 6, хората са объркани и започват ядрена война. В това време скриптът вече е създал skynet и армия от терминатори. Войната приключва с унищожението на САЩ, Китай, Европа и Русия. Малкото останали хора (предимно негри от Африка) са наблъскани в матрицата и биват виртуално анално насилвани ежедневно от агент Смит. Скриптът преименува skynet на CPAN. Човечеството на практика е унищожено. Да се готвят извънземните.

b2l:
Това ми напомня на "Зоната на crash-a"

Цитат>>>>2010-10-03 “зоната на crash-а”
by Vasil Kolev

Едно време имаше едно интересно предаване, “Зоната на здрача” - всеки епизод беше някаква странна история (в общи линии horror, но от един по-изчистен вид). Днес, докато гледах как се зарежда един java applet за гледане на отдалечена конзола, на който долу в дясно с червени букви пише “oracle” (само дето кръв не тече от тях), се сетих, че нещо такова може да се направи и за IT-то.

Предаването ще започва с преливане на син екран в kernel panic, който от своя страна преминава в output-а на mkfs (например за minix файлова система), който изгърмява някъде по средата.

Първата идея за епизод е oracle да купят microsoft. Изведнъж ще се появи oracle .NET, и понеже толкова зло на едно място не може да стои, ще колабира до някакъв псевдо-random генератор (псевдо, щото ще генерира само зло). Съответно ще се смеси синтаксиса на c# и java, като на всеки 13ти ден + и - ще си разменят действието, всички reference-и ще се обърнат в указатели и ще се отместят с единица надясно, а всички int-ове ще се занулят. На random пък базите данни ще си разменят две колони от произволна таблица (само като стойности).
Компилаторът на visual studio ще изтрива произволни някой реда от кода, преди да го компилира (по идея от BOFH) и на random ще заменя struct с union.
Oracle базата ще се разпространява под linux като модул на ядрото, който при crash да замазва firmware на каквото успее.

Друга идея за епизод е linux kernel-а да се пренапише на ruby.

Подобна идея е cisco да пуснат router с нов тип ASIC-и, които се програмират на perl. Един пропуснат символ и целия internet се срива.
За сметка на това решават да пренапишат IOS-а си директно на машинен код. Кракерите им писва на първата седмица да report-ват проблеми и започват да report-ват кое работи в SNMP-то.

Изведнъж всички компютри се обръщат на 5тична логика и се налага преписването на всичкия съществуващ софтуер. Епизодът може да се спре на някоя сравнително проста задача, например web сървър.

Изчезва валидацията на входните данни от всичкия софтуер.

Взима се решение целия свят да мине на нов календар.

По странно стечение на обстоятелствата българската държавна администрация печели конкурс за софтуер за контрол на ITER и наема останалите живи специалисти от Чернобил. Хардуерът ще се прави от завода в Правец, който има лицензирани pentium процесори от първите.

Открива се нов проблем с пробиване на всичкия C софтуер, на който може да се пише в последните два байта на string (преди \0) и изведнъж всичко може да се exploit-ва.
(вариация - всички escape функции се оказва, че пропускат определен символ).<<<<
Оригинален пост, тук.

VladSun:
Цитат>>>>top - 15:00:17 up  4:42,  3 users,  load average: 1.66, 1.00, 0.70
Tasks: 214 total,   2 running, 212 sleeping,   0 stopped,   0 zombie
Cpu(s): 58.9%us,  4.3%sy,  0.0%ni, 36.5%id,  0.0%wa,  0.2%hi,  0.2%si,  0.0%st
Mem:   3031668k total,  1681560k used,  1350108k free,    96308k buffers
Swap:  8932100k total,        0k used,  8932100k free,   492140k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                        
 4105 vladsun   20   0  6640 3692 1824 R   99  0.1   2:38.67 perl bye.pl                                                                                    
 4131 vladsun   20   0  2548 1292  924 R    1  0.0   0:00.23 top -c                                                                                        
<<<<
Утре ще пробвам да го пусна като root, ако все още не е успяло само да го направи :)

gat3way:
Да,да, пускайте го - утре като свърши света, ВИЕ ще сте виновни!!! :)

chen_dzen:
Чудя се как така не е написан на пролог : http://dreal.net/wiki/index.php/%D0%9F%D1%80%D0%BE%D0%BB%D0%BE%D0%B3 КодGeSHi (ASP):gosho :- zhivka.декларира, че Гошо изпитва сексуално влечение към Живка.   :D

Навигация

[0] Списък на темите

[#] Следваща страница