I need some C++ classes/executable to enforce software licensing in my application, it will do this by retrieving the PC/server hardware info (just like Windows MPA)
Produce a class that retrieves the following information from a PC/server:
1. Number of CPUs
2. Types of CPUs
3. CPUs serial numbers
4. Amount of RAM
5. MAC addresses from all ethernet network adaptors
6. Graphics adapter hardware ID string
7. Number of Hard Disks
8. Hard drives hardware ID string
9. HDDs Firmware
10. SCSI host hardware ID string
11. CD-ROM drive "hardware identification string"
12. Generate a string of random numbers (so that each run is unique)
Not all this information will be available on every PC/Server. All this information should be stored in a string then encrypted using a short key. After encryption the data should be converted back to a text format (base64 or similar) and stored in another string (maybe CString) where it can be written to a text file.
Produce another set of classes/executable that can read the above text file and extract the above information using the reverse process and store each parameter in a seperate string (CString). I have an existing program that will read the strings and compare them to expected values.
I realise that it might not be possible to write code to retrieve all the above 12 values, please let me know which ones you can do.
I have attached a sample of the format I expect the values to be stored in (the binary and base 64 files contain dummy data, but you get the idea.). I only expect the base64 file to be produced by your code, the other files can be stored in memory only.
I would prefer native code but can accept .NET 2.0 managed code in VS2005 only.
I don't want you to produce a complete licensing solution, just to supply the data and my code will do the rest.
## Deliverables
Rent A Coder requirements notice: As originally posted, this bid request does not have complete details. Should a dispute arise and this project go into arbitration "as is", the contract's vagueness might cause it to be interpreted against you, even though you were acting in good-faith. So for your protection, if you are interested in this project, please work-out and document the requirements onsite.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Must compile in Visual Studio (C++) 6, 2003 or 2005.
Should be designed for Windows XP and 2003 but must also run on Windows 2000