You're pretty much spot on with what I did. - Install xampp webserver
- Open C:\windows\system32\drivers\etc\HOSTS with notepad
- Add the following line "127.0.0.1 proxy.novafusion.ea.com"
- Start RA3 and wait for it to close
- Open the log file for the webserver "C:\xampp\apache\logs\ssl_request.log" ;
- Remove the line from HOSTS file added earlier
- Send the same response that the game sent to the server. I used the blelow Greasemonkey script for Firefox as it was quick to write but there's millions of way's to do this.
Code:
GM_xmlhttpRequest({ method: 'POST', url: 'http://proxy.novafusion.ea.com/drm/license', data: 'requestcode=QYQXS-MM7MH-L2UAX-WR8U2-EQUXH-C3GGU-H9ACT-6EBHK-9GP2&serial=ZXYGSVY5HW7CGDDH8DGW', headers: {'Content-Type': 'application/x-www-form-urlencoded'}, onload: function(responseDetails) { prompt('',escape(responseDetails.responseText)); } });
This pretty much all you'd have to do to get the required response from the server whiich then could be faked using our own server. The problem lies in this possibly not being the only CD check performed and may require more work but it's something that can only be discovered over time. The other possibility is to modify the file that's accessing the server and tell it to connect to the unencrypted http://proxy.novafusion.ea.com rather than the encrypted https://proxy.novafusion.ea.com as either will work. EDIT :: I love being right
I used a HexEditor on paul.dll found in \RetailExe\1.0\ and cahnged the https:// into http:// and I was able to sniff the traffic with Wireshark.
Bookmarks