Blur: Keep your code away from the peeping eye

Source: Internet
Author: User
We know that the Java compiler source program gets the byte code, VS. NET compiled source is MSIL (Microsoft intermediate language), which is called "incomplete compilation," and is especially easy to decompile or reverse-engineer. Unlike native code, the intermediate code that is not fully compiled retains the variable, the procedure name, so that the resulting program is almost exactly the same as the original program, and the remainder is almost intact.
For developers of commodity software, high quality decompile code poses a great risk: the algorithm may be stolen and modified, and the program code may be copied and changed. (Even the non-commercial software used in-house, because of the source code leakage caused by the decompile also poses a great threat.) For example, it is easy for a user to see a password that accesses a database or an Embedded SQL command for a program. Similarly, web sites that use an external unit hosting server are at risk, and once the ASP.net application code is uploaded, the person in the managed unit may view and change the program code at will.
More worrying is that hackers or curious users can now easily get a variety of reverse engineering tools. Microsoft itself provides an MSIL disassembler, called ILDASM, free of charge, and there is a source code open. NET Decompile tool Anakrino; and, of course, many other vendors offer a commercialized reverse-engineering tool.
First, modify the variable name
The most effective way to prevent the threat of such reverse engineering is to blur it. (According to the American Traditional dictionary, "vague" means "confusing, confusing, confusing, or ambiguous, making it difficult to feel or understand"). Fuzzy tools use various means to achieve this goal, but the main way is to let the variable name no longer have the ability to indicate its role, encrypt strings and text, insert a variety of spoofing instructions so that the code can not compile the decompile.
An upcoming version of Visual Studio (called Vs.net 2003, code name Everett) integrates a fuzzy tool that Microsoft recommends to use to finalize the. NET Intermediate code. This fuzzy device is another tool Dotfuscator's so-called lite version. The Dotfuscator feature, produced by Preemptive Solutions, is more powerful, and the company, located in Cleveland, Northeast Ohio, initially developed a fuzzy technology for Java code. The Dotfuscator Blur uses a range of superior technologies to make reverse engineering futile, or at least to make reverse engineering difficult.
Preemptive Solutions The patented technology that modifies the variable name in the middle code takes a name called overload Sensing (overload induction), and the vs.net version of Lite 2003 has only this fuzzy function. (The fuzzy device will never change the original source code, even do not need to use the source code as a reference.) This technique fully utilizes the characteristics of the Vs.net code: the same identifier can be applied simultaneously to classes and methods with different characteristics; in different namespaces, variables can have the same name without conflict.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.