In this paper, we propose an architecture that protects software by the hardware. The protection hardware can reside on the local machine in the form of a chip or on a remote server on the same network. We show that such a protection method can be combined with the code obfuscation method and develop two obfuscation methods for the proposed software protection architecture. Key Words: Software Protection; Obfuscation