Doom-Poly is a fascinating polyglot executable that combines the functionality of a PDF, DOS executable, and Windows PE executable to run the classic game Doom.
This innovative construction leverages Robert Xiao’s Universal Doom and Allen Ading’s Doom.PDF to create a file that operates seamlessly across these formats.
The project demonstrates the versatility of file formats and the creative possibilities of polyglot programming.
The polyglot construction involves embedding multiple file format signatures into a single file. Here’s how it is achieved:
%PDF-1.x
) and a stream object declaration. startxref
pointer are added, along with adjustments to the trailer’s /Size
property.The resulting file can function as:
The PDF payload only works under Chrome due to its limited implementation of JavaScript in PDFs. Additionally, performance constraints arise from rendering Doom in grayscale ASCII characters within a text field-based framebuffer.
This project showcases the potential of polyglot files in creative programming, security research, and file format exploration.
While primarily experimental, it highlights vulnerabilities in interpreting multi-format files, emphasizing the need for robust validation mechanisms
For more details or to explore this project, refer to Allen Ading’s GitHub repository for Doom.PDF.
Playwright-MCP (Model Context Protocol) is a cutting-edge tool designed to bridge the gap between AI…
JBDev is a specialized development tool designed to streamline the creation and debugging of jailbreak…
The Kereva LLM Code Scanner is an innovative static analysis tool tailored for Python applications…
Nuclei-Templates-Labs is a dynamic and comprehensive repository designed for security researchers, learners, and organizations to…
SSH-Stealer and RunAs-Stealer are malicious tools designed to stealthily harvest SSH credentials, enabling attackers to…
Control flow flattening is a common obfuscation technique used by OLLVM (Obfuscator-LLVM) to transform executable…