Compare commits
No commits in common. "hotfix/tidy" and "master" have entirely different histories.
hotfix/tid
...
master
BIN
.vs/MW2 Ultimate Hacks/DesignTimeBuild/.dtbcache.v2
Normal file
BIN
.vs/MW2 Ultimate Hacks/DesignTimeBuild/.dtbcache.v2
Normal file
Binary file not shown.
BIN
.vs/MW2 Ultimate Hacks/v16/.suo
Normal file
BIN
.vs/MW2 Ultimate Hacks/v16/.suo
Normal file
Binary file not shown.
183
MW2 Ultimate Hacks/Form1.Designer.cs
generated
183
MW2 Ultimate Hacks/Form1.Designer.cs
generated
@ -28,27 +28,9 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
this.components = new System.ComponentModel.Container();
|
|
||||||
this.label1 = new System.Windows.Forms.Label();
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
this.lblGameStatus = new System.Windows.Forms.Label();
|
this.lblGameStatus = new System.Windows.Forms.Label();
|
||||||
this.button1 = new System.Windows.Forms.Button();
|
this.button1 = new System.Windows.Forms.Button();
|
||||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
|
||||||
this.lblPlayerIncline = new System.Windows.Forms.Label();
|
|
||||||
this.lblPlayerAzimuth = new System.Windows.Forms.Label();
|
|
||||||
this.label6 = new System.Windows.Forms.Label();
|
|
||||||
this.label5 = new System.Windows.Forms.Label();
|
|
||||||
this.lblPlayerZ = new System.Windows.Forms.Label();
|
|
||||||
this.lblPlayerY = new System.Windows.Forms.Label();
|
|
||||||
this.lblPlayerX = new System.Windows.Forms.Label();
|
|
||||||
this.label4 = new System.Windows.Forms.Label();
|
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
|
||||||
this.label2 = new System.Windows.Forms.Label();
|
|
||||||
this.PlayerStatsTimer = new System.Windows.Forms.Timer(this.components);
|
|
||||||
this.label7 = new System.Windows.Forms.Label();
|
|
||||||
this.lblNumberOfPlayers = new System.Windows.Forms.Label();
|
|
||||||
this.pbMap = new System.Windows.Forms.PictureBox();
|
|
||||||
this.groupBox1.SuspendLayout();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.pbMap)).BeginInit();
|
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// label1
|
// label1
|
||||||
@ -71,7 +53,7 @@
|
|||||||
//
|
//
|
||||||
// button1
|
// button1
|
||||||
//
|
//
|
||||||
this.button1.Location = new System.Drawing.Point(176, 241);
|
this.button1.Location = new System.Drawing.Point(173, 124);
|
||||||
this.button1.Name = "button1";
|
this.button1.Name = "button1";
|
||||||
this.button1.Size = new System.Drawing.Size(75, 23);
|
this.button1.Size = new System.Drawing.Size(75, 23);
|
||||||
this.button1.TabIndex = 2;
|
this.button1.TabIndex = 2;
|
||||||
@ -79,164 +61,16 @@
|
|||||||
this.button1.UseVisualStyleBackColor = true;
|
this.button1.UseVisualStyleBackColor = true;
|
||||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||||
//
|
//
|
||||||
// groupBox1
|
|
||||||
//
|
|
||||||
this.groupBox1.Controls.Add(this.lblPlayerIncline);
|
|
||||||
this.groupBox1.Controls.Add(this.lblPlayerAzimuth);
|
|
||||||
this.groupBox1.Controls.Add(this.label6);
|
|
||||||
this.groupBox1.Controls.Add(this.label5);
|
|
||||||
this.groupBox1.Controls.Add(this.lblPlayerZ);
|
|
||||||
this.groupBox1.Controls.Add(this.lblPlayerY);
|
|
||||||
this.groupBox1.Controls.Add(this.lblPlayerX);
|
|
||||||
this.groupBox1.Controls.Add(this.label4);
|
|
||||||
this.groupBox1.Controls.Add(this.label3);
|
|
||||||
this.groupBox1.Controls.Add(this.label2);
|
|
||||||
this.groupBox1.Location = new System.Drawing.Point(13, 43);
|
|
||||||
this.groupBox1.Name = "groupBox1";
|
|
||||||
this.groupBox1.Size = new System.Drawing.Size(152, 184);
|
|
||||||
this.groupBox1.TabIndex = 3;
|
|
||||||
this.groupBox1.TabStop = false;
|
|
||||||
this.groupBox1.Text = "Your Stats";
|
|
||||||
//
|
|
||||||
// lblPlayerIncline
|
|
||||||
//
|
|
||||||
this.lblPlayerIncline.AutoSize = true;
|
|
||||||
this.lblPlayerIncline.Location = new System.Drawing.Point(68, 68);
|
|
||||||
this.lblPlayerIncline.Name = "lblPlayerIncline";
|
|
||||||
this.lblPlayerIncline.Size = new System.Drawing.Size(22, 15);
|
|
||||||
this.lblPlayerIncline.TabIndex = 1;
|
|
||||||
this.lblPlayerIncline.Text = "0.0";
|
|
||||||
//
|
|
||||||
// lblPlayerAzimuth
|
|
||||||
//
|
|
||||||
this.lblPlayerAzimuth.AutoSize = true;
|
|
||||||
this.lblPlayerAzimuth.Location = new System.Drawing.Point(68, 83);
|
|
||||||
this.lblPlayerAzimuth.Name = "lblPlayerAzimuth";
|
|
||||||
this.lblPlayerAzimuth.Size = new System.Drawing.Size(22, 15);
|
|
||||||
this.lblPlayerAzimuth.TabIndex = 1;
|
|
||||||
this.lblPlayerAzimuth.Text = "0.0";
|
|
||||||
//
|
|
||||||
// label6
|
|
||||||
//
|
|
||||||
this.label6.AutoSize = true;
|
|
||||||
this.label6.Location = new System.Drawing.Point(7, 83);
|
|
||||||
this.label6.Name = "label6";
|
|
||||||
this.label6.Size = new System.Drawing.Size(55, 15);
|
|
||||||
this.label6.TabIndex = 0;
|
|
||||||
this.label6.Text = "Azimuth:";
|
|
||||||
//
|
|
||||||
// label5
|
|
||||||
//
|
|
||||||
this.label5.AutoSize = true;
|
|
||||||
this.label5.Location = new System.Drawing.Point(7, 68);
|
|
||||||
this.label5.Name = "label5";
|
|
||||||
this.label5.Size = new System.Drawing.Size(45, 15);
|
|
||||||
this.label5.TabIndex = 0;
|
|
||||||
this.label5.Text = "Incline:";
|
|
||||||
//
|
|
||||||
// lblPlayerZ
|
|
||||||
//
|
|
||||||
this.lblPlayerZ.AutoSize = true;
|
|
||||||
this.lblPlayerZ.Location = new System.Drawing.Point(68, 53);
|
|
||||||
this.lblPlayerZ.Name = "lblPlayerZ";
|
|
||||||
this.lblPlayerZ.Size = new System.Drawing.Size(22, 15);
|
|
||||||
this.lblPlayerZ.TabIndex = 1;
|
|
||||||
this.lblPlayerZ.Text = "0.0";
|
|
||||||
//
|
|
||||||
// lblPlayerY
|
|
||||||
//
|
|
||||||
this.lblPlayerY.AutoSize = true;
|
|
||||||
this.lblPlayerY.Location = new System.Drawing.Point(68, 38);
|
|
||||||
this.lblPlayerY.Name = "lblPlayerY";
|
|
||||||
this.lblPlayerY.Size = new System.Drawing.Size(22, 15);
|
|
||||||
this.lblPlayerY.TabIndex = 1;
|
|
||||||
this.lblPlayerY.Text = "0.0";
|
|
||||||
//
|
|
||||||
// lblPlayerX
|
|
||||||
//
|
|
||||||
this.lblPlayerX.AutoSize = true;
|
|
||||||
this.lblPlayerX.Location = new System.Drawing.Point(68, 23);
|
|
||||||
this.lblPlayerX.Name = "lblPlayerX";
|
|
||||||
this.lblPlayerX.Size = new System.Drawing.Size(22, 15);
|
|
||||||
this.lblPlayerX.TabIndex = 1;
|
|
||||||
this.lblPlayerX.Text = "0.0";
|
|
||||||
//
|
|
||||||
// label4
|
|
||||||
//
|
|
||||||
this.label4.AutoSize = true;
|
|
||||||
this.label4.Location = new System.Drawing.Point(7, 53);
|
|
||||||
this.label4.Name = "label4";
|
|
||||||
this.label4.Size = new System.Drawing.Size(17, 15);
|
|
||||||
this.label4.TabIndex = 0;
|
|
||||||
this.label4.Text = "Z:";
|
|
||||||
//
|
|
||||||
// label3
|
|
||||||
//
|
|
||||||
this.label3.AutoSize = true;
|
|
||||||
this.label3.Location = new System.Drawing.Point(7, 38);
|
|
||||||
this.label3.Name = "label3";
|
|
||||||
this.label3.Size = new System.Drawing.Size(17, 15);
|
|
||||||
this.label3.TabIndex = 0;
|
|
||||||
this.label3.Text = "Y:";
|
|
||||||
//
|
|
||||||
// label2
|
|
||||||
//
|
|
||||||
this.label2.AutoSize = true;
|
|
||||||
this.label2.Location = new System.Drawing.Point(7, 23);
|
|
||||||
this.label2.Name = "label2";
|
|
||||||
this.label2.Size = new System.Drawing.Size(17, 15);
|
|
||||||
this.label2.TabIndex = 0;
|
|
||||||
this.label2.Text = "X:";
|
|
||||||
//
|
|
||||||
// PlayerStatsTimer
|
|
||||||
//
|
|
||||||
this.PlayerStatsTimer.Tick += new System.EventHandler(this.PlayerStatsTimer_Tick);
|
|
||||||
//
|
|
||||||
// label7
|
|
||||||
//
|
|
||||||
this.label7.AutoSize = true;
|
|
||||||
this.label7.Location = new System.Drawing.Point(13, 241);
|
|
||||||
this.label7.Name = "label7";
|
|
||||||
this.label7.Size = new System.Drawing.Size(108, 15);
|
|
||||||
this.label7.TabIndex = 0;
|
|
||||||
this.label7.Text = "Number of Players:";
|
|
||||||
//
|
|
||||||
// lblNumberOfPlayers
|
|
||||||
//
|
|
||||||
this.lblNumberOfPlayers.AutoSize = true;
|
|
||||||
this.lblNumberOfPlayers.Location = new System.Drawing.Point(127, 241);
|
|
||||||
this.lblNumberOfPlayers.Name = "lblNumberOfPlayers";
|
|
||||||
this.lblNumberOfPlayers.Size = new System.Drawing.Size(13, 15);
|
|
||||||
this.lblNumberOfPlayers.TabIndex = 0;
|
|
||||||
this.lblNumberOfPlayers.Text = "0";
|
|
||||||
//
|
|
||||||
// pbMap
|
|
||||||
//
|
|
||||||
this.pbMap.BackColor = System.Drawing.Color.White;
|
|
||||||
this.pbMap.Location = new System.Drawing.Point(306, 31);
|
|
||||||
this.pbMap.Name = "pbMap";
|
|
||||||
this.pbMap.Size = new System.Drawing.Size(431, 363);
|
|
||||||
this.pbMap.TabIndex = 4;
|
|
||||||
this.pbMap.TabStop = false;
|
|
||||||
//
|
|
||||||
// Form1
|
// Form1
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(800, 450);
|
this.ClientSize = new System.Drawing.Size(800, 450);
|
||||||
this.Controls.Add(this.pbMap);
|
|
||||||
this.Controls.Add(this.lblNumberOfPlayers);
|
|
||||||
this.Controls.Add(this.label7);
|
|
||||||
this.Controls.Add(this.groupBox1);
|
|
||||||
this.Controls.Add(this.button1);
|
this.Controls.Add(this.button1);
|
||||||
this.Controls.Add(this.lblGameStatus);
|
this.Controls.Add(this.lblGameStatus);
|
||||||
this.Controls.Add(this.label1);
|
this.Controls.Add(this.label1);
|
||||||
this.Name = "Form1";
|
this.Name = "Form1";
|
||||||
this.Text = "Form1";
|
this.Text = "Form1";
|
||||||
this.Load += new System.EventHandler(this.Form1_Load);
|
|
||||||
this.groupBox1.ResumeLayout(false);
|
|
||||||
this.groupBox1.PerformLayout();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.pbMap)).EndInit();
|
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
this.PerformLayout();
|
this.PerformLayout();
|
||||||
|
|
||||||
@ -247,21 +81,6 @@
|
|||||||
private System.Windows.Forms.Label label1;
|
private System.Windows.Forms.Label label1;
|
||||||
private System.Windows.Forms.Label lblGameStatus;
|
private System.Windows.Forms.Label lblGameStatus;
|
||||||
private System.Windows.Forms.Button button1;
|
private System.Windows.Forms.Button button1;
|
||||||
private System.Windows.Forms.GroupBox groupBox1;
|
|
||||||
private System.Windows.Forms.Label lblPlayerZ;
|
|
||||||
private System.Windows.Forms.Label lblPlayerY;
|
|
||||||
private System.Windows.Forms.Label lblPlayerX;
|
|
||||||
private System.Windows.Forms.Label label4;
|
|
||||||
private System.Windows.Forms.Label label3;
|
|
||||||
private System.Windows.Forms.Label label2;
|
|
||||||
private System.Windows.Forms.Timer PlayerStatsTimer;
|
|
||||||
private System.Windows.Forms.Label lblPlayerIncline;
|
|
||||||
private System.Windows.Forms.Label lblPlayerAzimuth;
|
|
||||||
private System.Windows.Forms.Label label6;
|
|
||||||
private System.Windows.Forms.Label label5;
|
|
||||||
private System.Windows.Forms.Label label7;
|
|
||||||
private System.Windows.Forms.Label lblNumberOfPlayers;
|
|
||||||
private System.Windows.Forms.PictureBox pbMap;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@ -13,130 +12,25 @@ namespace MW2_Ultimate_Hacks
|
|||||||
{
|
{
|
||||||
public partial class Form1 : Form
|
public partial class Form1 : Form
|
||||||
{
|
{
|
||||||
ProcessManager ProcessManager;
|
|
||||||
Bitmap Map;
|
|
||||||
public Form1()
|
public Form1()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Attempts to hook the game's process.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>True if sucessful, False otherwise.</returns>
|
||||||
|
public bool ConnectToGame()
|
||||||
|
{
|
||||||
|
ProcessManager pm = new ProcessManager("iw4x");
|
||||||
|
MessageBox.Show(pm.ReadFloat((IntPtr)0x007F4310).ToString());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private void button1_Click(object sender, EventArgs e)
|
private void button1_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Graphics g;
|
ConnectToGame();
|
||||||
g = Graphics.FromImage(Map);
|
|
||||||
|
|
||||||
Pen mypen = new Pen(Color.Black);
|
|
||||||
|
|
||||||
g.DrawLine(mypen, 0, 0, 200, 150);
|
|
||||||
|
|
||||||
pbMap.Image = Map;
|
|
||||||
|
|
||||||
g.Dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Form1_Load(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
// Setup the map
|
|
||||||
Map = new Bitmap(pbMap.Size.Width, pbMap.Size.Height);
|
|
||||||
pbMap.Image = Map;
|
|
||||||
|
|
||||||
// Connect to the game's process
|
|
||||||
ProcessManager = new ProcessManager("iw4x");
|
|
||||||
|
|
||||||
// Start updating the local player's stats
|
|
||||||
PlayerStatsTimer.Enabled = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Updates the local player's stats
|
|
||||||
/// </summary>
|
|
||||||
private void UpdatePlayerStats()
|
|
||||||
{
|
|
||||||
lblPlayerX.Text = ProcessManager.ReadFloatRelative((IntPtr)0x3F418C).ToString();
|
|
||||||
lblPlayerY.Text = ProcessManager.ReadFloatRelative((IntPtr)0x3F4188).ToString();
|
|
||||||
lblPlayerZ.Text = ProcessManager.ReadFloatRelative((IntPtr)0x3F4190).ToString();
|
|
||||||
lblPlayerIncline.Text = ProcessManager.ReadFloatRelative((IntPtr)0x3F41AC).ToString();
|
|
||||||
lblPlayerAzimuth.Text = ProcessManager.ReadFloatRelative((IntPtr)0x3F41B0).ToString();
|
|
||||||
|
|
||||||
// this could be moved else where
|
|
||||||
lblNumberOfPlayers.Text = ProcessManager.ReadIntRelative((IntPtr)0x3F741C).ToString();
|
|
||||||
|
|
||||||
// Draw the map
|
|
||||||
Graphics g;
|
|
||||||
Bitmap old = new Bitmap(Map);
|
|
||||||
g = Graphics.FromImage(Map);
|
|
||||||
Pen player = new Pen(Color.Black);
|
|
||||||
int x = (int)ProcessManager.ReadFloatRelative((IntPtr)0x3F418C);
|
|
||||||
x = x / 10;
|
|
||||||
int y = (int)ProcessManager.ReadFloatRelative((IntPtr)0x3F4188);
|
|
||||||
y += 2000;
|
|
||||||
y = y / 10;
|
|
||||||
//g.DrawEllipse(player, new Rectangle(x, y, 5, 5));
|
|
||||||
//g.FillEllipse(Brushes.Black, new Rectangle(x, y, 5, 5));
|
|
||||||
|
|
||||||
// calculate polygone points
|
|
||||||
int h = 20;
|
|
||||||
int triangleAngle = 30;
|
|
||||||
double azimuth = (int)ProcessManager.ReadFloatRelative((IntPtr)0x3F41B0) +180;
|
|
||||||
double angle = azimuth - (triangleAngle / 2);
|
|
||||||
angle = (angle / 360) * (2 * Math.PI);
|
|
||||||
|
|
||||||
int dx = (int)(Math.Cos(angle) * h);
|
|
||||||
int dy = (int)(Math.Sin(angle) * h);
|
|
||||||
|
|
||||||
int x1, x2, y1, y2;
|
|
||||||
|
|
||||||
if(angle < 90)
|
|
||||||
{
|
|
||||||
x1 = x + dx;
|
|
||||||
y1 = y - dy;
|
|
||||||
x2 = x - dy;
|
|
||||||
y2 = y - dx;
|
|
||||||
Debug.WriteLine("Case 1: (" + x + "," + y + ")(" + x1 +"," + y1 + ")(" + x2 + "," + y2 + ")");
|
|
||||||
}
|
|
||||||
else if(angle < 180)
|
|
||||||
{
|
|
||||||
x1 = x + dx;
|
|
||||||
y1 = y + dy;
|
|
||||||
x2 = x + dy;
|
|
||||||
y2 = y + dx;
|
|
||||||
Debug.WriteLine("Case 2: (" + x + "," + y + ")(" + x1 + "," + y1 + ")(" + x2 + "," + y2 + ")");
|
|
||||||
}
|
|
||||||
else if(angle < 270)
|
|
||||||
{
|
|
||||||
x1 = x - dx;
|
|
||||||
y1 = y + dy;
|
|
||||||
x2 = x - dy;
|
|
||||||
y2 = y + dx;
|
|
||||||
Debug.WriteLine("Case 3: (" + x + "," + y + ")(" + x1 + "," + y1 + ")(" + x2 + "," + y2 + ")");
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
x1 = x - dx;
|
|
||||||
y1 = y - dy;
|
|
||||||
x2 = x - dy;
|
|
||||||
y2 = y - dx;
|
|
||||||
Debug.WriteLine("Case 4: (" + x + "," + y + ")(" + x1 + "," + y1 + ")(" + x2 + "," + y2 + ")");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Point[] triangle =
|
|
||||||
{
|
|
||||||
new Point(x,y),
|
|
||||||
new Point(x1, y1),
|
|
||||||
new Point(x2,y2)
|
|
||||||
};
|
|
||||||
g.DrawPolygon(player, triangle);
|
|
||||||
|
|
||||||
pbMap.Image = Map;
|
|
||||||
Map = old;
|
|
||||||
g.Dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void PlayerStatsTimer_Tick(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
UpdatePlayerStats();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -69,7 +69,6 @@ namespace MW2_Ultimate_Hacks
|
|||||||
|
|
||||||
|
|
||||||
private IntPtr processHandle;
|
private IntPtr processHandle;
|
||||||
private IntPtr baseAddress;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
@ -79,7 +78,6 @@ namespace MW2_Ultimate_Hacks
|
|||||||
{
|
{
|
||||||
Process process = Process.GetProcessesByName(processName)[0];
|
Process process = Process.GetProcessesByName(processName)[0];
|
||||||
processHandle = OpenProcess(ProcessAccessFlags.All, false, process.Id);
|
processHandle = OpenProcess(ProcessAccessFlags.All, false, process.Id);
|
||||||
baseAddress = process.MainModule.BaseAddress;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public float ReadFloat(IntPtr address)
|
public float ReadFloat(IntPtr address)
|
||||||
@ -101,35 +99,5 @@ namespace MW2_Ultimate_Hacks
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public float ReadFloatRelative(IntPtr offset)
|
|
||||||
{
|
|
||||||
IntPtr address = new IntPtr(offset.ToInt32() + baseAddress.ToInt32());
|
|
||||||
return ReadFloat(address);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int ReadInt(IntPtr address)
|
|
||||||
{
|
|
||||||
// if the process handle is not open it will be null
|
|
||||||
if (processHandle != null)
|
|
||||||
{
|
|
||||||
IntPtr bytesRead = (IntPtr)0;
|
|
||||||
byte[] buffer = new byte[4];
|
|
||||||
|
|
||||||
ReadProcessMemory(processHandle, address, buffer, buffer.Length, out bytesRead);
|
|
||||||
|
|
||||||
return System.BitConverter.ToInt32(buffer, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Probally do some error stuff here
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public int ReadIntRelative(IntPtr offset)
|
|
||||||
{
|
|
||||||
IntPtr address = new IntPtr(offset.ToInt32() + baseAddress.ToInt32());
|
|
||||||
return ReadInt(address);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"runtimeTarget": {
|
||||||
|
"name": ".NETCoreApp,Version=v3.1",
|
||||||
|
"signature": ""
|
||||||
|
},
|
||||||
|
"compilationOptions": {},
|
||||||
|
"targets": {
|
||||||
|
".NETCoreApp,Version=v3.1": {
|
||||||
|
"MW2 Ultimate Hacks/1.0.0": {
|
||||||
|
"runtime": {
|
||||||
|
"MW2 Ultimate Hacks.dll": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libraries": {
|
||||||
|
"MW2 Ultimate Hacks/1.0.0": {
|
||||||
|
"type": "project",
|
||||||
|
"serviceable": false,
|
||||||
|
"sha512": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"runtimeOptions": {
|
||||||
|
"additionalProbingPaths": [
|
||||||
|
"C:\\Users\\Conor\\.dotnet\\store\\|arch|\\|tfm|",
|
||||||
|
"C:\\Users\\Conor\\.nuget\\packages"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"runtimeOptions": {
|
||||||
|
"tfm": "netcoreapp3.1",
|
||||||
|
"framework": {
|
||||||
|
"name": "Microsoft.WindowsDesktop.App",
|
||||||
|
"version": "3.1.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
// <autogenerated />
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = "")]
|
@ -0,0 +1,23 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
|
[assembly: System.Reflection.AssemblyCompanyAttribute("MW2 Ultimate Hacks")]
|
||||||
|
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||||
|
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||||
|
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||||
|
[assembly: System.Reflection.AssemblyProductAttribute("MW2 Ultimate Hacks")]
|
||||||
|
[assembly: System.Reflection.AssemblyTitleAttribute("MW2 Ultimate Hacks")]
|
||||||
|
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||||
|
|
||||||
|
// Generated by the MSBuild WriteCodeFragment class.
|
||||||
|
|
@ -0,0 +1 @@
|
|||||||
|
36ceec2efcef5e0900efdaec780cf0f9c55700d4
|
Binary file not shown.
@ -0,0 +1 @@
|
|||||||
|
021f9a859fc83e6bdc6d247c216a1e28d8d6a3fc
|
@ -0,0 +1,15 @@
|
|||||||
|
C:\Users\Conor\source\repos\MW2 Ultimate Hacks\MW2 Ultimate Hacks\obj\Debug\netcoreapp3.1\MW2 Ultimate Hacks.csprojAssemblyReference.cache
|
||||||
|
C:\Users\Conor\source\repos\MW2 Ultimate Hacks\MW2 Ultimate Hacks\obj\Debug\netcoreapp3.1\MW2_Ultimate_Hacks.Form1.resources
|
||||||
|
C:\Users\Conor\source\repos\MW2 Ultimate Hacks\MW2 Ultimate Hacks\obj\Debug\netcoreapp3.1\MW2 Ultimate Hacks.csproj.GenerateResource.cache
|
||||||
|
C:\Users\Conor\source\repos\MW2 Ultimate Hacks\MW2 Ultimate Hacks\obj\Debug\netcoreapp3.1\MW2 Ultimate Hacks.AssemblyInfoInputs.cache
|
||||||
|
C:\Users\Conor\source\repos\MW2 Ultimate Hacks\MW2 Ultimate Hacks\obj\Debug\netcoreapp3.1\MW2 Ultimate Hacks.AssemblyInfo.cs
|
||||||
|
C:\Users\Conor\source\repos\MW2 Ultimate Hacks\MW2 Ultimate Hacks\obj\Debug\netcoreapp3.1\MW2 Ultimate Hacks.csproj.CoreCompileInputs.cache
|
||||||
|
C:\Users\Conor\source\repos\MW2 Ultimate Hacks\MW2 Ultimate Hacks\bin\Debug\netcoreapp3.1\MW2 Ultimate Hacks.exe
|
||||||
|
C:\Users\Conor\source\repos\MW2 Ultimate Hacks\MW2 Ultimate Hacks\bin\Debug\netcoreapp3.1\MW2 Ultimate Hacks.deps.json
|
||||||
|
C:\Users\Conor\source\repos\MW2 Ultimate Hacks\MW2 Ultimate Hacks\bin\Debug\netcoreapp3.1\MW2 Ultimate Hacks.runtimeconfig.json
|
||||||
|
C:\Users\Conor\source\repos\MW2 Ultimate Hacks\MW2 Ultimate Hacks\bin\Debug\netcoreapp3.1\MW2 Ultimate Hacks.runtimeconfig.dev.json
|
||||||
|
C:\Users\Conor\source\repos\MW2 Ultimate Hacks\MW2 Ultimate Hacks\bin\Debug\netcoreapp3.1\MW2 Ultimate Hacks.dll
|
||||||
|
C:\Users\Conor\source\repos\MW2 Ultimate Hacks\MW2 Ultimate Hacks\bin\Debug\netcoreapp3.1\MW2 Ultimate Hacks.pdb
|
||||||
|
C:\Users\Conor\source\repos\MW2 Ultimate Hacks\MW2 Ultimate Hacks\obj\Debug\netcoreapp3.1\MW2 Ultimate Hacks.dll
|
||||||
|
C:\Users\Conor\source\repos\MW2 Ultimate Hacks\MW2 Ultimate Hacks\obj\Debug\netcoreapp3.1\MW2 Ultimate Hacks.pdb
|
||||||
|
C:\Users\Conor\source\repos\MW2 Ultimate Hacks\MW2 Ultimate Hacks\obj\Debug\netcoreapp3.1\MW2 Ultimate Hacks.genruntimeconfig.cache
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"runtimeTarget": {
|
||||||
|
"name": ".NETCoreApp,Version=v3.1",
|
||||||
|
"signature": ""
|
||||||
|
},
|
||||||
|
"compilationOptions": {},
|
||||||
|
"targets": {
|
||||||
|
".NETCoreApp,Version=v3.1": {}
|
||||||
|
},
|
||||||
|
"libraries": {}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"runtimeOptions": {
|
||||||
|
"tfm": "netcoreapp3.1",
|
||||||
|
"framework": {
|
||||||
|
"name": "Microsoft.WindowsDesktop.App",
|
||||||
|
"version": "3.1.0"
|
||||||
|
},
|
||||||
|
"additionalProbingPaths": [
|
||||||
|
"C:\\Users\\Conor\\.dotnet\\store\\|arch|\\|tfm|",
|
||||||
|
"C:\\Users\\Conor\\.nuget\\packages"
|
||||||
|
],
|
||||||
|
"configProperties": {
|
||||||
|
"Microsoft.NETCore.DotNetHostPolicy.SetAppPaths": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
|||||||
|
86c8e15dd33445635927cfaf398408205fd11473
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,63 @@
|
|||||||
|
{
|
||||||
|
"format": 1,
|
||||||
|
"restore": {
|
||||||
|
"C:\\Users\\Conor\\source\\repos\\MW2 Ultimate Hacks\\MW2 Ultimate Hacks\\MW2 Ultimate Hacks.csproj": {}
|
||||||
|
},
|
||||||
|
"projects": {
|
||||||
|
"C:\\Users\\Conor\\source\\repos\\MW2 Ultimate Hacks\\MW2 Ultimate Hacks\\MW2 Ultimate Hacks.csproj": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"restore": {
|
||||||
|
"projectUniqueName": "C:\\Users\\Conor\\source\\repos\\MW2 Ultimate Hacks\\MW2 Ultimate Hacks\\MW2 Ultimate Hacks.csproj",
|
||||||
|
"projectName": "MW2 Ultimate Hacks",
|
||||||
|
"projectPath": "C:\\Users\\Conor\\source\\repos\\MW2 Ultimate Hacks\\MW2 Ultimate Hacks\\MW2 Ultimate Hacks.csproj",
|
||||||
|
"packagesPath": "C:\\Users\\Conor\\.nuget\\packages\\",
|
||||||
|
"outputPath": "C:\\Users\\Conor\\source\\repos\\MW2 Ultimate Hacks\\MW2 Ultimate Hacks\\obj\\",
|
||||||
|
"projectStyle": "PackageReference",
|
||||||
|
"configFilePaths": [
|
||||||
|
"C:\\Users\\Conor\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||||
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||||
|
],
|
||||||
|
"originalTargetFrameworks": [
|
||||||
|
"netcoreapp3.1"
|
||||||
|
],
|
||||||
|
"sources": {
|
||||||
|
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||||
|
"https://api.nuget.org/v3/index.json": {}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"netcoreapp3.1": {
|
||||||
|
"projectReferences": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"warningProperties": {
|
||||||
|
"warnAsError": [
|
||||||
|
"NU1605"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"netcoreapp3.1": {
|
||||||
|
"imports": [
|
||||||
|
"net461",
|
||||||
|
"net462",
|
||||||
|
"net47",
|
||||||
|
"net471",
|
||||||
|
"net472",
|
||||||
|
"net48"
|
||||||
|
],
|
||||||
|
"assetTargetFallback": true,
|
||||||
|
"warn": true,
|
||||||
|
"frameworkReferences": {
|
||||||
|
"Microsoft.NETCore.App": {
|
||||||
|
"privateAssets": "all"
|
||||||
|
},
|
||||||
|
"Microsoft.WindowsDesktop.App.WindowsForms": {
|
||||||
|
"privateAssets": "none"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\3.1.301\\RuntimeIdentifierGraph.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
|
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||||
|
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||||
|
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||||
|
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||||
|
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Conor\.nuget\packages\</NuGetPackageFolders>
|
||||||
|
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||||
|
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.6.0</NuGetToolVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
68
MW2 Ultimate Hacks/obj/project.assets.json
Normal file
68
MW2 Ultimate Hacks/obj/project.assets.json
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"targets": {
|
||||||
|
".NETCoreApp,Version=v3.1": {}
|
||||||
|
},
|
||||||
|
"libraries": {},
|
||||||
|
"projectFileDependencyGroups": {
|
||||||
|
".NETCoreApp,Version=v3.1": []
|
||||||
|
},
|
||||||
|
"packageFolders": {
|
||||||
|
"C:\\Users\\Conor\\.nuget\\packages\\": {}
|
||||||
|
},
|
||||||
|
"project": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"restore": {
|
||||||
|
"projectUniqueName": "C:\\Users\\Conor\\source\\repos\\MW2 Ultimate Hacks\\MW2 Ultimate Hacks\\MW2 Ultimate Hacks.csproj",
|
||||||
|
"projectName": "MW2 Ultimate Hacks",
|
||||||
|
"projectPath": "C:\\Users\\Conor\\source\\repos\\MW2 Ultimate Hacks\\MW2 Ultimate Hacks\\MW2 Ultimate Hacks.csproj",
|
||||||
|
"packagesPath": "C:\\Users\\Conor\\.nuget\\packages\\",
|
||||||
|
"outputPath": "C:\\Users\\Conor\\source\\repos\\MW2 Ultimate Hacks\\MW2 Ultimate Hacks\\obj\\",
|
||||||
|
"projectStyle": "PackageReference",
|
||||||
|
"configFilePaths": [
|
||||||
|
"C:\\Users\\Conor\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||||
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||||
|
],
|
||||||
|
"originalTargetFrameworks": [
|
||||||
|
"netcoreapp3.1"
|
||||||
|
],
|
||||||
|
"sources": {
|
||||||
|
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||||
|
"https://api.nuget.org/v3/index.json": {}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"netcoreapp3.1": {
|
||||||
|
"projectReferences": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"warningProperties": {
|
||||||
|
"warnAsError": [
|
||||||
|
"NU1605"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"netcoreapp3.1": {
|
||||||
|
"imports": [
|
||||||
|
"net461",
|
||||||
|
"net462",
|
||||||
|
"net47",
|
||||||
|
"net471",
|
||||||
|
"net472",
|
||||||
|
"net48"
|
||||||
|
],
|
||||||
|
"assetTargetFallback": true,
|
||||||
|
"warn": true,
|
||||||
|
"frameworkReferences": {
|
||||||
|
"Microsoft.NETCore.App": {
|
||||||
|
"privateAssets": "all"
|
||||||
|
},
|
||||||
|
"Microsoft.WindowsDesktop.App.WindowsForms": {
|
||||||
|
"privateAssets": "none"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\3.1.301\\RuntimeIdentifierGraph.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
8
MW2 Ultimate Hacks/obj/project.nuget.cache
Normal file
8
MW2 Ultimate Hacks/obj/project.nuget.cache
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"dgSpecHash": "96HAVoJvvP7QJlQU6LrThDaqG8NtykB4SHBgCrwEcq5BP1a7EvABcWC+MRPR3Et6BkV1Orm5Lkso/sQDIslPrw==",
|
||||||
|
"success": true,
|
||||||
|
"projectFilePath": "C:\\Users\\Conor\\source\\repos\\MW2 Ultimate Hacks\\MW2 Ultimate Hacks\\MW2 Ultimate Hacks.csproj",
|
||||||
|
"expectedPackageFiles": [],
|
||||||
|
"logs": []
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user