|                                  | 1234567891011121314151617181920212223242526272829303132333435363738 | // MANGLER.HPP
//
// (C) 1984-2009 MicroNeil Research Corporation
// Derived from Version 1 of Mangler Encryption Algorythm, 1984.
// Derived from Version 2 of Mangler Encryption Algorythm, 1998.
//
// 20020119 _M Mangler V3.
// Mangler object header file.
// If it's already been included, it doesn't need to be included again.
#ifndef _MANGLER_
#define _MANGLER_
namespace CodeDweller {
class MANGLER {
   private:
      unsigned char Fill[256];                  // Where to store the fill.
      unsigned int Position;                    // Where to put position.
      unsigned char Rotate(unsigned char);      // Bitwise Rotate Utility.
      unsigned char ChaosDriver(void);          // Returns current chaos.
      void ChaosDriver(unsigned char i);        // Drives chaos forward.
   public:
      unsigned char Encrypt(unsigned char i);   // Returns encrypted data.
      unsigned char Decrypt(unsigned char i);   // Returns decrypted data.
      MANGLER(void);                                    // Default.
   };
}
#endif
 |