What is Reverse Engineering?
Reverse engineering, in computer programming, is a technique used to analyze software in order to identify and understand the parts it is composed of. The usual reasons for reverse engineering a piece of software are to recreate the program, to build something similar to it, to exploit its weaknesses or strengthen its defenses.
Because closed, proprietary software never comes with documentation that reveals the source code used to create it, people use reverse engineering whenever they want to understand the software’s inner workings.
Some hackers use reverse engineering to find weak points of programs which they can exploit.
Other hackers use reverse engineering to locate weak points with the intention of strengthening the defenses there.
Software companies with competing products reverse engineer their competitors’ programs to find out where and how improvements can be made on their own products. Some companies use reverse engineering when they don’t have similar products yet, to create products of their own.
Those who intend to build their own product based on an existing one often prefer reverse engineering over creating from scratch because once the parts and the dependencies are identified, the process of reconstructing tends to be much easier.
How to do Reverse Engineering with SQLDbm?
Do you already have an existing database but no ER diagram or physical model? With SQLDBM, this is no problem! Use the reverse engineering feature to export your database schema as a SQL script, and then run these scripts in MSSQL Studio or SSDT (SQL Server Developer Tools) to generate the XML database-creation scripts. After that, simply upload the XML statements into SQLDBM, and then create your physical model or ERD.