Eidos Forums

Go Back   Eidos Forums > Current Games > Hitman Series > Hitman: Blood Money

Reply
 
Thread Tools Display Modes
  #1  
Old 07-04-2006, 09:55 PM
ZoiD ZoiD is offline
New Player
 
Join Date: Jul 2006
Posts: 13
Post Enabling cheats in 1.2

Cheats are disabled in the 1.2 patch as I'm sure many of you already know. My guess is they've been disabled not because Eidos dont want you to use them, but because they make the game unstable. I.E. corrupting your saves, crashing your game, e.t.c. I suggest only use the following method to re-enable cheats if you're looking for extra-replay value. Don't use cheats to finish the game.

I'll explain how they got disabled in 1.2 and the work around, for those interested.

In version 1.0 and 1.1 the game code looks like this:
Code:
//Check for 'EnableCheats' presence within the config
if ( FALSE != cConfig.GetField( "EnableCheats" ) )
{
 g_bEnableCheats = TRUE; // Enable cheats
}
in version 1.2 it's:
Code:
if ( FALSE != cConfig.GetField( "EnableCheats" ) )
{
 g_bEnableCheats = FALSE; // Disable cheats?
}
From what I gather whoever disabled cheats wanted to give enthusiasts the opportunity to re-enable it, because the cheat code itself wasn't removed. Completely removing it would have made it a lot more difficult to use cheats again.

Further evidence of the above theory.. The KeyDown handler for cheats wasn't removed with the patch (the code which brings up the cheat menu), so it's possible to bring still bring it up if the g_bEnableCheats variable is toggled to 'TRUE'. The following code will do that for you (source code included).

If you want to compile the source-code you'll need a copy of masm32, It'll generate the exact same binary so you know this isn't a hoax. To use the enabler you must first load up into a game alt+tab out then run the executable. You'll know if the enabler was successfull if you hear a beep.

http://zoid.gamehackers.net/Hitman/h...at_enabler.zip
Reply With Quote
  #2  
Old 07-04-2006, 10:26 PM
BrandonB BrandonB is offline
Gamer
 
Join Date: May 2006
Posts: 161
Default

Thanks!
__________________
Mobo: Asus P5W DH Deluxe.
CPU: Intel Core 2 Duo E6400 @ 2.14Ghz.
RAM: Corsair XMS2 2GB DDR2 800 (PC2 6400).
Gfx: XFX 8800GTS XXX Edition 640mb/320bit.
Sound card: Creative Audigy 2 ZS Gamer Edition
Optical Drives: Asus Combo Drive, Lite-On DVD Burner
HDD: System: Western Digital Raptor 74GB 10,000 RPM Serial ATA150, Storage: Seagate Barracuda 320GB 7200 RPM Serial ATA3.0Gbs.
All powered on a Thermaltake 750Watt PSU.
Reply With Quote
  #3  
Old 07-06-2006, 12:09 AM
Sniper_Bob Sniper_Bob is offline
New Player
 
Join Date: Jun 2006
Posts: 10
Default

sweet. this really works... except give all makes the game crash.. but oh well.. thanks
__________________
AMD Athlon XP 2600+
2.08 GHz
1.5 GB Ram
NVIDIA GeForce FX 5200 Ultra 128Mb ddr memory
NVIDIA(R) nForce(TM) Audio
Reply With Quote
  #4  
Old 07-07-2006, 04:59 AM
ZoiD ZoiD is offline
New Player
 
Join Date: Jul 2006
Posts: 13
Default

Quote:
Originally Posted by Sniper_Bob
give all makes the game crash.. but oh well.. thanks
True I've been meaning to fix it, might give it a shot this weekend. Apparently according to numerous cheat sites the 'give all' feature crashes for every patch version, sounds like it wasn't implemented correctly.
Reply With Quote
  #5  
Old 07-07-2006, 07:20 AM
Disciple Disciple is offline
New Player
 
Join Date: Apr 2006
Posts: 27
Default

This may seem a really stupid question but, i read that you add EnableCheats to the HitmanBloodMoney.ini file then press c to bring down the cheat menu. All i can find is the config file, added the line and it does not work. I have the collectors edition by the way; what am i doing wrong?
Reply With Quote
  #6  
