Software Protection through Dynamic Code Mutation
Matias Madou,
Bertrand Anckaert,
Bjorn De Sutter and
Koen De Bosschere
Department of Electronics and Information Systems
University of Ghent
B-9000 Ghent, Belgium
Patrick Moseley and
Saumya Debray
Department of Computer Science
University of Arizona
Tucson, AZ 85721, U.S.A.
Abstract
Reverse engineering of executable programs, by disassembling
them and then using program analyses to recover high level semantic
information, plays an important role in attacks against software systems, and
can facilitate software piracy. This paper introduces a novel technique to
complicate reverse engineering. The idea is to change the
program code repeatedly as it executes, thereby thwarting correct disassembly.
The technique can be made as secure as the least secure component of opaque
variables and pseudorandom number generators.