

On Tuesday, December 16th, 2008 at 1:14 am and is filed under Grand Theft Auto IV. Part III will talk about save validation and include version 1.1.0.0 of the wrapper with this disabled :). The only side effect that I’ve seen so far is that the in-game UI for Games For Windows no longer appears, although the game continues to function normally (including multiplayer). If you encounter any issues with the wrapper aside from the UI issue, please let me know! (The first time you run the game, the wrapper will prompt you if it is OK to copy the original xlive.dll/ unmodified to another location with a new name) In doing this, we can now freely modify at runtime the data that the game wants to be protected, including your current cash.ĭrop this into your GTA IV game directory (where GTAIV.exe resides), start the game, viola, unprotected memory! int XLivePBufferFree( XLive ProtectedBuffer *pbuffer)īy creating a fake xlive.dll which wraps the real xlive.dll, we can serve ‘unprotected’ versions of these 8 functions.int XLivePBufferSetByteArray( XLive ProtectedBuffer *pbuffer, int offset, void *source, int size).int XLivePBufferSetDWORD( XLive ProtectedBuffer *pbuffer, int offset, unsigned int value).int XLivePBufferSetByte( XLive ProtectedBuffer *pbuffer, int offset, unsigned char value).int XLivePBufferGetByteArray( XLive ProtectedBuffer *pbuffer, int offset, void *destination, int size).int XLivePBufferGetDWORD( XLive ProtectedBuffer *pbuffer, int offset, unsigned int *value).int XLivePBufferGetByte( XLive ProtectedBuffer *pbuffer, int offset, unsigned char *value).int XLivePBufferAllocate(int size, XLiveProtectedBuffer **pbuffer).The following functions (thanks, xlive.pdb!), are what provide this feature to games: GTA IV uses this for a bunch of the game memory, for example, your current cash. These buffers can be allocated by games that use the API, and data can be copied back and forth from them. One of the features the Games For Windows API provides is protected buffers.
