All credits for this source goto Phun and Wayras.
This is outdated but very easy to update.
CRC32HASH is the crc32 hash value of your filelist.xml in system.mrs
If you use a cheatengine and search gunz.exe for the crc32hash you will find the address for CRC32PNTR
Update and compile. ez pz.
CRC32.CPP
CRC32.H
This is outdated but very easy to update.
CRC32HASH is the crc32 hash value of your filelist.xml in system.mrs
If you use a cheatengine and search gunz.exe for the crc32hash you will find the address for CRC32PNTR
Update and compile. ez pz.
CRC32.CPP
Code:
////////////////////////////////////////////////////////////////////////////////////////////////
// CRC32.CPP
//
// Creator(s):
//
// * <Your Name Here>
//
// Build Version:
//
// * Version 1.0 - STABLE
//
// Additional Credits:
//
// * Waryas - Original emulator source.
//
// Creator's Comments:
//
// * Created with Visual Studio 2005.
////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////
// Headers / Macros
#include <windows.h>
#include "CRC32.H"
#pragma warning( disable : 4312 )
////////////////////////////////////////////////////////////////////////////////////////////////
// Internal Threads
void Crc32Emulator( void )
{
while( true )
{
// Copy 0x331A68FF to 0x0066A064.
memcpy( (PVOID)CRC32PNTR, &CRC32HASH, 4 );
Sleep( 1 ); // Take no action for 1 millisecond.
}
}
// Perform the initialization routine.
void Initialize( void )
{
// Create thread Crc32Emulator inside the calling process.
CreateThread( NULL, 0, (LPTHREAD_START_ROUTINE)Crc32Emulator, NULL, 0, NULL );
}
////////////////////////////////////////////////////////////////////////////////////////////////
// Entry Point
BOOL WINAPI DllMain( HINSTANCE hDll, DWORD dwReason, LPVOID lpReserved )
{
// Disables the thread-specific routines (DLL_THREAD_ATTACH and DLL_THREAD_DETACH).
DisableThreadLibraryCalls( hDll );
// Perform actions based on the reason for calling DllMain.
switch( dwReason )
{
// Do process-specific initialization.
case DLL_PROCESS_ATTACH:
// Call the Initialize function.
Initialize( );
break;
// Do thread-specific initialization.
case DLL_THREAD_ATTACH:
break;
// Do thread-specific cleanup.
case DLL_THREAD_DETACH:
break;
// Do process-specific cleanup.
case DLL_PROCESS_DETACH:
break;
}
return TRUE; // Successful DLL_PROCESS_ATTACH.
}
Code:
//////////////////////////////////////////////////////////////////////////////////////////////// // CRC32.H // // Creator(s): // // * <Your Name Here> // // Build Version: // // * Version 1.0 - STABLE // // Creator's Comments: // // * Created with Visual Studio 2005. //////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////// // Global Variables // unsigned long DWORD CRC32HASH = 0x331A68FF; DWORD CRC32PNTR = 0xAA525D89;