Internet-based automated system and a method for software copyright protection and sales
First Claim
1. A system for software copyright protection and sales, said system on a server comprising:
- a data collection subsystem including means for receiving requests to purchase software over a network and generating software purchase information in response to such requests;
acquiring means, coupled to the data collection subsystem, for acquiring at least one computer identification number (CIN) from a consumer computer;
encryption means, coupled to the acquiring means and the data collection subsystem, for encrypting the at least one CIN from a consumer computer to produce an encrypted authorized CIN using a protection methodology, said protection methodology means including a null encryption of the CIN producing the CIN as the encrypted CIN; and
a software protection subsystem, including automated embedding means for automatically embedding at least one protection mechanism into software selected for purchase to produce protected software, the embedded protection mechanism including;
the said at least one encrypted authorized CIN, means for reading the said at least one CIN from a consumer computer, means for encrypting the said at least one CIN from a consumer computer to produce at least one encrypted CIN using said protection methodology, means for comparing the said at least one encrypted CIN from the consumer computer with the said at least one encrypted authorized CIN in the protection mechanism, and means for halting and continuing processing of the software if the said encrypted authorized CIN does not match the said at least one encrypted CIN from the consumer computer; and
a software distribution subsystem, coupled to the software protection subsystem, for distributing the protected software to consumers over a network, wherein the protected software distributed by the software distribution system, when activated, retrieves and encrypts at least one CIN from a consumer computer and compares the encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism and halts processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer.
0 Assignments
0 Petitions
Accused Products
Abstract
Copyrighted software may be executed only on an authorized computer by using a protection mechanism to restrain software to a designated machine. The protection mechanism includes a CIN (Computer Identification Number) reader and a CIN verifier. The CIN reader comprises a function call which reads CINs from the computer where the copyrighted software is intended to execute, and a converter which converts CINs to encrypted CINs. The CIN verifier comprises the encrypted authorized CINs and logic. The CIN may comprise the serial number of a computer chip, the serial number of a hard disk, the serial number of a computer operating system or the like. Protection mechanisms may be integrated into the copyrighted software at stop points by compiling the software source code or revising the executable code of the software. When the resulting protected software is processed on a computer, the protection mechanisms are executed at the stop points. The CIN verifiers then compare the encrypted authorized CINs with the encrypted read-in CINs. If the comparisons of the encrypted CINs match, the copyrighted software continues running. However, if the encrypted CINs are different, the protected software stops running and sends out a warning message.
135 Citations
57 Claims
-
1. A system for software copyright protection and sales, said system on a server comprising:
-
a data collection subsystem including means for receiving requests to purchase software over a network and generating software purchase information in response to such requests;
acquiring means, coupled to the data collection subsystem, for acquiring at least one computer identification number (CIN) from a consumer computer;
encryption means, coupled to the acquiring means and the data collection subsystem, for encrypting the at least one CIN from a consumer computer to produce an encrypted authorized CIN using a protection methodology, said protection methodology means including a null encryption of the CIN producing the CIN as the encrypted CIN; and
a software protection subsystem, including automated embedding means for automatically embedding at least one protection mechanism into software selected for purchase to produce protected software, the embedded protection mechanism including;
the said at least one encrypted authorized CIN, means for reading the said at least one CIN from a consumer computer, means for encrypting the said at least one CIN from a consumer computer to produce at least one encrypted CIN using said protection methodology, means for comparing the said at least one encrypted CIN from the consumer computer with the said at least one encrypted authorized CIN in the protection mechanism, and means for halting and continuing processing of the software if the said encrypted authorized CIN does not match the said at least one encrypted CIN from the consumer computer; and
a software distribution subsystem, coupled to the software protection subsystem, for distributing the protected software to consumers over a network, wherein the protected software distributed by the software distribution system, when activated, retrieves and encrypts at least one CIN from a consumer computer and compares the encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism and halts processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
means for embedding at least one dummy number into software selected for purchase;
means for reading in said at least one CIN from a consumer computer;
means for converting said at least one CIN to at least one encrypted CIN using a protection methodology; and
means for replacing said at least one embedded dummy number with the at least one encrypted CIN.
-
-
3. The system of claim 1, wherein said acquiring means comprises means for automatically retrieving at least one of a computer processor serial number, a hard disk drive serial number, and an operating system serial number, as a CIN.
-
4. The system of claim 1, wherein said software protection subsystem comprises:
-
means for editing executable software to replace a dummy number with said at least one encrypted CIN; and
means for placing the protected software to an outgoing mailbox for transmission to at least one consumer.
-
-
5. The system of claim 1, wherein said software includes at least one of audio, video, and vocal products, including CDs and DVDs, wherein said software protection subsystem comprises means for embedding said protection mechanisms into at least one of audio, video and vocal products, said CIN comprises at least one player identification number, and said means for reading comprises means for reading in the player identification numbers from consumer players.
-
6. The system of claim 1, wherein said software protection subsystem comprises means for automatically editing at least a portion of an executable file to place at least a portion of said protection mechanisms into the executable file to produce said protected software.
-
7. The system of claim 1, wherein said software protection subsystem comprises:
-
means for automatically editing at least a portion of software source code to place at least one said protection mechanism into at least one predetermined stop point, where execution of the purchased software is terminated if a computer is not authorized to run the purchased software, in the software selected for purchase; and
means for at least one of compiling and linking the at least a portion of source code to produce said protected software.
-
-
8. The system of claim 1, wherein said acquiring means comprises:
-
means for identifying a consumer computer operation system where the protected software will be executed; and
means for automatically retrieving at least one of a computer processor serial number, a hard disk drive serial number, an operating system serial number, and a hardware serial numbers from a consumer computer.
-
-
9. A system for software copyright protection and sales, said system comprising:
-
a data collection subsystem including a server for receiving requests to purchase software over a network and generating software purchase information in response to such requests;
acquiring means, coupled to the data collection subsystem, for acquiring at least one computer identification number (CIN) from a consumer computer;
encryption means, coupled to the acquiring means, for encrypting the at least one CIN to produce an encrypted authorized CIN;
a software protection subsystem, coupled to the encryption means, for embedding at least one protection mechanism into software selected for purchase to produce protected software, the embedded protection mechanism including;
the at least one encrypted authorized CIN, means for reading at least one CIN from a consumer computer, means for encrypting the at least one CIN from a consumer computer, means for comparing the at least one encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism, and means for halting and continuing processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer; and
a software distribution subsystem, coupled to the software protection subsystem, for distributing the protected software to consumers over a network, wherein the protected software distributed by the software distribution system, when activated, retrieves and encrypts at least one CIN from a consumer computer and compares the encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism and halts processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer, wherein said software protection subsystem comprises;
means for editing executable software to replace a dummy number with said at least one encrypted CIN; and
means for placing the protected software to an outgoing mailbox for transmission to at least one consumer, and wherein said software protection subsystem further comprises;
first means for determining whether an executable file with dummy numbers of the purchased software exists;
second means, coupled to said first means, for making a copy of the purchased software source code if an executable file with dummy numbers of the purchased software does not exist as determined by said first means;
third means, coupled to said second means, for determining and locating stop points in the purchased software where execution of the purchased software is terminated if a computer is not authorized to run the purchased software;
fourth means, coupled to said third means, for adding said protection mechanisms to said stop points in the purchased software;
fifth means, coupled to said fourth means, for selecting a compiler and at least one of compiling and linking at least a portion of the modified purchased software source code using the compiler to generate said protected software;
sixth means, coupled to said first means and said fifth means, for encrypting said at least one CIN using a protection methodology to produce said at least one encrypted CIN, regardless of whether an executable file with dummy numbers of the purchased software does exist as determined by said first means; and
seventh means, coupled to said sixth means for replacing said embedded dummy numbers with said at least one encrypted CIN, to produce embedded encrypted computer identification numbers. - View Dependent Claims (10, 11, 12)
means for embedding at least one dummy number into software selected for purchase;
means for reading in said at least one CIN from a consumer computer;
means for converting said at least one CIN to at least one encrypted CIN using a protection methodology; and
means for replacing said at least one embedded dummy number with the at least one encrypted CIN.
-
-
11. The system of claim 9, wherein said acquiring means comprises means for automatically retrieving at least one of a computer processor serial number, a hard disk drive serial number, and an operating system serial number, as a CIN.
-
12. The system of claim 9, wherein said software includes at least one of audio, video, and vocal products, including CDs and DVDs, wherein said software protection subsystem comprises means for embedding said protection mechanisms into at least one of audio, video and vocal products, said CIN comprises at least one player identification number, and said means for reading comprises means for reading in the player identification numbers from consumer players.
-
13. A system for software copyright protection and sales, said system comprising:
-
a data collection subsystem including a server for receiving requests to purchase software over a network and generating software purchase information in response to such requests;
acquiring means, coupled to the data collection subsystem, for acquiring at least one computer identification number (CIN) from a consumer computer;
encryption means, coupled to the acquiring means, for encrypting the at least one CIN to produce an encrypted authorized CIN;
a software protection subsystem, coupled to the encryption means, for embedding at least one protection mechanism into software selected for purchase to produce protected software, the embedded protection mechanism including;
the at least one encrypted authorized CIN, means for reading at least one CIN from a consumer computer, means for encrypting the at least one CIN from a consumer computer, means for comparing the at least one encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism, and means for halting and continuing processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer; and
a software distribution subsystem, coupled to the software protection subsystem, for distributing the protected software to consumers over a network, wherein the protected software distributed by the software distribution system, when activated, retrieves and encrypts at least one CIN from a consumer computer and compares the encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism and halts processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer, and wherein said software protection subsystem comprises;
means for adding into a protection mechanism said at least one encrypted CIN;
means for embedding said protection mechanism into the purchased software source code; and
means for at least one of compiling and linking at least a portion of the purchased software source code to produce the compiled purchased software embedded with the protection mechanism. - View Dependent Claims (14, 15, 16, 17, 18)
first means for making a copy of the purchased software source code;
second means, coupled to said first means, for encrypting said at least one CIN using a protection methodology;
third means, coupled to said second means, for determining and locating stop points in the purchased software;
fourth means, coupled to said third means, for adding said protection mechanism to said stop points in the purchased software; and
fifth means, coupled to said fourth means, for selecting a compiler and at least one of compiling and linking at least a portion of the modified purchased software source code using the compiler to generate said protected software.
-
-
15. The system of claim 13, wherein said software protection subsystem comprises:
-
means for embedding at least one dummy number into software selected for purchase;
means for reading in said at least one CIN from a consumer computer;
means for converting said at least one CIN to at least one encrypted CIN using a protection methodology; and
means for replacing said at least one embedded dummy number with the at least one encrypted CIN.
-
-
16. The system of claim 13, wherein said acquiring means comprises means for automatically retrieving at least one of a computer processor serial number, a hard disk drive serial number, and an operating system serial number, as a CIN.
-
17. The system of claim 13, wherein said software protection subsystem comprises:
-
means for editing executable software to replace a dummy number with said at least one encrypted CIN; and
means for placing the protected software to an outgoing mailbox for transmission to at least one consumer.
-
-
18. The system of claim 13, wherein said software includes at least one of audio, video, and vocal products, including CDs and DVDs, wherein said software protection subsystem comprises means for embedding said protection mechanisms into at least one of audio, video and vocal products, said CIN comprises at least one player identification number, and said means for reading comprises means for reading in the player identification numbers from consumer players.
-
19. A method for software copyright protection and sales, said method comprising the steps of:
-
receiving requests to purchase software over a network and generating software purchase information in response to such requests, acquiring at least one computer identification number (CIN) from a consumer computer, encrypting the at least one CIN from a consumer computer using a predetermined protection methodology to produce an encrypted authorized CIN, said protection methodology including a null encryption of the CIN producing the CIN as the encrypted CIN, automatically embedding at least one protection mechanism into software selected for purchase to produce protected software, the embedded protection mechanism including the at least one encrypted authorized CIN encrypted using said protection methodology, means for reading at least one CIN from a consumer computer, means for encrypting the at least one CIN from a consumer computer using said protection methodology, means for comparing the at least one encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism, and means for halting and continuing processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer, and distributing the protected software to consumers over a network, wherein the protected software, when activated, retrieves and encrypts at least one CIN from a consumer computer using said protection methodology and compares the encrypted CIN from the consumer computer with the at least one encrypted CIN in the protection mechanism and halts processing of the software if the encrypted authorized CIN does not match the encrypted CIN from the consumer computer. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
embedding at least one dummy number into software selected for purchase, reading in said at least one CIN from a consumer computer, converting said at least one CIN to at least one encrypted CIN using a protection methodology, and replacing said at least one embedded dummy number with the at least one encrypted CIN.
-
-
21. The method of claim 19, wherein said step of acquiring comprises the step of automatically retrieving at least one of a computer processor serial number, a hard disk drive serial number, and an operating system serial number, as a CIN.
-
22. The method of claim 19, wherein said step of embedding the protection mechanisms into the purchased software comprises the steps of:
-
editing executable software to replace a dummy number with said at least one encrypted CIN, and placing the protected software to an outgoing mailbox for transmission to at least one consumer.
-
-
23. The method of claim 19, wherein said software includes at least one of audio, video and vocal products, including CDs and DVDs, wherein said step of embedding comprises the step of embedding said protection mechanisms into at least one of audio, video and vocal products, the CIN comprises at least one player identification number, and said step of acquiring comprises the steps of reading in the player identification numbers from consumer players.
-
24. The method of claim 19, wherein said step of automatically embedding further comprises the step of automatically editing at least a portion of an executable file to place at least a portion of the protection mechanisms into the executable file to produce the protected software.
-
25. The method of claim 19, wherein said step of automatically embedding further comprises the steps of:
-
automatically editing at least a portion of software source code to place at least one the protection mechanism into at least one predetermined stop point, where execution of the purchased software is terminated if a computer is not authorized to run the purchased software, in the software selected for purchase, and at least one of compiling and linking the at least a portion of source code to produce the protected software.
-
-
26. The method of claim 19, wherein said step of acquiring comprises the steps of:
-
identifying a consumer computer operation method where the protected software will be executed, and automatically retrieving at least one of a computer processor serial number, a hard disk drive serial number, an operating system serial number, and a hardware serial numbers from a consumer computer.
-
-
27. A method for software copyright protection and sales, said method comprising the steps of:
-
receiving requests to purchase software over a network and generating software purchase information in response to such requests, acquiring at least one computer identification number (CIN) from a consumer computer, encrypting the at least one CIN to produce an encrypted authorized CIN, embedding at least one protection mechanism into software selected for purchase to produce protected software, the embedded protection mechanism including the at least one encrypted authorized CIN, means for reading at least one CIN from a consumer computer, means for encrypting the at least one CIN from a consumer computer, means for comparing the at least one encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism, and means for halting and continuing processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer, and distributing the protected software to consumers over a network, wherein the protected software, when activated, retrieves and encrypts at least one CIN from a consumer computer and compares the encrypted CIN from the consumer computer with the at least one encrypted CIN in the protection mechanism and halts processing of the software if the encrypted authorized CIN does not match the encrypted CIN from the consumer computer, wherein said step of embedding the protection mechanisms into the purchased software comprises the steps of;
editing executable software to replace a dummy number with said at least one encrypted CIN, and placing the protected software to an outgoing mailbox for transmission to at least one consumer, and wherein said step of embedding the protection mechanisms into the purchased software further comprises the steps of;
determining whether an executable file with dummy numbers of the purchased software exists, making a copy of the purchased software source code if an executable file with dummy numbers of the purchased software does not exist as determined by said first means, determining and locating stop points in the purchased software where execution of the purchased software is terminated if a computer is not authorized to run the purchased software, adding said protection mechanisms to said stop points in the purchased software, selecting a compiler and at least one of compiling and linking at least a portion of the modified purchased software source code using the compiler to generate said protected software, encrypting said at least one CIN using a protection methodology to produce said at least one encrypted CIN, regardless of whether an executable file with dummy numbers of the purchased software does exist, and replacing said embedded dummy numbers with said at least one encrypted CIN, to produce embedded encrypted computer identification numbers. - View Dependent Claims (28, 29, 30)
embedding at least one dummy number into software selected for purchase, reading in said at least one CIN from a consumer computer, converting said at least one CIN to at least one encrypted CIN using a protection methodology, and replacing said at least one embedded dummy number with the at least one encrypted CIN.
-
-
29. The method of claim 27, wherein said step of acquiring comprises the step of retrieving at least one of a computer processor serial number, a hard disk drive serial number, and an operating system serial number, as a CIN.
-
30. The method of claim 27, wherein said software includes at least one of audio, video and vocal products, including CDs and DVDs, wherein said step of embedding comprises the step of embedding said protection mechanisms into at least one of audio, video and vocal products, the CIN comprises at least one player identification number, and said step of acquiring comprises the steps of reading in the player identification numbers from consumer players.
-
31. A method for software copyright protection and sales, said method comprising the steps of:
-
receiving requests to purchase software over a network and generating software purchase information in response to such requests, acquiring at least one computer identification number (CIN) from a consumer computer, encrypting the at least one CIN to produce an encrypted authorized CIN, embedding at least one protection mechanism into software selected for purchase to produce protected software, the embedded protection mechanism including the at least one encrypted authorized CIN, means for reading at least one CIN from a consumer computer, means for encrypting the at least one CIN from a consumer computer, means for comparing the at least one encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism, and means for halting and continuing processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer, and distributing the protected software to consumers over a network, wherein the protected software, when activated, retrieves and encrypts at least one CIN from a consumer computer and compares the encrypted CIN from the consumer computer with the at least one encrypted CIN in the protection mechanism and halts processing of the software if the encrypted authorized CIN does not match the encrypted CIN from the consumer computer, and wherein said step of embedding the protection mechanisms into the purchased software comprises the steps of;
adding into a protection mechanism said at least one encrypted CIN, embedding said protection mechanism into the purchased software source code, and at least one of compiling and linking at least a portion of the purchased software source code to produce the compiled purchased software embedded with the protection mechanism. - View Dependent Claims (32, 33, 34, 35, 36)
making a copy of the purchased software source code, encrypting said at least one CIN using a protection methodology, determining and locating stop points in the purchased software, adding said protection mechanism to said stop points in the purchased software, and selecting a compiler and at least one of compiling and linking at least a portion of the modified purchased software source code using the compiler to generate said protected software.
-
-
33. The method of claim 31, wherein said step of embedding a protection mechanism into software selected for purchase comprises the steps of:
-
embedding at least one dummy number into software selected for purchase, reading in said at least one CIN from a consumer computer, converting said at least one CIN to at least one encrypted CIN using a protection methodology, and replacing said at least one embedded dummy number with the at least one encrypted CIN.
-
-
34. The method of claim 31, wherein said step of acquiring comprises the step of automatically retrieving at least one of a computer processor serial number, a hard disk drive serial number, and an operating system serial number, as a CIN.
-
35. The method of claim 31, wherein said step of embedding the protection mechanisms into the purchased software comprises the steps of:
-
editing executable software to replace a dummy number with said at least one encrypted CIN, and placing the protected software to an outgoing mailbox for transmission to at least one consumer.
-
-
36. The method of claim 31, wherein said software includes at least one of audio, video and vocal products, including CDs and DVDs, wherein said step of embedding comprises the step of embedding said protection mechanisms into at least one of audio, video and vocal products, the CIN comprises at least one player identification number, and said step of acquiring comprises the steps of reading in the player identification numbers from consumer players.
-
37. A computer readable media containing a plurality of instruction steps for controlling a computer readable media, the computer readable media comprising:
-
a software program for performing a predetermined function, said software program comprising at least one executable binary program file;
at least one stop point within the software program for halting processing of the software program; and
at least one protection mechanism embedded into the at least one executable binary program file of the software program, the protection mechanism including at least one encrypted authorized computer identification number (CIN), means for automatically reading at least one CIN from a consumer computer, means for encrypting the at least one CIN from a consumer computer, means for comparing the at least one encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism, and means for halting and continuing processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer, wherein the protection mechanism, when activated, retrieves and encrypts a CIN from a consumer computer and compares the encrypted CIN from the consumer computer with the at least one encrypted CIN in the protection mechanism and halts processing of the software at the stop point if the encrypted authorized CIN does not match the encrypted CIN from the consumer computer. - View Dependent Claims (38, 39)
-
-
40. A computer readable media containing a plurality of instruction steps for controlling a computer readable media, the computer readable media comprising:
-
a software program for performing a predetermined function;
at least one stop point within the software program for halting processing of the software program; and
at least one protection mechanism embedded into the software program, the protection mechanism including at least one encrypted authorized computer identification number (CIN), means for reading at least one CIN from a consumer computer, means for encrypting the at least one CIN from a consumer computer, means for comparing the at least one encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism, and means for halting and continuing processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer, and wherein the protection mechanism, when activated, retrieves and encrypts a CIN from a consumer computer and compares the encrypted CIN from the consumer computer with the at least one encrypted CIN in the protection mechanism and halts processing of the software at the stop point if the encrypted authorized CIN does not match the encrypted CIN from the consumer computer, wherein said software protection mechanism comprises;
means for editing executable software to replace a dummy number with said at least one encrypted CIN; and
means for placing the protected software to an outgoing mailbox for transmission to at least one consumer, and wherein said software protection mechanism further comprises;
first means for determining whether an executable file with dummy numbers of the purchased software exists;
second means, coupled to said first means, for making a copy of the purchased software source code if an executable file with dummy numbers of the purchased software does not exist as determined by said first means;
third means, coupled to said second means, for determining and locating stop points in the purchased software where execution of the purchased software is terminated if a computer is not authorized to run the purchased software;
fourth means, coupled to said third means, for adding said protection mechanisms to said stop points in the purchased software;
fifth means, coupled to said fourth means, for selecting a compiler and at least one of compiling and linking at least a portion of the modified purchased software source code using the compiler to generate said protected software;
sixth means, coupled to said first means and said fifth means, for encrypting said at least one CIN using a protection methodology to produce said at least one encrypted CIN, regardless of whether an executable file with dummy numbers of the purchased software does exist as determined by said first means; and
seventh means, coupled to said sixth means for replacing said embedded dummy numbers with said at least one encrypted CIN, to produce embedded encrypted computer identification numbers. - View Dependent Claims (41, 42)
-
-
43. A computer readable media containing a plurality of instruction steps for controlling a computer readable media, the computer readable media comprising:
-
a software program for performing a predetermined function;
at least one stop point within the software program for halting processing of the software program; and
at least one protection mechanism embedded into the software program, the protection mechanism including at least one encrypted authorized computer identification number (CIN), means for reading at least one CIN from a consumer computer, means for encrypting the at least one CIN from a consumer computer, means for comparing the at least one encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism, and means for halting and continuing processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer, and wherein the protection mechanism, when activated, retrieves and encrypts a CIN from a consumer computer and compares the encrypted CIN from the consumer computer with the at least one encrypted CIN in the protection mechanism and halts processing of the software at the stop point if the encrypted authorized CIN does not match the encrypted CIN from the consumer computer, wherein said software protection mechanism comprises;
means for adding into a protection mechanism said at least one encrypted CIN;
means for embedding said protection mechanism into the purchased software source code; and
means for at least one of compiling and linking at least a portion of the purchased software source code to produce the compiled purchased software embedded with the protection mechanism. - View Dependent Claims (44, 45)
-
-
46. A system for software copyright protection and sales, said system on a server comprising:
-
a data collection subsystem including means for receiving requests to purchase software over a network and generating software purchase information in response to such requests;
encryption means, coupled to the data collection subsystem, for encrypting at least one computer identification number (CIN) from a consumer computer to produce at least one encrypted authorized CIN using a protection methodology, said protection methodology means including a null encryption of the CIN producing the CIN as the encrypted CIN; and
a software protection subsystem including automated embedding means for automatically embedding at least one protection mechanism into software selected for purchase to produce the protected software, the said embedded protection mechanism including;
the said at least one encrypted authorized CIN, means for reading in the said at least one CIN from a consumer computer, means for encrypting the said at least one CIN from a consumer computer to produce at least one encrypted CIN using the said protection methodology, means for comparing the said at least one encrypted CIN from the consumer computer with the said at least one encrypted authorized CIN in the protection mechanism, and means for halting and continuing processing of the software if the said encrypted authorized CIN does not match the said at least one encrypted CIN from the consumer computer; and
a software distribution subsystem, coupled to the software protection subsystem, for distributing the protected software to consumers over a network, wherein the protected software distributed by the software distribution system, when activated, retrieves and encrypts at least one CIN from a consumer computer and compares the encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism and halts processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer, wherein said software protection subsystem comprises;
means for automatically editing at least a portion of an executable file to place at least a portion of said protection mechanisms into the executable file to produce the protected software; and
wherein said software protection subsystem further comprises;
first means for determining whether an executable file embedded with at least one protection mechanism containing at least one predetermined dummy number of the purchased software exists;
second means, coupled to said first means, for making a copy of the purchased software source code if an executable file with the at least one dummy number of the purchased software does not exist as determined by said first means;
third means, coupled to said second means, for locating said stop points in the purchased software;
fourth means, coupled to said third means, for adding said protection mechanisms containing at least one dummy number to the said stop points in the purchased software;
fifth means, coupled to said fourth means, for selecting a compiler and at least one of compiling and linking the modified at least a portion of the purchased software source code using the compiler to generate said executable file;
sixth means, coupled to said first means and said fifth means, for encrypting said at least one CIN using a protection methodology to produce at least one said encrypted authorized CIN, regardless of whether an executable file with the at least one dummy number of the purchased software does exist as determined by said first means; and
seventh means, coupled to said sixth means, for replacing said embedded dummy numbers with said at least one encrypted authorized CIN to generate said protected software.
-
-
47. A system for software copyright protection and sales, said system on a server comprising:
-
a data collection subsystem including means for receiving requests to purchase software over a network and generating software purchase information in response to such requests;
encryption means, coupled to the data collection subsystem, for encrypting at least one computer identification number (CIN) from a consumer computer to produce at least one encrypted authorized CIN using a protection methodology, said protection methodology means including a null encryption of the CIN producing the CIN as the encrypted CIN; and
a software protection subsystem including automated embedding means for automatically embedding at least one protection mechanism into software selected for purchase to produce the protected software, the said embedded protection mechanism including;
the said at least one encrypted authorized CIN, means for reading in the said at least one CIN from a consumer computer, means for encrypting the said at least one CIN from a consumer computer to produce at least one encrypted CIN using the said protection methodology, means for comparing the said at least one encrypted CIN from the consumer computer with the said at least one encrypted authorized CIN in the protection mechanism, and means for halting and continuing processing of the software if the said encrypted authorized CIN does not match the said at least one encrypted CIN from the consumer computer; and
a software distribution subsystem, coupled to the software protection subsystem, for distributing the protected software to consumers over a network, wherein the protected software distributed by the software distribution system, when activated, retrieves and encrypts at least one CIN from a consumer computer and compares the encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism and halts processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer, and wherein said software protection subsystem comprises;
means for automatically editing at least a portion of software source code to place at least one said protection mechanism into at least one said predetermined stop point in the software selected for purchase;
means for at least one of compiling and linking the at least a portion of the software source code to produce the protected software embedded with the protection mechanisms; and
wherein said software protection subsystem further comprises;
first means for making a copy of the at least a portion of the purchased software source code;
second means, coupled to said first means, for encrypting said at least one CIN using a protection methodology to produce said at least one encrypted CIN;
third means, coupled to said second means, for adding into a protection mechanism said at least one encrypted CIN to produce embedded encrypted authorized CIN;
fourth means, coupled to said third means, for locating stop points in the at least a portion of the purchased software;
fifth means, coupled to said fourth means, for adding said protection mechanisms to said stop points in the at least a portion of the purchased software source code; and
sixth means, coupled to said fifth means, for selecting a compiler and at least one of compiling and linking the modified at least a portion of the purchased software source code using the compiler to generate said protected software.
-
-
48. A system for software copyright protection and sales, said system on a server comprising:
-
a data collection subsystem including means for receiving requests to purchase software over a network and generating software purchase information in response to such requests;
encryption means, coupled to the data collection subsystem, for encrypting the at least one CIN from a consumer computer to produce an encrypted authorized CIN using a protection methodology, said protection methodology means including a null encryption of the CIN producing the CIN as the encrypted CIN; and
a software protection subsystem including automated embedding means for automatically embedding at least one protection mechanism into software selected for purchase to produce protected software, the embedded protection mechanism including;
the said at least one encrypted authorized CIN, means for reading the said at least one CIN from a consumer computer, means for encrypting the said at least one CIN from a consumer computer to produce at least one encrypted CIN using said protection methodology, means for comparing the said at least one encrypted CIN from the consumer computer with the said at least one encrypted authorized CIN in the protection mechanism, and means for halting and continuing processing of the software if the said encrypted authorized CIN does not match the said at least one encrypted CIN from the consumer computer; and
a software distribution subsystem including means for distributing the protected software to consumers through at least one of a network and mail, wherein the protected software distributed by the software distribution system, when activated, retrieves and encrypts at least one CIN from a consumer computer and compares the encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism and halts processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer. - View Dependent Claims (49, 50, 51)
means for automatically editing at least a portion of software source code to place at least one said protection mechanism into at least one predetermined stop point, where execution of the purchased software is terminated if a computer is not authorized to run the purchased software, in the software selected for purchase; and
means for at least one of compiling and linking the at least a portion of source code to produce said protected software.
-
-
51. The system of claim 48, further comprising:
-
means for identifying a consumer computer operation system where the protected software will be executed; and
means for automatically retrieving at least one of a computer processor serial number, a hard disk drive serial number, an operating system serial number, and a hardware serial numbers from a consumer computer.
-
-
52. A method for software copyright protection and sales on a server, said method comprising the steps of:
-
receiving requests to purchase software over a network and generating software purchase information in response to such requests, encrypting the at least one CIN from a consumer computer using a predetermined protection methodology to produce an encrypted authorized CIN, said protection methodology including a null encryption of the CIN producing the CIN as the encrypted CIN, automatically embedding at least one protection mechanism into software selected for purchase to produce protected software, the embedded protection mechanism including the at least one encrypted authorized CIN encrypted using said protection methodology, means for reading at least one CIN from a consumer computer, means for encrypting the at least one CIN from a consumer computer using said protection methodology, means for comparing the at least one encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism, and means for halting and continuing processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer, and distributing the protected software to consumers over at least one of a network and mail, wherein the protected software, when activated, retrieves and encrypts at least one CIN from a consumer computer using said protection methodology and compares the encrypted CIN from the consumer computer with the at least one encrypted CIN in the protection mechanism and halts processing of the software if the encrypted authorized CIN does not match the encrypted CIN from the consumer computer. - View Dependent Claims (53, 54, 55)
automatically editing at least a portion of software source code to place at least one said protection mechanism into at least one predetermined stop point, where execution of the purchased software is terminated if a computer is not authorized to run the purchased software, in the software selected for purchase, and at least one of compiling and linking the at least a portion of source code to produce said protected software.
-
-
55. The system of claim 52, further comprising the steps of:
-
identifying a consumer computer operation system where the protected software will be executed, and automatically retrieving at least one of a computer processor serial number, a hard disk drive serial number, an operating system serial number, and a hardware serial numbers from a consumer computer.
-
-
56. A method for software copyright protection and sales on a server, said method comprising the steps of:
-
receiving requests to purchase software through at least one of a network and mail, generating software purchase information in response to such requests, encrypting at least one computer identification number (CIN) from a consumer computer to produce at least one encrypted authorized CIN using a protection methodology, the protection methodology including a null encryption of the CIN producing the CIN as the encrypted CIN, automatically embedding at least one protection mechanism into software selected for purchase to produce the protected software, the embedded protection mechanism including the at least one encrypted authorized CIN, the embedded protection mechanism reading in the at least one CIN from a consumer computer, encrypting the at least one CIN from a consumer computer to produce at least one encrypted CIN using the protection methodology, comparing the at least one encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism, and halting and continuing processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer, and distributing the protected software to consumers over at least one of a network and mail, wherein the protected software distributed by the software distribution method, when activated, retrieves and encrypts at least one CIN from a consumer computer and compares the encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism and halts processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer, wherein said step of automatically embedding further comprises the step of automatically editing at least a portion of an executable file to place at least a portion of the protection mechanisms into the executable file to produce the protected software, wherein said step of automatically editing further comprises the steps of;
determining whether an executable file embedded with at least one protection mechanism containing at least one predetermined dummy number of the purchased software exists, making a copy of the purchased software source code if an executable file with the at least one dummy number of the purchased software does not exist as determined by the determining step, locating the stop points in the purchased software, adding the protection mechanisms containing at least one dummy number to the stop points in the purchased software, selecting a compiler and at least one of compiling and linking the modified at least a portion of the purchased software source code using the compiler to generate the executable file, encrypting the at least one CIN using a protection methodology to produce at least one the encrypted authorized CIN, regardless of whether an executable file with the at least one dummy number of the purchased software does exist as determined by the determining step, and replacing the embedded dummy numbers with the at least one encrypted authorized CIN to generate the protected software.
-
-
57. A method for software copyright protection and sales on a server, said method comprising the steps of:
-
receiving requests to purchase software over a network and generating software purchase information in response to such requests, encrypting at least one computer identification number (CIN) from a consumer computer to produce at least one encrypted authorized CIN using a protection methodology, the protection methodology including a null encryption of the CIN producing the CIN as the encrypted CIN, automatically embedding at least one protection mechanism into software selected for purchase to produce the protected software, the embedded protection mechanism including the at least one encrypted authorized CIN, the embedded protection mechanism reading in the at least one CIN from a consumer computer, encrypting the at least one CIN from a consumer computer to produce at least one encrypted CIN using the protection methodology, comparing the at least one encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism, and halting and continuing processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer, and distributing the protected software to consumers over at least one of a network and mail, wherein the protected software distributed by the software distribution method, when activated, retrieves and encrypts at least one CIN from a consumer computer and compares the encrypted CIN from the consumer computer with the at least one encrypted authorized CIN in the protection mechanism and halts processing of the software if the encrypted authorized CIN does not match the at least one encrypted CIN from the consumer computer, and wherein said step of automatically embedding further comprises the steps of;
automatically editing at least a portion of software source code to place at least one the protection mechanism into at least one the predetermined stop point in the software selected for purchase, and at least one of compiling and linking the at least a portion of the software source code to produce the protected software embedded with the protection mechanisms, and wherein said step of automatically embedding further comprises the steps of;
making a copy of the at least a portion of the purchased software source code, encrypting the at least one CIN using a protection methodology to produce the at least one encrypted CIN, adding into a protection mechanism the at least one encrypted CIN to produce embedded encrypted authorized CIN;
locating stop points in the at least a portion of the purchased software, adding the protection mechanisms to the stop points in the at least a portion of the purchased software source code, and selecting a compiler and at least one of compiling and linking the modified at least a portion of the purchased software source code using the compiler to generate the protected software.
-
Specification