কোড গল্ফ অফ ডেথ [বন্ধ]


34

এমন কিছু কোড লিখুন যা একটি বিএসওড বা কার্নেল আতঙ্কের কারণ!

নিয়মাবলী:

  • উইন্ডোজে আপনাকে লিনাক্সে (বা অন্যান্য * নিক্স সিস্টেমে) একটি বাগচেক (মৃত্যুর ব্লু স্ক্রিন) সৃষ্টি করতে হবে আপনার অবশ্যই কার্নেল আতঙ্কের কারণ হতে হবে।
  • সিস্টেমকে ক্ষতিগ্রস্থ করা উচিত নয় (যেমন এটি পুনরায় বুট করা উচিত)
  • কার্নেল-মোড ড্রাইভারগুলি অনুমোদিত।
  • আপনার ওএস এবং সংস্করণ সম্পর্কিত তথ্য লিখুন।
  • ক্র্যাশ কীভাবে হয় তা ব্যাখ্যা করুন।
  • ক্র্যাশ সৃষ্টির জন্য বিশেষভাবে তৈরি করা সরঞ্জামগুলি ব্যবহার করা নিয়মের বিরুদ্ধে নয়, তবে এটি করা খুব সৃজনশীল নয়!
  • সর্বোচ্চ upvotes জিতেছে।

3
@ ইউরোজেন - গতবার আমি যাচাই করেছিলাম, 1/0ডাকা একটি ফাইল স্থাপন করা driver.cবৈধ কার্নেল-মোড ড্রাইভার গঠন করে না। নির্বিশেষে, বিজয়ী কোড দৈর্ঘ্যের উপর ভিত্তি করে upvotes এর উপর ভিত্তি করে।
বহুবর্ষীয়

1
আমি ইদানীং মেটা কোড গল্ফ অনুসরণ করিনি - এখন কি "সর্বোচ্চ-আপভোটেড" অনুমোদিত? (যদি এটি হয় তবে এই ওয়েবসাইটটি আরও 100x আরও দুর্দান্ত পেয়েছে!)
Ry-

1
@ মিনিটেক এটি একটি উদ্দেশ্য মানদণ্ড, সুতরাং কেন এটির অনুমতি দেওয়া হবে না তা আমি দেখছি না।
বহুবর্ষীয়

2
@ পলিয়োনমিয়াল আমি এটি এবং প্রায় সমস্ত উত্তরকে সমর্থন করেছি, তারা দুর্দান্ত এবং সম্প্রদায় সত্যই আশা করছে যে এই ধরণের চ্যালেঞ্জের অনুমতি দেওয়া যেতে পারে, তবে এটি এসই মডেলের সাথে খাপ খায় না।
বিড়াল

4
আমি এই প্রশ্নটিকে অফ-টপিক হিসাবে বন্ধ করতে ভোট দিচ্ছি কারণ এর জন্য দূষিত কোড দরকার, যা আমাদের বিধি লঙ্ঘন করে। meta.codegolf.stackexchange.com/a/4831/34718
mbomb007

উত্তর:


24

বাশ, x86 লিনাক্স 2.6.20 কার্নেল

সতর্কতা: নিম্নলিখিত কমান্ডটি আপনার সিস্টেমে স্থায়ী ক্ষতি করতে পারে।

cat /dev/urandom > /dev/mem

নিম্নলিখিত আউটপুট হবে ( এখানে চেষ্টা করুন )। এর পরে, স্ক্রিপ্টটি স্তব্ধ হয়ে যায়।

/var/root # cat /dev/urandom > /dev/mem                                        
BUG: unable to handle kernel paging request at virtual address 474e82a5         
 printing eip:                                                                  
