SoftwareShield System Feature Guide > Tamper Resistance

Tamper Resistance (non-IronWrap)


There are six individual tamper resistance settings that you can individually toggle on or off. Each of these is covered in more detail in the following sub-sections:

  1. Resist Debuggers.

  2. Resist SoftICE.

  3. Resist Tracers

  4. Resist RegMon

  5. Resist FileMon

  6. Resist ProcExp

 

The Difference Between IronWrap Protection and Tamper Resistance

Note that IronWrap protection is distinctly different from the Tamper Resistance settings described here.  These Tamper Resistance settings are applied at a different time by the ClientProtector (later in execution) and may be applied to non-IronWrapped projects. IronWrap protection is significantly stronger, more dimensional and may only be applied to IronWrapped products.  They may be applied together if you wish (with the exception of the Resist-User-Debuggers Tamper Resistance setting).

Tamper Resistance Considerations

Before setting any of these options, you should consider whether your user will typically be a software developer that has a legitimate need for de-compiling tools like SoftICE. If you enable detection of this tool, then your license will prevent your application from running on your users system. Further if your user has a legitimate need to debug your program using a kernel mode debugger, again, your program will simply shut down for them as soon as the debugger is detected.

Generally, most users have no need for specialized hacker tools like SoftICE or debugging your program, so you are fairly safe enabling these options, unless you know of some specific need by your customers.

However, be sure that during development, you keep these flags turned off since you will probably be unable to debug your own software. If they are on, when your debugger (in your IDE for example attaches to the running process), as soon as the ClientProtector detects this, it will immediately cause the entire process to simply shut-down.

If you choose to use these flags, simply make sure that the very last thing you do before distributing the license is to turn them on, re-compile and test (outside of the IDE on a machine without SoftICE installed).

If you choose not to use IronWrapping, note that using Tamper Resistance options alone is usually not sufficient to do a great job of protecting your applications from crackers. Decent protection without IronWrapping is achieved through a collaborative effort between the ClientProtector and your application. Be sure to have read the Non-IronWrapping Anti-Hacker Guide for more information.

Related Topics