Old 07-07-2006, 09:10 AM
ZoiD ZoiD is offline
New Player
 
Join Date: Jul 2006
Posts: 13
Default

Quote:
Originally Posted by Disciple
This may seem a really stupid question but, i read that you add EnableCheats to the HitmanBloodMoney.ini file then press c to bring down the cheat menu. All i can find is the config file, added the line and it does not work. I have the collectors edition by the way; what am i doing wrong?
If you're using the 1.2 patch you need the fix file I mention in the first post of this thread. Alternatively you can reinstall Hitman:BM and optionally patch 1.1 to use the ini method.
Reply With Quote
  #7  
Old 08-02-2006, 10:15 AM
Zarathoustra Zarathoustra is offline
New Player
 
Join Date: Aug 2006
Posts: 2
Default

Quote:
Originally Posted by ZoiD
In version 1.0 and 1.1 the game code looks like this:
...
in version 1.2 it's:
1) Just by curiosity, how do you know the code of the program?
2) I'd like to know how you found the address of the global variable for enabling cheats (0x8ACA89) and i'd like to know if you can found anyother interesting addresses, like the flag for enabling the console, or anything else. Actually any global variable could be intersting since it's easily accesible.

A part from that i quickly wrote a little program thanks to that address i found in your code, that improves a little bit the usability, i hope.
You have to run hitman, then the program. The improvement is that you don't have to rerun it everytime you start a new level. (since the flag is reset to false). My program can run in the background of hitman, and monitor the flag, and reset it to 1 when i see it has been unset.

Here is the code:
Code:
#include windows.h>
#include conio.h>
#include stdio.h>
#include string.h>
#include tchar.h>
#include wchar.h>

BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
	if (IsWindowVisible(hwnd) != 0)
	{
		WCHAR	WindowTitle[1024];

		if (GetWindowText(hwnd, WindowTitle, 1024) == 0)
			return (true);	// error

		if (lstrcmp(WindowTitle, L"Hitman Blood Money") == 0)
		{
			DWORD	ProcessId = 0;
			HANDLE	ProcessHandle;

			GetWindowThreadProcessId(hwnd, &ProcessId);

			ProcessHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessId);

			if (ProcessHandle == NULL)
				return (true);	// error

			*((HANDLE *) lParam) = ProcessHandle;
		}
	}

	return (true);
}

int _tmain(int argc, _TCHAR* argv[])
{
	HANDLE			ProcessHandle = NULL;
	void			*g_bEnableCheats_Address = (void *) 0x8ACA89;
	unsigned char	Byte;

	if (EnumWindows(EnumWindowsProc, (LPARAM) &ProcessHandle) == 0)
	{
		MessageBeep(MB_ICONEXCLAMATION);
		fprintf(stderr, "Failed to open \"Hitman Blood Money\" window.\n");
		return (1);	// error
	}

	if (ProcessHandle == NULL)
	{
		MessageBeep(MB_ICONEXCLAMATION);
		fprintf(stderr, "Failed to open \"Hitman Blood Money\" window.\n");
		return (2);	// error
	}

	while (true)
	{
		// errors to be checked!!!
		ReadProcessMemory(ProcessHandle, g_bEnableCheats_Address, &Byte, 1, NULL);

		if (Byte == 0)
		{
			printf("EnableCheats is set to 0\n");

			Byte = 1;

			if (WriteProcessMemory(ProcessHandle, g_bEnableCheats_Address, &Byte, 1, NULL) == 0)
			{
				MessageBeep(MB_ICONEXCLAMATION);
				fprintf(stderr, "Failed to set EnableCheats to 1.\n");
				return (3);	// error
			}

			MessageBeep(MB_OK);
			printf("Succesfully set EnableCheats to 1.\n");
		}

		Sleep(1000);
	}

	return (0);
}
PS: fix the #includes if you want to try to compile it.

Last edited by Zarathoustra; 08-02-2006 at 10:20 AM.
Reply With Quote
  #8  
Old 07-27-2008, 01:05 PM
firedance99 firedance99 is offline
New Player
 
Join Date: Jul 2008
Posts: 16
Default enable cheats?

