Packagecom.whirled.contrib.hackproof
Classpublic class HPInt
InheritanceHPInt Inheritance flash.events.EventDispatcher

This class holds an integer value. From the point of view of the programmer, it should work just like a normal int, except that it needs to be accessed using the "value" member and it will dispatch a HackDetected event if the value is tampered with externally.

Also, HPInts will not have all of their parts garbage collected, so if a large number of them are used in a program, memory leakage will occur. If you need to use HPInts in disposable objects, it is recommended that you use the HPReuseManager to allocate and deallocate HPInts as needed.

Here's how HPInt works:
The value is actually stored as the difference of two numbers, one of which is generated randomly. As a result, the stored value will not appear in memory anywhere. It also stores a checksum in a separate location.



Public Properties
 PropertyDefined by
  value : int
Contains the integer value.
HPInt
Public Methods
 MethodDefined by
  
Creates a new HPInt with the default value of 0.
HPInt
  
checkIntegrity():Boolean
Although each HPInt is checked each time it is read or written, this function can be used to check that it hasn't been modified at other times.
HPInt
  
verifyAll():Boolean
[static] Used to verify the master checksum for HPInt.
HPInt
Property detail
valueproperty
value:int  [read-write]

Contains the integer value.

Implementation
    public function get value():int
    public function set value(value:int):void
Constructor detail
HPInt()constructor
public function HPInt()

Creates a new HPInt with the default value of 0.

Method detail
checkIntegrity()method
public function checkIntegrity():Boolean

Although each HPInt is checked each time it is read or written, this function can be used to check that it hasn't been modified at other times. Calling this is never necessary.

Returns
Boolean
verifyAll()method 
public static function verifyAll():Boolean

Used to verify the master checksum for HPInt. This should be called every once and a while if you want to be certain that freezing attacks are not occuring.

Returns
Boolean