SoftwareShield System Feature Guide > Tamper Resistance > Resist Tracers

Resist Tracers


Resist Tracers is an option that you can set in your licenses that specifically causes the ClientProtector, during the scope of many of its function calls, to attempt to detect if any program tracers (debuggers) are attached to the (your) process. This is a protection mechanism that resists attempts to watch your program with a program tracer. This is almost always an attack by a cracker.

Unlike the Resist Debuggers option, this option detects specific debuggers using different methods which can detect even uncommon debuggers and works on all versions of Windows.

If detected, the entire process is immediately terminated with a  non-orderly shutdown. The function call from your program that indirectly caused a successful detection of a debugger will never return.

Before setting this option, you should consider whether your user will typically be a software developer that has a legitimate need for attempting to debug your program. If you enable detection of tracers, then your license will prevent your application from running when some types of program tracers are attached.

Generally, most users have no need for tracing your program, so you are fairly safe enabling this option.

However, be sure that during development, you keep this flag turned off since you may be unable to debug your own software. If it is on. If you choose to use this option, simply make sure that the very last thing you do before distributing the license is to turn it on, re-compile and test (outside of the IDE).

More Information

For help on how to make your program more secure, see the Non-IronWrapping Anti-Hacker Guide in the Developing Applications Using The SoftwareShield System Reference.

For help on actually setting the Resist Tracers option, see License Behaviour Tab in the SoftwareShield License Manager Reference.

Related Topics