We are currently working on a client-server application that connects to our servers, authenticates users from a mysql database, collects local information about their machine and monitors their local activity while using our service. The purpose of this application, is to ensure fairplay of a few supported games (disclosed in private message). All games will run on a gaming platform called Steam ([url removed, login to view]) and will use its developer APIs for authentication.
The software has been partially developed in-house. The selected coder's job will be to add the following functions to the existing Anti-Cheat Client. (current code will be provided).
- collect unique hardware information (Hardware ID) about the system running the client such as: CPU ID, Motherboard ID, HDD ID, Bios ID and store them in the mysql database, in separate fields associated to the logged in user.
-- Add an additional 1/0 field to the database representing the access (allowed/denied) for the unique hardware ids. (If banned (Denied), restrict access to user to go past the login screen).
- detect changes made to a process (injections) at the memory level and report them back to the client. (Use signature or suggest better approach).
-- At runtime, run an autoupdate feature, that also checks for injections made to our software. (Ensure correct signature)
- While running and logged in, send constant HTTP requests every few seconds to a webserver, authorizing the users' steamID and record the validation code in the mysql database. (our gameservers will read it off the mysql database, and deny access to the server if the client stops running)
- while running, logged in, and in-game, take constant screenshots of the user's screen, compress them and upload them to an FTP server securely and class them based on date/username/matchID.
- save and retrieve information from registry (steam installation path, steamID)
- create a blacklist of processes that can be constantly updated (containing malicious software such as cheating programs) and automatically disable access to the user and its machine upon detection of any running process present on the blacklist.
-- perform an initial check on client launch and then check with the server every few seconds to detect if any malicious software is launched while the client is already running
- ensure default file integrity and default configurations for the supported games
- A client example that contains most of the features mentioned above can be found at [url removed, login to view]
**Ensure our client is compatible with all Windows versions between XP SP1 and Windows 7 inclusive. Code an installer that adds the software to antivirus exceptions upon term agreement to ensure data flow between client and server.**
Please mention the word 'Chaperon' when posting a bid to avoid canned bids.