هنا في آرس، نحن مهووسون بالقصص المتعلقة بالمتسللين الموت يعمل على كل شيء من”https://arstechnica.com/gaming/2025/01/someone-made-a-captcha-where-you-play-doom-on-nightmare-difficulty/”> الشيكات الروبوت CAPTCHA و”https://arstechnica.com/gaming/2022/10/how-to-get-doom-running-in-windows-notepad-exe/”> Notepad.exe لنظام التشغيل Windows ل”https://arstechnica.com/information-technology/2024/08/new-ai-model-can-hallucinate-a-game-of-1993s-doom-in-real-time/”> هلاوس الذكاء الاصطناعي و”https://arstechnica.com/gaming/2024/01/can-it-run-doom-gut-bacteria-edition/”> فلورة بكتيريا الأمعاء. وعلى الرغم من كل هذه التجربة، إلا أننا مازلنا في حالة من الفوضى بسبب المظاهرة الأخيرة لـ”https://doompdf.pages.dev/doom.pdf”>الموت يعمل في الحدود الثابتة عادةً لملف PDF.
على”https://github.com/ading2210/doompdf”>صفحة جيثب للمشروع الخيالي، يناقش المبرمج ading2210 كيفية قيام Adobe Acrobat بتضمين بعض الدعم القوي لـ JavaScript في تنسيق ملف PDF. دعم ترميز JS – والذي”https://web.archive.org/web/20121002164234/http://partners.adobe.com/public/developer/en/acrobat/sdk/AcroJSGuide.pdf”> يعود تاريخها إلى عقود من الزمن وهو”https://opensource.adobe.com/dc-acrobat-sdk-docs/library/jsapiref/JS_API_AcroJS.html”> لا تزال موثقة بالكامل في مواصفات PDF الرسمية الخاصة بـ Adobe – يتم تنفيذها حاليًا في شكل أكثر محدودية وأكثر أمانًا كجزء من”https://pdfium.googlesource.com/pdfium/+/HEAD/README.md”> PDFium، محرك عرض PDF المدمج للمتصفحات المستندة إلى Chromium.
في الماضي، استخدم المتسللون ميزة Adobe غير المعروفة هذه لبرمجة ألعاب بسيطة مثل”https://www.youtube.com/watch?v=6rbJu10Telc”>انطلق و”https://github.com/ThomasRinsma/pdftris”>تتريس إلى مستندات PDF. لكن ading220 ذهب إلى أبعد من ذلك، حيث أعاد الترجمة”https://github.com/ozkl/doomgeneric”> شوكة مبسطة ل”https://github.com/id-Software”>الموتكود مفتوح المصدر باستخدام نسخة قديمة من”https://emscripten.org/”> إمسكريتن أن المخرجات الأمثل”http://asmjs.org/”> asm.js شفرة.
مع تحميل هذا الرمز، سيتم الموت يمكن لملف PDF أن يأخذ المدخلات عبر كتابة المستخدم في حقل نص معين وإنشاءها “video” الإخراج في شكل نص ASCII محول يتم تغذيته في 200 حقل نصي فردي، يمثل كل منها خطًا أفقيًا للملف الموت عرض. النص الموجود في هذه الحقول كافٍ لمحاكاة عرض أحادي اللون بستة ألوان عند أ “pretty poor but playable” 13 إطارًا في الثانية (حوالي 80 مللي ثانية لكل إطار).