Wednesday, January 02, 2008

As I’m had done a bit with the new protecting tool of Microsoft (SLPS), the word Code Tampering comes up a lot.  Not a lot of people know what it exactly means.

So here a little explication about Code Tampering and Tamper-resistant software.

Tamper-resistant software is software that is difficult to change, tamper with, and/or attack. Code obfuscation is one technique for achieving tamper-resistant software. Generally, the goal of code obfuscation is to make it difficult for attackers to determine what is happening in a block of code. If attackers use debuggers or emulators to trace instructions, code obfuscation can make the code difficult to understand or change. Or an assembly can be given a unique name when the publisher can include a public cryptographic key. The key goes into the Manifest. If the assembly has a public key, it is said to have a Strong Name or shared name. In addition, the publisher can digitally sign the assembly, using a public and private key. This prevents tampering with the Assembly. Digitally signing an Assembly places a cryptographic hash of the contents of each file in the Assembly. This is verified at run-time to ensure that it has not been corrupted or tampered with.

1/2/2008 3:52:29 PM (Romance Standard Time, UTC+01:00)  #     |