對不起,提出這樣一個普遍的問題,但這一直困擾着我好幾天。這段代碼在做什麼? :(){:|:&};:
一位朋友給了我這段代碼(?),不會告訴我它做了什麼,或者即使它是C或bash或其他任何東西。
從它的外觀來看,它看起來像C。雖然我沒有得到爲什麼有兩側:
。
:(){:|:&};:
任何線索將不勝感激。
對不起,提出這樣一個普遍的問題,但這一直困擾着我好幾天。這段代碼在做什麼? :(){:|:&};:
一位朋友給了我這段代碼(?),不會告訴我它做了什麼,或者即使它是C或bash或其他任何東西。
從它的外觀來看,它看起來像C。雖然我沒有得到爲什麼有兩側:
。
:(){:|:&};:
任何線索將不勝感激。
這是bash shell的腳本,而不是C.
這是一個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.
這是一個叉炸彈,我不會跑,你的系統上。它會導致一堆進程產生並最終減慢或崩潰你的系統。
廢話!只要確保當您嘗試從不可信來源獲得的「隨機」代碼,並在非聯網的虛擬機中運行該代碼即可。 :) –
這不是一個朋友,我會採取更多的代碼...如果他告訴你做'chmod -R 666 /',我不會那麼做 –
我當然沒有運行它。這裏被叉炸的唯一東西就是我的頭腦=) – Dimme