2011-12-05 14 views
10

ऐसे सामान्य प्रश्न पूछने के लिए खेद है लेकिन यह मुझे दिनों के लिए परेशान कर रहा है।कोड का यह टुकड़ा क्या कर रहा है? :() {: |: &} ;:

एक दोस्त ने मुझे कोड का यह टुकड़ा दिया (?) और मुझे नहीं बताएगा कि यह क्या करता है, या यहां तक ​​कि यदि यह सी या बाश या कुछ और है।

इसके देखो से, यह मुझे सी की तरह दिखता है। हालांकि मुझे नहीं लगता कि पक्षों पर : क्यों हैं।

:(){:|:&};: 

किसी भी सुराग की सराहना की जाएगी।

+1

बकवास! बस यह सुनिश्चित करें कि जब आप एक अविश्वसनीय स्रोत से "यादृच्छिक" कोड आज़माते हैं जिसे आप इसे गैर-नेटवर्क वाले वीएम के अंदर चलाते हैं। :) –

+2

यह कोई मित्र नहीं है, मैं उससे अधिक कोड लेता हूं ... यदि वह आपको 'chmod -R 666/'करने के लिए कहता है, तो मैं ऐसा नहीं करता –

+0

मैंने इसे बिल्कुल नहीं चलाया। यहां पर केवल एकमात्र चीज़ कांटा मेरा दिमाग था =) – Dimme

उत्तर

25

यह bash खोल स्क्रिप्ट है, नहीं सी

यह एक fork bomb है।

विकिपीडिया यह बताते हैं:

:()  # define ':' -- whenever we say ':', do this: 
{  # beginning of what to do when we say ':' 
    : # load another copy of the ':' function into memory... 
    | # ...and pipe its output to... 
    : # ...another copy of ':' function, which has to be loaded into memory 
     # (therefore, ':|:' simply gets two copies of ':' loaded whenever ':' is called) 
    & # disown the functions -- if the first ':' is killed, 
     #  all of the functions that it has started should NOT be auto-killed 
}  # end of what to do when we say ':' 
;  # Having defined ':', we should now... 
:  # ...call ':', initiating a chain-reaction: each ':' will start two more. 
+6

मैं आमतौर पर "इसे आज़माएं और देखें" की अनुशंसा करता हूं लेकिन इस पर नहीं। –

+0

बहुत बहुत धन्यवाद !!! – Dimme

+7

@ सेठ कार्नेगी: ** कभी नहीं अविश्वसनीय कोड चलाएं। – SLaks

2

यह एक कांटा बम है और मुझे लगता है कि नहीं चला होगा आपके सिस्टम पर। यह प्रक्रियाओं का एक गुच्छा उत्पन्न करने के लिए और आखिरकार धीमा या अपने सिस्टम को दुर्घटनाग्रस्त कर देगा।

संबंधित मुद्दे