Magic Numbers: รหัสลับที่โปรแกรมเมอร์ซ่อนไว้ในพีซีของคุณ

Nov 3, 2024
ความเป็นส่วนตัวและความปลอดภัย

นับตั้งแต่คนแรกเขียน 5318008 บนเครื่องคิดเลขพวกเนิร์ดได้ซ่อนหมายเลขลับไว้ในพีซีของคุณและใช้เพื่อเจรจาการจับมือกันอย่างลับๆระหว่างแอปพลิเคชันและไฟล์ วันนี้เรามาดูตัวอย่างความบันเทิงเพิ่มเติมกันอย่างรวดเร็ว

Magic Numbers คืออะไร?

ภาษาโปรแกรมส่วนใหญ่ใช้ประเภทจำนวนเต็ม 32 บิตเพื่อแสดงข้อมูลบางประเภทที่อยู่เบื้องหลัง - ตัวเลขจะถูกเก็บไว้ใน RAM หรือใช้โดย CPU เป็น 32 ตัวและศูนย์ แต่ในซอร์สโค้ดจะเขียนเป็นอย่างใดอย่างหนึ่ง รูปแบบทศนิยมปกติหรือเป็นรูปแบบเลขฐานสิบหกซึ่งใช้ตัวเลข 0 ถึง 9 และตัวอักษร A ถึง F

เมื่อระบบปฏิบัติการหรือแอปพลิเคชันต้องการกำหนดประเภทของไฟล์ก็สามารถมองไปที่จุดเริ่มต้นของไฟล์เพื่อหาเครื่องหมายพิเศษที่แสดงถึงประเภทของไฟล์ ตัวอย่างเช่นไฟล์ PDF อาจเริ่มต้นด้วยค่าฐานสิบหก 0x255044462D312E33 ซึ่งเท่ากับ“% PDF-1.3” ในรูปแบบ ASCII หรือไฟล์ ZIP เริ่มต้นด้วย 0x504B ซึ่งเท่ากับ“ PK” ซึ่งมาจากยูทิลิตี้ PKZip ดั้งเดิม เมื่อดูที่ "ลายเซ็น" นี้จะสามารถระบุประเภทไฟล์ได้อย่างง่ายดายแม้ไม่มีข้อมูลเมตาอื่น ๆ

ไฟล์ Java Class ที่คอมไพล์ขึ้นต้นด้วย CAFEBABE

"ไฟล์" ยูทิลิตี้ Linux สามารถใช้จากเทอร์มินัลเพื่อกำหนดประเภทของไฟล์ - อันที่จริงแล้ว อ่านตัวเลขมหัศจรรย์จากไฟล์ เรียกว่า“ เวทมนตร์”

เมื่อแอปพลิเคชันต้องการเรียกใช้ฟังก์ชันแอปพลิเคชันสามารถส่งผ่านค่าไปยังฟังก์ชันนั้นโดยใช้ประเภทมาตรฐานเช่นจำนวนเต็มซึ่งสามารถแสดงในซอร์สโค้ดในรูปแบบเลขฐานสิบหก โดยเฉพาะอย่างยิ่งสำหรับค่าคงที่ซึ่งเป็นตัวระบุที่กำหนดด้วยชื่อที่มนุษย์อ่านได้เช่น AUTOSAVE_INTERVAL แต่จะจับคู่กับค่าจำนวนเต็มจริง (หรือประเภทอื่น) ดังนั้นแทนที่จะให้โปรแกรมเมอร์พิมพ์ค่าเช่น 60 ทุกครั้งที่เรียกใช้ฟังก์ชันในซอร์สโค้ดพวกเขาสามารถใช้ค่าคงที่ AUTOSAVE_INTERVAL เพื่อให้อ่านง่ายขึ้น (ค่าคงที่มักจะจำได้ง่ายเพราะเขียนด้วยตัวพิมพ์ใหญ่ทั้งหมด)

ตัวอย่างทั้งหมดนี้อาจอยู่ภายใต้ข้อกำหนด เลขวิเศษ เนื่องจากอาจต้องใช้เลขฐานสิบหกที่เฉพาะเจาะจงเพื่อให้ฟังก์ชันหรือประเภทไฟล์ทำงานได้อย่างถูกต้อง ... หากค่าไม่ถูกต้องก็จะใช้ไม่ได้ และเมื่อโปรแกรมเมอร์ต้องการความสนุกสนานเล็กน้อยพวกเขาอาจกำหนดค่าเหล่านี้โดยใช้เลขฐานสิบหกที่สะกดคำในภาษาอังกฤษหรือที่เรียกว่า hexspeak .

