BF1942 Demo Server Crashes

Re: BF1942 Demo Server Crashes

Postby tuia » Mon Nov 28, 2011 6:34 pm

Fix for Battlefield 1942 Demo version 1.0:
Code: Select all
BF1942Demo v1.0 (original)
  62d445:   90 90 90 90 90 90 90    nop
  62d44c:   90 90 90 90             nop
---
  62d4aa:   0f 87 fe 0e 00 00       ja     0x62e3ae
---
  62d4bf:   8b 0d b4 c4 b9 00       mov    ecx,DWORD PTR ds:0xb9c4b4
  62d4c5:   33 d2                   xor    edx,edx

Code: Select all
BF1942Demo v1.0 (patched)
  62d445:   8b 55 04                mov    edx,DWORD PTR [ebp+4]
  62d448:   83 fa 01                cmp    edx,1
  62d44b:   74 74                   je     0x62d4c1
  62d44d:   eb 5b                   jmp    0x62d4aa
---
  62d4aa:   0f 87 53 10 00 00       ja     0x62e503
---
  62d4bf:   eb 84                   jmp    0x62d445
  62d4c1:   8b 0d b4 c4 b9 00       mov    ecx,DWORD PTR ds:0xb9c4b4

In the original file, the instruction at address 0x0062d4aa would jump, in case the event number was invalid (above 0x36), to a branch of code that would display an error dialog with the following message "unrecognized event recvd ...", causing the clients to disconnect from the server. So i changed it to jump to address 0x0062e503, which ignores the event and exits the handleGameEventManagerEvent() function. This is what is also set in the original files of BF1942 Demo v1.1 and BF1942 retail. Apart from this difference, it's the same fix as in BF1942 Demo v1.1.
You can download the patched file from here:
http://estatistic.planetaclix.pt/download/BF1942Demo-v1.0-patched.zip
This also contains the fix for the new exploit. Please note that this is the server file, obtained from bf1942_mpdemo_server.exe.
tuia
 
Posts: 129
Joined: Tue Sep 06, 2011 12:36 pm
Location: Lisbon, Portugal

Previous

Return to Battlefield server and client

Who is online

Users browsing this forum: No registered users and 3 guests