c01450c4                                                                        
*pde = 00000000                                                                 
Oops: 0000 [#1]                                                                 
CPU:    0                                                                       
EIP:    0060:[<c01450c4>]    Not tainted VLI                                    
EFLAGS: 00000082   (2.6.20 #12)                                                 
EIP is at free_block+0x54/0xf0                                                  
eax: 00000000   ebx: 474e82a1   ecx: c00745c8   edx: c0005e80                   
esi: c0070ce0   edi: c002c1a0   ebp: 00000000   esp: c0085eec                   
ds: 007b   es: 007b   ss: 0068                                                  
Process events/0 (pid: 3, ti=c0084000 task=c0094030 task.ti=c0084000)           
Stack: c0076410 00000002 c0051db0 c0051db0 c0051da0 00000002 c002c1a0 c01457dd  
       00000000 c0070ce0 c002c1a0 c0091840 c0145800 c0145870 00000000 00000000  
       c02cb2a0 c02cb2a0 00000296 c011dd27 c003fab0 c0094030 c009413c 00047e6c  
Call Trace:                                                                     
 [<c01457dd>] drain_array+0x7d/0xa0                                             
 [<c0145800>] cache_reap+0x0/0x110                                              
 [<c0145870>] cache_reap+0x70/0x110                                             
 [<c011dd27>] run_workqueue+0x67/0x130                                          
 [<c011df17>] worker_thread+0x127/0x140                                                                
 [<c010c7d0>] default_wake_function+0x0/0x10                                    
 [<c010c817>] __wake_up_common+0x37/0x70                                        
 [<c010c7d0>] default_wake_function+0x0/0x10                                    
 [<c011ddf0>] worker_thread+0x0/0x140                                           
 [<c0120d94>] kthread+0x94/0xc0                                                 
 [<c0120d00>] kthread+0x0/0xc0                                                  
 [<c0102ee7>] kernel_thread_helper+0x7/0x10                                     
 =======================                                                        
Code: 04 0f 8d 8f 00 00 00 8b 44 24 08 8b 0c a8 8d 91 00 00 00 40 c1 ea 0c c1 e2

এখানে একই কমান্ডের সাথে পাওয়া গেল আরও একটি ব্যতিক্রম:

/dev # cat urandom > mem                                                        
------------[ cut here ]------------                                            
Kernel BUG at c014514c [verbose debug info unavailable]                         
invalid opcode: 0000 [#1]                                                       
CPU:    0                                                                       
EIP:    0060:[<c014514c>]    Not tainted VLI                                    
EFLAGS: 00000046   (2.6.20 #12)                                                 
EIP is at free_block+0xdc/0xf0                                                  
eax: 1608347b   ebx: c009b010   ecx: c003f508   edx: c00057e0                   
esi: c009b000   edi: c002cd40   ebp: 00000000   esp: c0085eec                   
ds: 007b   es: 007b   ss: 0068                                                  
Process events/0 (pid: 3, ti=c0084000 task=c0094030 task.ti=c0084000)           
Stack: c009b010 00000004 c009b010 c009b010 c009b000 00000004 c002cd40 c01457dd  
       00000000 c02ddf20 c002cd40 c0091840 c0145800 c0145870 00000000 00000000  
       c02cb2a0 c02cb2a0 00000296 c011dd27 c005c5a0 c0094030 c009413c 000409ed  

6
আমারও তাই ধারণা. মহান শক্তি দিয়ে মহান দায়িত্ব আসে।
অনুলিপি করুন

15
সিস্টেমের প্রয়োজনীয়তার ক্ষতি করতে হবে অবশ্যই লঙ্ঘন করে - আপনি যদি এটি যথেষ্ট সময় চালনা করেন তবে শেষ পর্যন্ত এটি ডিস্ক ড্রাইভারকে কোড সহ পুনর্লিখন করবে যা ডিস্ককে ফর্ম্যাট করে।
ugoren

5
@ugoren এটি অত্যন্ত সম্ভাবনাময় একটি দৃশ্য। এটি সঠিক জায়গায় সঠিক 32 বিট ঠিকানা এবং নির্দেশাবলীর একটি গুচ্ছ লিখতে হবে এবং অন্যকে ওভাররাইট করতে হবে না
অনুলিপি করুন

9
"এটি যথেষ্ট বার চালান, শেষ পর্যন্ত এটি ডিস্ক ড্রাইভারকে কোড সহ পুনর্লিখন করে যা ডিস্ককে ফর্ম্যাট করে" - নির্দিষ্ট নয়, ইউরেনডম সিউডোর্যান্ডম।
স্কিভে

3
@ugoren "সিস্টেমকে ক্ষতিগ্রস্থ করতে হবে না" নিয়মটি কেবল উত্তরগুলি প্রতিরোধ করার জন্য sudo rm -Rf /। এই পদ্ধতিটি ব্যবহার করে সিস্টেমে স্থায়ী ক্ষতি হওয়ার সম্ভাবনা কম বলার অপেক্ষা রাখে না, বলুন যে লেখার হ্যাশের উপর ভিত্তি করে গানের গানের সংকলনের আউটপুটটিকে জোর করে চাপিয়ে দেওয়া হচ্ছে।
বহুবর্ষীয়

25

সি, 16 অক্ষর, পি 5 এক্স 86 এর জন্য

main=-926478352;

F00F বাগটি সবার মনে আছে ? আমি এই ছোট্ট প্রোগ্রামটি দিয়ে দিনে দু'একবার মেশিনকে লকআপ করতে সহায়তা করেছি। (হ্যাঁ, আমি দীর্ঘদিন ধরে গল্ফ করছিলাম)

মঞ্জুর, এটি যা চাওয়া হয়েছিল তা পুরোপুরি নয়, এবং এটি কেবল P5 পেন্টিয়াম চিপগুলির পুরানো স্টেপিংসগুলিতে কাজ করে। তবে এর পক্ষে, এটি ক্রস প্ল্যাটফর্ম, লিনাক্স এবং উইন্ডোজ উভয় ক্ষেত্রেই কাজ করছে !


2
এটা দূষিত, তাই না?

9

কিউবিসিক, ৩৮ টি অক্ষর

DEF SEG=0:FOR I=0 TO 4^8:POKE I,1:NEXT

আপনি কীভাবে ডস-তে কোনও বিএসওড বা কার্নেল আতঙ্ককে সংজ্ঞায়িত করবেন তা নিশ্চিত নন তবে এটি সম্ভবত বেশ কাছাকাছি। স্ক্রীনটি চালানোর সময় খালি ফাঁকা হয়ে যায়, এবং মেশিনটি কোনও কিছুই সাড়া দেয় না, এমনকি Ctrl + Alt + মুছুন। মেশিনটি আবার চালু করতে আপনাকে একটি হার্ড রিসেট বা পাওয়ার চক্র দিয়ে পুনরায় চালু করতে হবে। এটি ভার্চুয়ালবক্সের অধীনে ডস 6.22 এ চলছে। কেন সিস্টেমটি ক্র্যাশ হওয়ার কারণ হ'ল তা নিশ্চিত নয়, তবে মূলত প্রোগ্রামটি মেমোরিতে (POKE) লিখছে যাতে এর কোনও ব্যবসায়িক লেখা নেই।


2
এটি ক্রাশ হওয়ার কারণ হ'ল আপনি জাঙ্কের সাহায্যে সিস্টেম প্রোগ্রাম মেমরির ওভাররাইট করছেন।
বহুবর্ষীয়

হ্যাঁ, আমি এটি জানতাম, তবে আমি কিছুটা সুনির্দিষ্ট কিছু ভাবছিলাম। আমি মেমরির কোন অংশটি লিখছি তাও নিশ্চিত নই।
কিব্বি

1
আপনি COMMAND.COMকম মেমোরি ঠিকানাতে সঞ্চিত ডস বিঘ্নিত ভেক্টর এবং প্রোগ্রাম কোড ওভাররাইট করছেন । সূত্র: img.tfd.com/cde/MEMMAP.GIF
বহুপদী

8

sh (জেএসলিনাক্সে)

লিনাক্স সূচনা প্রক্রিয়াটিকে সংকেতগুলির বিরুদ্ধে বিশেষ সুরক্ষা দেয় । তবে, আমি লক্ষ্য করেছি যে জেএসলিনাক্স-এ, /sbin/initএকটি শেল স্ক্রিপ্ট যা অন্যান্য বাইনারিগুলি কার্যকর করে (বেশিরভাগ সিমলিংকড /bin/busybox)।

লুপটি shপ্রয়োজনীয় হিসাবে পুনরায় আরম্ভ করার সময় এই "অসীম" :

while /bin/true; do

  setsid sh -c 'exec sh </dev/ttyS0 >/dev/ttyS0 2>&1'

done

যাইহোক, যদি /bin/trueসর্বদা 0 এর প্রস্থান কোডটি না ফেরায়? /binকেবল পঠনযোগ্য রুট ফাইল সিস্টেমে রয়েছে, তবুও লিনাক্স আমাদের "বাইন্ড" ব্যবহার করে এটি পরিবর্তন করতে দেয়:

cp -R /bin /tmp/boom
rm /tmp/boom/true
printf '#!/bin/sh\nexec [ $PPID != 1 ]' > /tmp/boom/true
chmod 755 /tmp/boom/true
mount -o bind /tmp/boom /bin
killall -9 sh

এবং আমরা পেতে:

/var/root # ./boom.sh
Killed
Kernel panic - not syncing: Attempted to kill init!

4

লিনাক্সে ব্যাশ করুন, ২rs টি অক্ষর

echo c>/proc/sysrq-trigger

অথবা যদি আপনার সুডো অনুমতি থাকে:

echo c|sudo tee /proc/sysrq-trigger

1
এটি sh: can't create /proc/sysrq-trigger: nonexistent directoryআমার জন্য ফলাফল । (যদিও এটি jsLinux এ রয়েছে, সুতরাং আমার সম্ভবত একটি বাস্তব বাক্সে পরীক্ষা করা উচিত)
বহুবর্ষীয়

4

জিটিবি , 13 টি অক্ষর

একটি টিআই -৪৪ ক্যালকুলেটর থেকে কার্যকর করা হয়েছে

:"+"→_[_+_→_]

র‌্যামের বেশিরভাগটি নিখরচায় থাকলে ক্রাশ হবে ERR:MEMORY

অন্যথায়, ক্যালকুলেটরের র্যামটি এতটাই আটকে থাকে যে এটি বন্ধ হয়ে যায় এবং এটিকে ছাড়িয়ে দেয়।

"ক্যালকুলেটর ভাইরাস" এর দুর্দান্ত উদাহরণ


আমি, এই মাত্র রাখে +, ++, ++++ইত্যাদি Str0। এটি আমাকে দিয়েছে ERR:MEMORYতবে Str0তাত্ক্ষণিকভাবে আমার 84++ এর মানটি প্রদর্শন করার চেষ্টা করছে । এছাড়াও, এটি আমার সমস্ত প্রোগ্রাম হারাতে বাধ্য করেছে।
LegionMammal978


2
:(){ :|:& };:

বাশ শেলের মধ্যে,

আমি এখানে নিশ্চিত হয়েছি কিনা তা সম্পর্কে আমি নিশ্চিত নই, তবে আপনি যদি এটির যথেষ্ট পরিমাণ সিপিইউ ওভারহিট এবং সিস্টেম ক্র্যাশ করতে দেন এবং কোনও ক্ষতি ছাড়াই এটি নিরাপদে রিবুট করে দেয়, অবশ্যই যদি আপনি এটি সমস্ত সময় করেন তবে কিছু সিস্টেমের ক্ষতি হতে পারে।


6
এটি আসলে কাজ করে না। এটি কেবলমাত্র 100% ব্যবহারে সিপিইউ স্পিন করে, যা কোনও অর্ধ-শালীন কুলিং সিস্টেম দ্বারা উপেক্ষিত হয়। আমি কয়েক মাস ধরে 100% সিপিইউ ব্যবহারে ফোল্ডিং @ হোম চালিয়েছি এবং মেশিনটিকে এমনকি তোলাও হয়নি।
বহুবর্ষীয়


2
@ ওপটিমাস আপনিও এটি এখানে রেখে যেতে পারেন - এটি কোনও বৈধ উত্তর নয়, তবে এটি কোনও ক্ষতি করছে না। আমি আসলেই উইন্ডোজ সমাধানটি আরও কঠিন হওয়ার আশা করতাম, যেহেতু লিনাক্স আপনাকে সত্যিই চাইলে জিনিসগুলি ভাঙতে দেয়।
বহুবর্ষীয়

2
@ পলিয়োনমিয়াল আমি এটি সত্য বলে মনে করি না, লিনাক্স যেভাবে আপনি এটি ভেঙে ফেলতে পারবেন তার চেয়ে ভাল আরও নথী
জবাব দেওয়া বন্ধ করে দিয়েছে

1
নিবন্ধন করুন উইন্ডোজ গ্রাউন্ড আপ থেকে সক্রিয়ভাবে আপনাকে ইউজার-মোড থেকে সিস্টেমের অবস্থার ক্ষতি করতে বাধা দেয় এবং উইন্ডোজ ফাইল সুরক্ষা, লক করা সিস্টেম ফাইল ইত্যাদির মাধ্যমে গুরুত্বপূর্ণ সিস্টেম ফাইলগুলি সংশোধন করা থেকে বিরত রাখে অন্যদিকে লিনাক্স ডিজাইন করা হয়েছে এমন কোনও উপায়ে যা সর্বাধিক স্থিতিশীলতার সুযোগ দেয় যদি আপনি এটির সাথে গোলযোগ করার চেষ্টা না করেন । তবে, আপনি যদি এটির সাথে গোলযোগ করতে চান তবে আপনি এটি করতে পারেন। উদাহরণস্বরূপ, আমি রুট থেকে ইচ্ছামত পরিবর্তন করতে /dev/memবা /dev/kmemচাই।
বহুবর্ষীয়

2

রুবি (রুট হিসাবে চালানো), 36 বা 40 টি অক্ষর (এর জন্য ম্যাচের উপর নির্ভর করে /p*/s*r)

Http://www.kernel.org/doc/Docamentation/sysrq.txt দেখুন এবং 'c'এটি কেন কাজ করে তা দেখতে (উদ্ধৃতি সহ!) অনুসন্ধান করুন

open(Dir['/p*/s*r'][0],?a){|f|f<<?c}

সম্পাদনা: দীর্ঘায়িত সংস্করণ যা আপনার সাথে অন্য জিনিসগুলির সাথে মেলে works /p*/s*r

open('/proc/sysrq-trigger',?a){|f|f<<?c}

সম্পাদনা 2: ইচ্ছাকৃতভাবে overkill।


2
get-process | stop-process -force

পাওয়ারশেল ইন


1
"ক্র্যাশ সৃষ্টির জন্য বিশেষভাবে তৈরি করা সরঞ্জামগুলি ব্যবহার করা নিয়মের বিরুদ্ধে নয়, তবে এটি করা খুব সৃজনশীল নয়!"
জন ডিভোরাক

1

লিনাক্স ব্যাশ

cat /dev/zero > /dev/mem

সম্পূর্ণ স্মৃতি সাফ করুন এবং একটি অসীম কার্নেল আতঙ্কের কারণ।

এখানে চেষ্টা করুন


কিভাবে বিভিন্ন থেকে এই হল এই ? s/zero/urandom/
NoOneIsHere

@ NoOneIsHere কার্নেল আতঙ্ক কখনও এই সংস্করণটি দিয়ে থামে না এবং এখানে মেমরিটি সাফ হয়ে যায়, এলোমেলো বাইটগুলি দিয়ে ভরাট হয় না।
TuxCrafting

0

ব্যাচ, 15 বাইট

:A
start
goto A

রৈখিক সময়ে স্মৃতিটিকে কেবলমাত্র প্রবাহিত করে cmd.exeশত শত ও শত এবং কয়েকশ এবং কয়েকশ এবং কয়েকশ এবং কয়েকশ এবং কয়েকশ এবং কয়েকশ এবং কয়েকশ এবং কয়েকশ এবং কয়েকশ এবং কয়েকশ এবং কয়েকশ এবং কয়েকশ ও কয়েকশ এবং কয়েকশো এবং শত এবং শত এবং শত এবং শত এবং শত এবং শত শত বার।

এখানে একটি মারাত্মক (তবে সম্ভবত অ-প্রতিযোগিতামূলক) 24-বাইট প্রোগ্রাম রয়েছে যা নিজেকে বারবার শুরু করে এবং এভাবে লোগারিথমিক সময়ে স্মৃতিকে উপচে ফেলে (যেমন আপনার র‌্যাম আপগ্রেড করা ক্রাশকে বিলম্বিত করে না)। ধরুন নীচের কোডটি এখানে অবস্থিত C:\a.bat:

:A
start C:\a.bat
goto A

সত্যিই আমি এগুলি চেষ্টা করতে ভয় পাচ্ছি।


কেউ কি লক্ষ্য করেছেন যে পরের প্রোগ্রামটি একটি কাঁটাচামচ?
দোরুকাহান মনিকা

হ্যা, আমি করেছিলাম. :() { : | : & }; :
NoOneIsHere

@0পরিবর্তে কেন না C:\a.bat?
জোহানেস কুহান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.