From 54638f181a29acc1335382f2c25434e59c846744 Mon Sep 17 00:00:00 2001 From: Sui Date: Tue, 14 Jul 2015 21:29:58 +0200 Subject: [PATCH] Blood Money Cheat Unlocker --- Cheats/CheatsHitmanBloodMoney.Designer.cs | 163 ++++++++++++++++++++++ Cheats/CheatsHitmanBloodMoney.cs | 96 +++++++++++++ Cheats/CheatsHitmanBloodMoney.resx | 123 ++++++++++++++++ Form1.Designer.cs | 2 +- Form1.cs | 8 ++ HitmanStatistics.csproj | 9 ++ HitmanStatistics.v12.suo | Bin 52224 -> 43520 bytes Properties/AssemblyInfo.cs | 4 +- README.md | 4 +- 9 files changed, 405 insertions(+), 4 deletions(-) create mode 100644 Cheats/CheatsHitmanBloodMoney.Designer.cs create mode 100644 Cheats/CheatsHitmanBloodMoney.cs create mode 100644 Cheats/CheatsHitmanBloodMoney.resx diff --git a/Cheats/CheatsHitmanBloodMoney.Designer.cs b/Cheats/CheatsHitmanBloodMoney.Designer.cs new file mode 100644 index 0000000..56c2caf --- /dev/null +++ b/Cheats/CheatsHitmanBloodMoney.Designer.cs @@ -0,0 +1,163 @@ +namespace CheatsForms +{ + partial class CheatsHitmanBloodMoney + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.CheckIfRunning = new System.Windows.Forms.Timer(this.components); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.L_GameRunning = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.panel1 = new System.Windows.Forms.Panel(); + this.label2 = new System.Windows.Forms.Label(); + this.B_Deactivate = new System.Windows.Forms.Button(); + this.B_Activate = new System.Windows.Forms.Button(); + this.tableLayoutPanel1.SuspendLayout(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // CheckIfRunning + // + this.CheckIfRunning.Interval = 500; + this.CheckIfRunning.Tick += new System.EventHandler(this.CheckIfRunning_Tick); + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single; + this.tableLayoutPanel1.ColumnCount = 1; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.Controls.Add(this.L_GameRunning, 0, 0); + this.tableLayoutPanel1.Controls.Add(this.label1, 0, 1); + this.tableLayoutPanel1.Controls.Add(this.panel1, 0, 2); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Top; + this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 3; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 21F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(311, 130); + this.tableLayoutPanel1.TabIndex = 0; + // + // L_GameRunning + // + this.L_GameRunning.Anchor = System.Windows.Forms.AnchorStyles.None; + this.L_GameRunning.AutoSize = true; + this.L_GameRunning.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.L_GameRunning.ForeColor = System.Drawing.Color.Red; + this.L_GameRunning.Location = new System.Drawing.Point(11, 13); + this.L_GameRunning.Name = "L_GameRunning"; + this.L_GameRunning.Size = new System.Drawing.Size(288, 25); + this.L_GameRunning.TabIndex = 1; + this.L_GameRunning.Text = "Blood Money is NOT running"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label1.Location = new System.Drawing.Point(4, 52); + this.label1.Margin = new System.Windows.Forms.Padding(3, 0, 3, 5); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(299, 13); + this.label1.TabIndex = 0; + this.label1.Text = "The following unlocker is for version 1.2 of a game."; + // + // panel1 + // + this.panel1.Controls.Add(this.label2); + this.panel1.Controls.Add(this.B_Deactivate); + this.panel1.Controls.Add(this.B_Activate); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(4, 74); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(303, 52); + this.panel1.TabIndex = 2; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(11, 1); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(282, 13); + this.label2.TabIndex = 2; + this.label2.Text = "After activating cheats press \"C\" to open the Cheat Menu."; + // + // B_Deactivate + // + this.B_Deactivate.Location = new System.Drawing.Point(187, 23); + this.B_Deactivate.Name = "B_Deactivate"; + this.B_Deactivate.Size = new System.Drawing.Size(75, 23); + this.B_Deactivate.TabIndex = 1; + this.B_Deactivate.Text = "Deactivate"; + this.B_Deactivate.UseVisualStyleBackColor = true; + this.B_Deactivate.Click += new System.EventHandler(this.B_Deactivate_Click); + // + // B_Activate + // + this.B_Activate.Location = new System.Drawing.Point(52, 23); + this.B_Activate.Name = "B_Activate"; + this.B_Activate.Size = new System.Drawing.Size(75, 23); + this.B_Activate.TabIndex = 0; + this.B_Activate.Text = "Activate"; + this.B_Activate.UseVisualStyleBackColor = true; + this.B_Activate.Click += new System.EventHandler(this.B_Activate_Click); + // + // CheatsHitmanBloodMoney + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(311, 134); + this.Controls.Add(this.tableLayoutPanel1); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "CheatsHitmanBloodMoney"; + this.ShowIcon = false; + this.Text = "Hitman: Blood Money - Cheats"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.CheatsHitmanBloodMoney_FormClosing); + this.Load += new System.EventHandler(this.CheatsHitmanBloodMoney_Load); + this.tableLayoutPanel1.ResumeLayout(false); + this.tableLayoutPanel1.PerformLayout(); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Timer CheckIfRunning; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label L_GameRunning; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button B_Deactivate; + private System.Windows.Forms.Button B_Activate; + } +} \ No newline at end of file diff --git a/Cheats/CheatsHitmanBloodMoney.cs b/Cheats/CheatsHitmanBloodMoney.cs new file mode 100644 index 0000000..f56d9aa --- /dev/null +++ b/Cheats/CheatsHitmanBloodMoney.cs @@ -0,0 +1,96 @@ +using System; +using System.Diagnostics; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace CheatsForms +{ + public partial class CheatsHitmanBloodMoney : Form + { + static string processName = "HitmanBloodMoney"; + Process[] myProcess; + static int SteamLenght = 6062080; + int readLenght = 0; + bool foundProcess = false; + bool isSteam = false; + int ActivateAdressRetail = 0x8ACA89; + int ActivateAdressSteam = 0x8ABA89; + + public CheatsHitmanBloodMoney() + { + InitializeComponent(); + } + + private void CheatsHitmanBloodMoney_Load(object sender, EventArgs e) + { + CheckIfRunning.Start(); + } + + private void CheatsHitmanBloodMoney_FormClosing(object sender, FormClosingEventArgs e) + { + CheckIfRunning.Stop(); + } + + private void CheckIfRunning_Tick(object sender, EventArgs e) + { + myProcess = Process.GetProcessesByName(processName); + + if (myProcess.Length > 0) + { + foundProcess = true; + } + else + foundProcess = false; + + if(foundProcess) + { + L_GameRunning.Text = "Blood Money is running"; + L_GameRunning.ForeColor = Color.Green; + } + else + { + L_GameRunning.Text = "Blood Money is NOT running"; + L_GameRunning.ForeColor = Color.Red; + } + } + + private void B_Activate_Click(object sender, EventArgs e) + { + if(foundProcess) + { + CheckIfSteam(); + if (isSteam) + Trainer.WriteByte(processName, ActivateAdressSteam, 1); + else + Trainer.WriteByte(processName, ActivateAdressRetail, 1); + } + } + + private void B_Deactivate_Click(object sender, EventArgs e) + { + if (foundProcess) + { + CheckIfSteam(); + if (isSteam) + Trainer.WriteByte(processName, ActivateAdressSteam, 0); + else + Trainer.WriteByte(processName, ActivateAdressRetail, 0); + } + } + + private void CheckIfSteam() + { + readLenght = myProcess[0].MainModule.ModuleMemorySize; + + if (readLenght == SteamLenght) + isSteam = true; + else + isSteam = false; + } + } +} diff --git a/Cheats/CheatsHitmanBloodMoney.resx b/Cheats/CheatsHitmanBloodMoney.resx new file mode 100644 index 0000000..d0c325a --- /dev/null +++ b/Cheats/CheatsHitmanBloodMoney.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/Form1.Designer.cs b/Form1.Designer.cs index 162f153..302fa3e 100644 --- a/Form1.Designer.cs +++ b/Form1.Designer.cs @@ -380,10 +380,10 @@ private void InitializeComponent() // // bloodMoneyToolStripMenuItem // - this.bloodMoneyToolStripMenuItem.Enabled = false; this.bloodMoneyToolStripMenuItem.Name = "bloodMoneyToolStripMenuItem"; this.bloodMoneyToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.bloodMoneyToolStripMenuItem.Text = "Blood Money"; + this.bloodMoneyToolStripMenuItem.Click += new System.EventHandler(this.bloodMoneyToolStripMenuItem_Click); // // metronomeToolStripMenuItem // diff --git a/Form1.cs b/Form1.cs index 99e086a..ef55b9b 100644 --- a/Form1.cs +++ b/Form1.cs @@ -10,6 +10,7 @@ public partial class Form1 : Form { Metronome _metronome; CheatsForms.CheatsHitman2 _hitman2cheats; + CheatsForms.CheatsHitmanBloodMoney _hitmanbloodmoneycheats; // Base address value for pointers. const int baseAddress = 0x00400000; @@ -80,6 +81,7 @@ private void Form1_Load(object sender, EventArgs e) { _metronome = new Metronome(this); _hitman2cheats = new CheatsForms.CheatsHitman2(); + _hitmanbloodmoneycheats = new CheatsForms.CheatsHitmanBloodMoney(); } @@ -296,5 +298,11 @@ private void silentAssassinToolStripMenuItem_Click(object sender, EventArgs e) _hitman2cheats.SetDesktopLocation(this.DesktopLocation.X + 10, this.DesktopLocation.Y + 10); _hitman2cheats.ShowDialog(); } + + private void bloodMoneyToolStripMenuItem_Click(object sender, EventArgs e) + { + _hitmanbloodmoneycheats.SetDesktopLocation(this.DesktopLocation.X + 10, this.DesktopLocation.Y + 10); + _hitmanbloodmoneycheats.ShowDialog(); + } } } \ No newline at end of file diff --git a/HitmanStatistics.csproj b/HitmanStatistics.csproj index f4b6dce..f1e3cfa 100644 --- a/HitmanStatistics.csproj +++ b/HitmanStatistics.csproj @@ -91,6 +91,12 @@ CheatsHitman2.cs + + Form + + + CheatsHitmanBloodMoney.cs + Form @@ -117,6 +123,9 @@ CheatsHitman2.cs + + CheatsHitmanBloodMoney.cs + Form1.cs diff --git a/HitmanStatistics.v12.suo b/HitmanStatistics.v12.suo index 8958fe0f7bd2b3f4396106c1001d5f0ba31fb064..45cc05f9bed262d5918d76e6e17771d6c64d28c2 100644 GIT binary patch delta 4581 zcmdT|ZBSI#8NO%P3mdq=F3ZOvtS*SUAR%C^@}Y70Fn+8Gel#H#Eh;2@2#72yXk|%l zH6k_atI=qJikevKXmHz(O|7n#QO8V;ZT-=iOfyOTG-EQYO>w4}QTn{gy(`Y36Pp<` zIq-1KdGCA9J@0eQ``mkR?+tR_(7irQ4wocJ*P9=v6JsbzHzp#}6{00Y48S}~&^ z3fxl-qtKRBpJcTzL>&egfu{f~HR|J%=AktX;DHlRrvi3hIz*O-c6 zfQe%E^ZOdz2&pT_iVYI2$vX3%@NnAFgYtY2$5Y6q1MO+20jnGpPWUW zJ$eHlWG>%y0R1=8PBz;SMavm&GU~ULD4Zsv0nI4Cgw8Q)$=T{jwvo*^mX{+}!MKqI zB2&c=AOKc!7$?g$u>H|*o9wswEP7=kY)=D$+3L|b=69MBaLRyiUstUC!f%Aoh&@LD_jAwvM_V9(K=ySR8d8p06nK+v}#<1wbxoGfMPQ&>? zvD&XhO^&c7)f>@xMKxBdbuH@EK%LreM7>6BuT^Uo>SndQ9`y#b-Ky4`Q2zwj4734m zx@&S8($ES}>596pus$X}U^JH~>8e5VlwXDc2VjCzVZ~;Z)Gm?BUK}o1E!e_^52|>V zZrc~oMO~J7hniE1l`J@f4I37A1f3E9g$5_iF)-oUXmX{y#dNxzUaYVJMi09r@~HXg zVnv2Y6G6To^+(u4W`ct(X{vhA40NS9U0w&r{r&@(J#=z&Cd)0bwPBQ#`iy5!$4(VS zk8(NtPapsFEAiQhfBZf1txY5{Vrb1Nqi0Vvx#KQ|i#QBnA=XwX4pXzGO}tIFErZH_ zTv!5d@jS`1)Aq#94kA+k!662Ug-#un$#UFoxK+sHU?B5=m^y3SaH0f8@dSZ1RW8st2l$^^lKRdTmerFE3n^VjM$g2kYR3I4}qQCuBk8^s$I)7% zusE4sCiwkqmXCB^jg;HOh&72{vlA53^Yr#Z~v~1Com6hJz(>eu>ccjISK$PSk;I%%N zC-8bS!I3&5o4qrv-qM$X4W5iXW2hOvB{ z<}nC;Mn*pQo^^;a`m`#}yKdFz;=8y#xf>kb?n+;f=XnPe>_|&{DAAI!>vGb*J8g}n z6F>SargzRQW-oqdvldG(X$8Pfk)g5;G%kA>jZ-Jt?fd^y8Z%`^K}kpY@>wjt0osm% zMl%HbK8<{UxU8f0xH9|07g)XUM9&|h&e#6NuMKqQsQK~Kz+)-$e<(bltmIeLPF7aA z1B+PVSMPwT8$w{y_V>~9?kzIu#mGs-S*}e&t`VMi;lq+hDj<hynYc3=u*G>h~ERP{F4W4Py-%UnZ=&Kc5sJzxdnKdcih?){X%NuWcZ*Gni-sQD7 zgS|J`#0py3If}OD*~A;FWM+EWkl=+kC{ zI*7}~WOZ5M=TiL@Rn_9CzrwhHK4nKTP2 zQU|~JK%M_e%aDX&;Zfefj;{qJ??|DKI~C*ohg&f3EneMPGs(R^%UBlB$4aSIayh*h z)?W(Jy(&nwWRq`WD4l8@Z(bRAsPJuu9x5Mg97q3Z&7!Q$*Xh@rW69C>0=e6wsirOV z^e&(1=@p))Zd%@y9JUH?vPRrfk2mFo`>N>RiF`^psF3>u2ie|qoK7&Pg|-g%{hg47oj1Nja-V_Lbop`oI#p}w*uV^!0pO&jycJ<&~l4hzlBTlpN_t|{j#)@(CJSGVpSXz_=XeQon32H6BT_4*8Xh>`r%2j;5t&Hx0kTCug%G9+)uy8_d(?i;v|4 zrxpJG;!m6+ExdN}UEK^-rrz^$^PypRTdsoXRfAB3cM`^oWM0kt2D rqsVhI=t(y4bB_xxJ)iBlT0)<8XJUdRotfHwX8Lk(yx)Od@J;(4k$vap delta 5799 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 diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index 3bc0e09..042c5f0 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.1.0.0")] -[assembly: AssemblyFileVersion("1.1.0.0")] +[assembly: AssemblyVersion("1.2.0.0")] +[assembly: AssemblyFileVersion("1.2.0.0")] diff --git a/README.md b/README.md index 497ef4c..b6daadf 100644 --- a/README.md +++ b/README.md @@ -19,11 +19,13 @@ Features Uber features ------- * Metronome +* Built in Cheat List for Hitman 2 +* Built in Cheat Unlocker for Blood Money In development / To do: ------- -* Cheats * GOG support +* Codename 47 and Contracts cheats How to use -------