I am interested in how Microsoft protects Sql Server binaries from reverse engineering ?
For example I also have some C++ dll and I want to protect it from reverse engineering. Is this logical thing to do is dll is compiled to machine code ?
I am interested in how Microsoft protects Sql Server binaries from reverse engineering ?
Share
There is no technical defense against reverse engineering. It is always possible to run code in an in-circuit emulator in order to fully observe and understand its function. This is extremely time consuming work, but it can be done if the payoff is worth it. One famous example from the 1990’s was Andrew Schulman’s work that uncovered hidden features of the Windows 95 API.
While there are no technical barriers to this kind of analysis, there are certainly legal and practical limits to the usefulness of the process. Given enough time with qualified engineers, you could completely reverse engineer any large software package, including Microsoft Windows, Office, or the Oracle database binaries. Your reward for this effort would be the ability to produce unlicensed, illegal copies of the software. This would have no commercial or practical value.
Obfuscation utilities that are used for .NET or Java applications address a specific problem with these languages: since they support inspection of method and property names, it is possible to reverse engineer not just the function of the code but the public identifiers used in the original source code. Although C++ uses symbolic names for linking, it does not have the same rich naming information available, so obfuscation is not necessary. It should be noted that even if code is reverse engineered with public identifiers, the same practical and legal limitations apply to the process.