Reverse engineering of executable code is a growing area of software engineering research and technology development due to a variety of reasons, including the porting of programs to newer and faster machines. In this paper we discuss three core object code reverse engineering technologies: emulation, decompilation, and binary translation, and present their uses in the last decades. These uses point at an economic need for such techniques to the benefit of users of the technology. We then present the extent of copyright protection for binary code and its implications on the development of binary code manipulation tools. Further, we argue that copyright laws should not hinder the development of computer and software technology at a time when hardware is developing at increasingly fast rates and software needs to be made available on such new machines; i.e. economic considerations need to be taken into account.
展开▼