在弄android root的時候發現乙個很有趣的東西:fork 炸蛋;(「炸」「彈」被遮蔽……)
隨即去網上搜了一下,感覺非常有意思,拿出來和大家分享一下**)
所謂fork炸蛋是一種在linux作業系統下,使用shell寫的惡意程式,fork炸蛋並不需要有特別的許可權即可對系統造成破壞。fork炸蛋實質是乙個簡單的遞迴程式。由於程式是遞迴的,如果沒有任何限制,這會導致這個簡單的程式迅速耗盡系統裡面的所有資源。
最簡單的fork炸蛋:
:() ;:
一行看似無法理解的只有13個字元的命令,即可占用掉所有系統的資源。
解釋:* 第 1 行說明下面要定義乙個函式,函式名為小數點,沒有可選引數。
* 第 2 行表示函式體開始。
* 第 3 行是函式體真正要做的事情,首先它遞迴呼叫本函式,然後利用管道呼叫乙個新程序(它要做的事情也是遞迴呼叫本函式),並將其放到後台執行。
* 第 4 行表示函式體結束。
* 第 5 行並不會執行什麼操作,在命令列中用來分隔兩個命令用。從總體來看,它表明這段程式包含兩個部分,首先定義了乙個函式,然後呼叫這個函式。
* 第 6 行表示呼叫本函式。
冒號」:」其實是函式名,這個bash指令碼就是在不斷的執行該函式,然後不斷fork出新的程序。
蛋疼的遞迴
幾個經典的遞迴場景 1.斐波那契 2.二叉樹的周遊 深度 前中後序 3.全排列問題 非簡單的全排列 允許字母重複 4.尋找滿足條件的n個數 第乙個的變種 跳台階 題目 乙個台階總共有n 級,如果一次可以跳1 級,也可以跳 2 級。求總共有多少總跳法,並分析演算法的時間複雜度。第二個要複習下非遞迴的寫...
經典的 Fork 炸彈解析
jaromil在2002年設計了最為精簡的乙個linux fork炸彈,整個 只有13個字元,在shell中執行後幾秒後系統就會宕機 這樣看起來不是很好理解,我們可以更改下格式 更好理解一點的話就是這樣 bomb bomb 因為shell中函式可以省略function關鍵字,所以上面的十三個字元是功...
遞迴題目練習 扭蛋機
通過率100 題目描述 22娘和33娘接到了小電視君的扭蛋任務 一共有兩台扭蛋機,編號分別為扭蛋機2號和扭蛋機3號,22娘使用扭蛋機2號,33娘使用扭蛋機3號。扭蛋機都不需要投幣,但有一項特殊能力 扭蛋機2號 如果塞x x範圍為 0正整數 個扭蛋進去,然後就可以扭到2x 1個 扭蛋機3號 如果塞x ...