Software reverse engineering is the act of tearing down a software program in order to understand how it works—how a piece of software functions, its design, and its underlying code. It is done for several reasons: to learn how a program works, potentially to improve it or build something similar; to find weaknesses in the software that hackers could exploit; to make different programs work together (e.g., Sega vs. Accolade, discussed below); or to fix or update old software when the original developers are gone.
Software reverse engineering is a powerful tool for IP strategy and optimization, but it also can be used for copying software or violating copyright laws.
From teardowns to legal battles
The Sega v. Accolade legal battle over two decades ago significantly redefined how the courts view software reverse engineering in copyright cases. Accolade, a video game publisher, wanted to release games for the Sega Genesis. To do this without Sega’s permission, they disassembled Sega’s software, including the Genesis console’s operating system, to figure out how to make their own games compatible (one example being the baseball game Hardball!). This case became a landmark, setting some ground rules for what’s considered acceptable reverse engineering.
Even though Accolade had copied entire Sega games during this process, the court didn’t focus heavily on the amount copied, recognizing that this copying was necessary to create compatible software. Similarly, the nature of the copied work wasn’t considered as important. The ruling essentially established a two-factor test for fair use in these situations, focusing on the purpose of the software reverse engineering and its impact on the market. This case also broke new ground by determining that if a security program places a trademark on another company’s work, any resulting confusion is the fault of the trademark owner.
The Sega v. Accolade case also clarified that copyright law doesn’t protect the functional ideas behind software, only the specific way those ideas are expressed in code—e.g., one can’t copyright the concept of how a game console authenticates software, for example, but can copyright the actual code that implements that authentication. (The court also went on that patents or trade secrets are the more appropriate legal tools for protecting these functional principles.)
By ruling that software reverse engineering that code was “fair use,” the court essentially opened the door to copying protected code, even if it was done to understand the underlying functionality.
Just one year prior to Sega vs. Accolade, in Atari vs. Nintendo, another video game case involving reverse engineering, the court acknowledged that software reverse engineering qualified as fair use, but found that Atari had infringed copyright by using a “purloined” copy of Nintendo’s source code. (Nintendo prevailed in this case due to Atari’s foul play.)
Reverse engineering in IP disputes
Unethical reverse engineering, in addition to potentially leading to copyright infringement, poses a significant threat to a company’s competitive edge by exposing its valuable trade secrets, an intellectual property right. These secrets, often consisting of proprietary processes, formulas, or algorithms, are crucial for maintaining a competitive advantage. When a company suspects its trade secrets have been stolen, software reverse engineering can help analyze a competitor’s software product to see if those secrets are present.
Reverse engineering also can be a powerful tool in intellectual property (IP) disputes, particularly in cases involving technology. In cases alleging IP infringement, reverse engineering helps determine if a product or process uses technology protected by a patent without permission. By dissecting the allegedly infringing product, experts can identify if it incorporates the protected features or methods. In cases involving software products, software reverse engineering can reveal if someone has copied substantial portions of another’s code, algorithms, or design.
Reverse engineering can also be used to challenge the validity of a patent, by analyzing prior art and comparing it to the patented invention to help provide that the invention was obvious or already known.
Finally, reverse engineering provides critical technical evidence that experts can use to provide testimony in court, supporting claims of infringement (or defense against claims).
Strategic use cases of reverse engineering
Reverse engineering techniques can also be used to help companies unearth hidden assets, enhancing the overall financial value of its IP portfolio. (And for a glimpse into how reverse engineering can reveal strategic insights, check out this teardown of the Apple iPhone 15, showcasing its inner workings and potential IP strategies.)
Key takeaways
In conclusion, software reverse engineering is a powerful tool, but its legality hinges on the specific context. While “fair use” allows for certain purposes like interoperability or research, copying protected code could constitute an infringement. Each case is unique, demanding careful consideration of the legal landscape.
Visit Intellectual Property solutions to learn more.