A Windows malware unpacker using Intel PIN for dynamic binary instrumentation and Scylla for import reconstruction.
PINdemonium is a Windows malware unpacker that uses Intel PIN for dynamic binary instrumentation to trace and dump unpacked code from packed executables. It automatically reconstructs the Import Address Table using Scylla and integrates Yara for rule-based detection of packers and malware families. The tool helps security analysts extract and analyze the original payload from obfuscated malware.
Malware analysts, reverse engineers, and security researchers who need to unpack and analyze packed Windows executables, particularly in forensic or threat intelligence contexts.
PINdemonium combines the power of Intel PIN's instrumentation with Scylla's IAT reconstruction in an automated workflow, reducing manual effort in malware unpacking. Its plugin system and heuristic-based dumping make it adaptable to various packing techniques encountered in real-world malware.
A pintool in order to unpack malware
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages Intel PIN's dynamic binary instrumentation to trace malware execution and capture unpacked code in real-time, as evidenced by the heuristics-based dumping mechanism detailed in the report structure.
Integrates Scylla to automatically rebuild the Import Address Table after dumping, enabling the extracted executable to run properly, which is a core feature mentioned in the IAT reconstruction capability.
Offers a customizable plugin framework with a template project, allowing users to enhance IAT fixing or add new analysis features, as described in the Plugin System section with helper functions.
Automatically scans dumped content with Yara rules to detect packers and malware families, using rules from the Yara-Rules repository, which aids in automated classification during unpacking.
Mandates specific old software versions like Visual Studio 2010 and a fixed PIN release, making installation difficult and incompatible with modern development environments without legacy setups.
Involves numerous error-prone steps such as unzipping archives, copying folders, and configuring directories, as outlined in the Installation section, which can deter quick deployment.
Primarily supports 32-bit executables based on the included ScyllaDLLx86.dll, with no mention of x64 support in the README, restricting its use for newer malware samples.
Relies solely on command-line usage with flags and manual result checking, lacking a GUI or simplified workflow for analysts who prefer more intuitive tools.