สนุกกับ Magic Numbers: ตัวอย่างที่โดดเด่นบางประการ

AppleScript ทุกตัวลงท้ายด้วย FADEDEAD

หากลองดูอย่างรวดเร็ว ลงในซอร์สโค้ด Linux คุณจะเห็นว่าการเรียกระบบ _reboot () บน Linux ต้องการตัวแปร "magic" ในการส่งผ่านซึ่งเท่ากับเลขฐานสิบหก 0xfee1dead หากมีบางอย่างพยายามเรียกใช้ฟังก์ชันนั้นโดยไม่ส่งผ่านค่าวิเศษนั้นก่อนก็จะส่งคืนข้อผิดพลาด

GUID (ตัวระบุที่ไม่ซ้ำกันทั่วโลก) สำหรับไฟล์ พาร์ติชันสำหรับบูต BIOS ใน โครงร่างการแบ่ง GPT คือ 21686148-6449-6E6F-744E-656564454649 ซึ่งสร้างสตริง ASCII“ Hah! IdontNeedEFI” ซึ่งเป็นการพาดพิงถึงข้อเท็จจริงที่ว่าโดยปกติ GPT จะถูกใช้ใน คอมพิวเตอร์ที่แทนที่ BIOS ด้วย UEFI แต่ไม่จำเป็นต้องเป็นเช่นนั้น

Microsoft มีชื่อเสียง ซ่อน 0x0B00B135 ในเครื่องเสมือน Hyper-V ของพวกเขาที่สนับสนุนซอร์สโค้ดที่ส่งไปยัง Linux แล้ว พวกเขาเปลี่ยนค่าเป็น 0xB16B00B5 และในที่สุดพวกเขา เปลี่ยนเป็นทศนิยม ก่อนที่จะถูกลบออกจากซอร์สโค้ดทั้งหมด

ตัวอย่างสนุก ๆ ได้แก่ :

  • 0xbaaaaaad - ใช้โดย การบันทึกข้อขัดข้องของ iOS เพื่อระบุว่าบันทึกเป็นสแต็กช็อตของระบบทั้งหมด
  • 0xbad22222 - ใช้โดยการบันทึกข้อขัดข้องของ iOS เพื่อระบุว่าแอป VoIP ถูก iOS ฆ่าเนื่องจากทำงานผิดปกติ
  • 0x8badf00d - (Ate Bad Food) ที่ iOS ใช้บันทึกข้อขัดข้องเพื่อระบุว่าแอปพลิเคชันใช้เวลาทำบางสิ่งนานเกินไปและถูกฆ่าโดยการหมดเวลาของสุนัขเฝ้าบ้าน
  • 0xdeadfa11 - (Dead Fall) ใช้โดยการบันทึกข้อขัดข้องของ iOS เมื่อผู้ใช้บังคับให้ปิดแอป
  • 0xDEADD00D - ใช้โดย Android เพื่อระบุการยกเลิก VM
  • 0xDEAD10CC (Dead Lock) ใช้โดยการบันทึกข้อขัดข้องของ iOS เมื่อแอปพลิเคชันล็อกทรัพยากรในพื้นหลัง
  • 0xBAADF00D (อาหารไม่ดี) ที่ใช้โดยไฟล์ LocalAlloc ฟังก์ชันใน Windows สำหรับการดีบัก
  • 0xCAFED00D (Cafe dude) ที่ใช้โดยการบีบอัด pack200 ของ Java
  • 0xCAFEBABE (Cafe babe) ที่ Java ใช้เป็นตัวระบุสำหรับไฟล์คลาสที่คอมไพล์
  • 0x0D15EA5E (โรค) ที่ Nintendo ใช้บน Gamecube และ Wii เพื่อระบุว่ามีการบู๊ตปกติเกิดขึ้น
  • 0x1BADB002 (การบูตไม่ดี 1 รายการ) ที่ใช้โดยไฟล์ มัลติบูต สเปคเป็นเลขวิเศษ
  • 0xDEADDEAD - ใช้โดย Windows เพื่อระบุไฟล์ เกิดข้อผิดพลาดในการแก้ไขข้อบกพร่องด้วยตนเอง หรือที่เรียกว่า Blue Screen of Death

