Platform Independent Programs

Our Platform Independent Programs research challenges the notion that generating a single program string that runs on multiple architectures is inherently difficult. We do so by developing techniques and an infrastructure for automatically generating a platform-independent program (PI program) from an existing program or programs. By platform, we mean hardware or emulated architecture. By program, we mean a bit string that is decoded to a valid set of instructions for a platform. A PI program is a program that runs on two or more platforms without modification.

In particular, we introduce PI program generation challenge and our solution.

There are several security-critical implications of our techniques and implementation:

PIP Project: Generate a single binary string that runs on multiple platforms.

Basic concept of the gadget.

Overall design of PIP generation.

Single Gadget PIP Structure.

Multi-Gadget PIP Structure.