Quote:
Originally Posted by Zarathoustra View Post
1) Just by curiosity, how do you know the code of the program?
2) I'd like to know how you found the address of the global variable for enabling cheats (0x8ACA89) and i'd like to know if you can found anyother interesting addresses, like the flag for enabling the console, or anything else. Actually any global variable could be intersting since it's easily accesible.

A part from that i quickly wrote a little program thanks to that address i found in your code, that improves a little bit the usability, i hope.
You have to run hitman, then the program. The improvement is that you don't have to rerun it everytime you start a new level. (since the flag is reset to false). My program can run in the background of hitman, and monitor the flag, and reset it to 1 when i see it has been unset.

Here is the code:
Code:
#include windows.h>
#include conio.h>
#include stdio.h>
#include string.h>
#include tchar.h>
#include wchar.h>

BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
	if (IsWindowVisible(hwnd) != 0)
	{
		WCHAR	WindowTitle[1024];

		if (GetWindowText(hwnd, WindowTitle, 1024) == 0)
			return (true);	// error

		if (lstrcmp(WindowTitle, L"Hitman Blood Money") == 0)
		{
			DWORD	ProcessId = 0;
			HANDLE	ProcessHandle;

			GetWindowThreadProcessId(hwnd, &ProcessId);

			ProcessHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessId);

			if (ProcessHandle == NULL)
				return (true);	// error

			*((HANDLE *) lParam) = ProcessHandle;
		}
	}

	return (true);
}

int _tmain(int argc, _TCHAR* argv[])
{
	HANDLE			ProcessHandle = NULL;
	void			*g_bEnableCheats_Address = (void *) 0x8ACA89;
	unsigned char	Byte;

	if (EnumWindows(EnumWindowsProc, (LPARAM) &ProcessHandle) == 0)
	{
		MessageBeep(MB_ICONEXCLAMATION);
		fprintf(stderr, "Failed to open \"Hitman Blood Money\" window.\n");
		return (1);	// error
	}

	if (ProcessHandle == NULL)
	{
		MessageBeep(MB_ICONEXCLAMATION);
		fprintf(stderr, "Failed to open \"Hitman Blood Money\" window.\n");
		return (2);	// error
	}

	while (true)
	{
		// errors to be checked!!!
		ReadProcessMemory(ProcessHandle, g_bEnableCheats_Address, &Byte, 1, NULL);

		if (Byte == 0)
		{
			printf("EnableCheats is set to 0\n");

			Byte = 1;

			if (WriteProcessMemory(ProcessHandle, g_bEnableCheats_Address, &Byte, 1, NULL) == 0)
			{
				MessageBeep(MB_ICONEXCLAMATION);
				fprintf(stderr, "Failed to set EnableCheats to 1.\n");
				return (3);	// error
			}

			MessageBeep(MB_OK);
			printf("Succesfully set EnableCheats to 1.\n");
		}

		Sleep(1000);
	}

	return (0);
}
PS: fix the #includes if you want to try to compile it.



So how do you make your program work? I mean right from installing...I have no clue about programming ¬_¬ Any help would be appreciated. As far as I know, I have 1.2, but thats only because when I tried enabling cheats by editing the .ini file, nothing happened. And then I read that that does nothing at all if you have 1.2...but I don't know if 1.2 is something extra you have to install, and I just got the enabling cheats instructions for 1.1 wrong (even though I followed them to the letter). Help?
Reply With Quote
  #9  
Old 11-29-2007, 07:36 AM
Saucy Saucy is offline
New Player
 
Join Date: Nov 2007
Posts: 1
Default

It seems that the enabler is working. I followed all the directions to a T. After the message box appears I tried going back into the game and all I get is background sound, no picture. Ctrl+Alt+Tab says that the game is "Not Responding". I tried using the EnableCheats option as well, and still no success.
Please Help






Saucy
Reply With Quote
  #10  
Old 12-10-2007, 02:00 PM
thunderstruck thunderstruck is offline
New Player
 
Join Date: Dec 2007
Posts: 1
Default

mine only works in window mode, full screen says it can't find the game.
Reply With Quote
  #11  
Old 02-19-2009, 02:04 PM
SonDontAsk SonDontAsk is offline
New Player
 
Join Date: Feb 2009
Posts: 1
Default