สิ่งเหล่านี้ไม่ใช่เพียงตัวอย่างเดียวเท่านั้น แต่เป็นเพียงตัวอย่างสั้น ๆ ที่ดูน่าสนุก รู้อะไรอีกไหม? บอกเราในความคิดเห็น

ดูตัวอย่างด้วยตัวคุณเอง

คุณสามารถดูตัวอย่างเพิ่มเติมได้โดยเปิดตัวแก้ไขฐานสิบหกจากนั้นเปิดไฟล์ประเภทใดก็ได้ มีโปรแกรมแก้ไข hex ฟรีแวร์มากมายสำหรับ Windows, OS X หรือ Linux - เพียงแค่ ตรวจสอบให้แน่ใจว่าคุณระมัดระวังในการติดตั้งฟรีแวร์ เพื่อไม่ให้ติด crapware หรือสปายแวร์

ตัวอย่างเพิ่มเติมอิมเมจการกู้คืนสำหรับโทรศัพท์ Android เช่น ClockworkMod เริ่มต้นด้วย“ ANDROID!” หากอ่านในรูปแบบ ASCII

บันทึก: อย่าเปลี่ยนอะไรในขณะที่คุณมองไปรอบ ๆ ตัวแก้ไข Hex สามารถทำลายสิ่งต่างๆได้!

IPhone Secret Codes!

Samsung Secret Codes To Speed Up Your Phone

Call Of Duty: Black Ops - Hidden Menu Secret And Computer Codes - Mini-Games And Cheats

JavaScript Security: Hide Your Code?

Secret Phone Codes You Didn't Know Existed!

CODES Honor Play - Secret Menu / Hidden Mode / EMUI Tricks


ความเป็นส่วนตัวและความปลอดภัย - บทความยอดนิยม

CCleaner ถูกแฮ็ก: สิ่งที่คุณต้องรู้

ความเป็นส่วนตัวและความปลอดภัย Oct 17, 2025

CCleaner , ยูทิลิตี้การบำรุงรักษาพีซียอดนิยมอย่างไม่น่าเชื่อ ..


วิธีพิมพ์ข้อความที่ซ่อนอยู่ใน Word

ความเป็นส่วนตัวและความปลอดภัย Aug 26, 2025

Word ทำให้ง่ายต่อการจัดรูปแบบข้อความที่ซ่อนไว้ดังนั้นจึงไม่สามา�..


Chrome นำแอปไปยังเดสก์ท็อปของคุณ: ใช้คุ้มค่าหรือไม่

ความเป็นส่วนตัวและความปลอดภัย Dec 18, 2024

เนื้อหาที่ไม่ถูกแคช คุณใช้แอปพลิเคชัน Windows, Mac หรือ Linux หรือไม่ Google ต้�..


HTG รีวิว Netgear Nighthawk: Nextgen Router ที่มีความเร็วสูง

ความเป็นส่วนตัวและความปลอดภัย Jan 9, 2025

เนื้อหาที่ไม่ถูกแคช หากคุณอยู่ในตลาดสำหรับการอัปเกรดเราเตอร์�..


ทำให้มันง่าย: นี่คือระบบและเครื่องมือรักษาความปลอดภัย 4 ระบบที่คุณต้องการบน Windows

ความเป็นส่วนตัวและความปลอดภัย Sep 28, 2025

เนื้อหาที่ไม่ถูกแคช Windows มีความซับซ้อนและต้องการระบบสาธารณูปโภ�..


วิธีสร้างไฟล์เข้ารหัสดัชนี Windows 8

ความเป็นส่วนตัวและความปลอดภัย Nov 1, 2024

เนื้อหาที่ไม่ถูกแคช หากคุณมีไฟล์ที่เข้ารหัสด้วย Encrypting File System คุณอา�..


ปิดใช้งาน Program Compatibility Assistant ใน Windows 7 และ Vista

ความเป็นส่วนตัวและความปลอดภัย Jul 23, 2025

เนื้อหาที่ไม่ถูกแคช หากคุณเป็นผู้ดูแลระบบและพยายามทำงานให้เสร็จ�..


ใช้ Word 2007 เป็นเครื่องมือบล็อก

ความเป็นส่วนตัวและความปลอดภัย Sep 26, 2025

เนื้อหาที่ไม่ถูกแคช Microsoft Word เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการเขี�..


หมวดหมู่