Tell Me More About Hacking LAA
During our brief discussion with Chuck, he mentioned enthusiasts modifying game executables by adding the /LARGEADDRESSAWARE flag, thereby improving the stability of a 32-bit application that might have otherwise been prone to crashing. This is something we saw mentioned several times in support forums and we wanted to address it as a possible solution for those running 32-bit games without large address support on a 64-bit version of Windows. Some of the games that reportedly benefit include Stalker, Battlefield 2, Battlefield 2142, Supreme Commander, Company of Heroes, and Gothic 3. If you’re running a 32-bit operating system, you’ll encounter other issues allocating virtual address space, so this page is specifically for those in 64-bit environments. Fret not, though--workarounds are possible using the /3GB switch for those reluctant to give up their 32-bit OS.
This isn’t guaranteed to fix stability issues you might be encountering and should only be attempted by advanced users.
Further, Microsoft had chimed in to remind enthusiasts that it does recommend 'editbin' hacking 32-bit .exes to enable /LAA. Potential risks include corrupted save games, random crashes, or detection as a cheat by some anti-cheat technologies. It certainly invalidates Authenticode signatures on the .exe.
With that said, we’ve seen enough success stories to comfortably elaborate on what Chuck alluded to by hacking existing games to add LAA, especially when running large mods.
Start by downloading Visual C++ 2005 Express Edition from here. Why didn’t we use the 2008 release? Simply, it wouldn’t install on our 64-bit build of Vista Ultimate. And whereas the 2005 Express Edition threw up compatibility errors, it did the job just fine.
Next, you’ll want to fire up the Visual Studio command prompt (make sure you’re logged in to an administrator account), under the Visual Studio Tools start menu item.
Navigate to the folder of the game you’re attempting to modify. In the pictured example, we’ve patched World in Conflict. Basically, you need to be in whichever directory houses the file using up all of your memory and causing crashes over the 2 GB virtual address space limit.
But before you make any permanent changes to the file, create a copy of the file you’ll be modifying and save it somewhere else, just in case there's a problem. Since you’re only altering one file, copying the original back should undo any changes made.
The syntax is as follows:
Editbin.exe /LARGEADDRESSAWARE xxx.xxx, where xxx.xxx is the file name you’re attempting to patch (wic.exe in the pictured example). Hit enter, and you should see a two-line command prompt readout, indicating that the operation was a success.