You guys are sooo lucky i bothered to register just to reply:

http://www.ensaine.com/binaries/chea...n1.2Cheats.zip

The newest version of his cheat from a page ago fyi.
Reply With Quote
  #12  
Old 02-26-2009, 03:23 AM
smallclone smallclone is offline
New Player
 
Join Date: Feb 2009
Posts: 1
Default

That has a virus in it.

Is it a real virus, or just precautionary?
Reply With Quote
  #13  
Old 02-26-2009, 04:57 AM
@m's Avatar
@m @m is offline
Immersion Killer
Eidos Moderator
 
Join Date: Sep 2001
Location: Belgium
Posts: 3,664
Default

It's possible that it just does some things which are like malware/virus behaviour. This is the result from virustotal:

http://www.virustotal.com/nl/analisi...0df1cedfb755de
Reply With Quote
  #14  
Old 12-20-2008, 05:02 PM
Zerdak Zerdak is offline
New Player
 
Join Date: Dec 2008
Posts: 1
Default

Quote:
Originally Posted by ZoiD View Post
Cheats are disabled in the 1.2 patch as I'm sure many of you already know. My guess is they've been disabled not because Eidos dont want you to use them, but because they make the game unstable. I.E. corrupting your saves, crashing your game, e.t.c. I suggest only use the following method to re-enable cheats if you're looking for extra-replay value. Don't use cheats to finish the game.

I'll explain how they got disabled in 1.2 and the work around, for those interested.

In version 1.0 and 1.1 the game code looks like this:
Code:
//Check for 'EnableCheats' presence within the config
if ( FALSE != cConfig.GetField( "EnableCheats" ) )
{
 g_bEnableCheats = TRUE; // Enable cheats
}
in version 1.2 it's:
Code:
if ( FALSE != cConfig.GetField( "EnableCheats" ) )
{
 g_bEnableCheats = FALSE; // Disable cheats?
}
From what I gather whoever disabled cheats wanted to give enthusiasts the opportunity to re-enable it, because the cheat code itself wasn't removed. Completely removing it would have made it a lot more difficult to use cheats again.

Further evidence of the above theory.. The KeyDown handler for cheats wasn't removed with the patch (the code which brings up the cheat menu), so it's possible to bring still bring it up if the g_bEnableCheats variable is toggled to 'TRUE'. The following code will do that for you (source code included).

If you want to compile the source-code you'll need a copy of masm32, It'll generate the exact same binary so you know this isn't a hoax. To use the enabler you must first load up into a game alt+tab out then run the executable. You'll know if the enabler was successfull if you hear a beep.

http://zoid.gamehackers.net/Hitman/h...at_enabler.zip
The link is not working anymore...
How can I reach this enabler ??
Reply With Quote
  #15  
Old 02-16-2009, 06:39 AM
cotor cotor is offline
New Player
 
Join Date: Feb 2009
Posts: 1
Default

Thanks but the URL doesn't work now!
Reply With Quote
  #16  
Old 03-23-2010, 10:42 PM
spafmagic spafmagic is offline
New Player
 
Join Date: Mar 2010
Posts: 1
Default

Okies people... I did some MAJOR digging! I found a link that's still active for a cheat enabler! Found it on a Russian site!! http://hitmanseries.ru/hitman4/files/hbm_ecn.zip

Just run the game, start a level, alt tab, run the program, click the "Enable cheats" button and you are good! Get back into the game and hit C once or twice to get the menu up =^_^=

Last edited by spafmagic; 03-23-2010 at 10:46 PM.
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Cheats Cheats Cheats! pengy404 Thief: Deadly Shadows 1 05-31-2004 05:53 AM
Cheats BlackSilver Deus Ex: Invisible War 7 04-12-2004 12:31 AM
Looking for Completion Times without cheats GameKiller Legacy of Kain: Defiance 23 03-15-2004 12:40 PM
enabling cheats cheddar420 Deus Ex - General Discussion 2 01-09-2004 05:38 AM
PC Cheats - How to Activate WIZZETTE3457 Tomb Raider 1 - 6 - Gaming Help Center 0 07-24-2003 07:02 AM


All times are GMT -8. The time now is 05:40 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, vBulletin Solutions, Inc.