PANDA – Platform for Architecture-Neutral Dynamic Analysis
The Platform for Architecture-Neutral Dynamic Analysis (PANDA) is a flexible plugin-based framework that helps analysts understand how software behaves as it executes on a system. The platform was designed to facilitate reverse engineering, a process of analyzing code to discover its internal principles. The knowledge gleaned from PANDA can help analysts understand the true conduct of their code, identify errors in the code and determine if those errors are benign or harmful, and make legacy code function on modern operating systems.
The main feature of PANDA is a novel record-and-replay mechanism that captures a recording of all software executing on a system. Analysts can then replay that recording repeatedly. With each replay, users can implement PANDA's software-analysis plugins, more than 40 of which have been developed by Lincoln Laboratory researchers, university collaborators, and the open-source community. Used iteratively, the plugins help an analyst construct a deep understanding of the system's execution, from determining when key events are executed on the system to tracking specific pieces of data as they flow around the system. Since PANDA's open-source release, universities and companies around the world have been using the platform to improve their software analysis tasks.