Спасибо за уроки которые я уже видел! Но меня все таки мучает один опрос, ответа на который я ни где не нашел. Как подключиться к базовому адресу, на который указывает указатель? Есть вот такой Offset, игры Half-Life: Вопрос как подключиться к указателю hw.dll+7bbd9c или модулю hw.dll, например в моем трейнере: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Diagnostics; using System.Runtime.InteropServices; using System.Globalization; using System.Threading; namespace Half_Life_Opposing_Force { public partial class Form1 : Form { #region Global variables Memory myMemory = new Memory(); Process[] myProcess; bool IsGameAvailable = false; bool UnlimitedAmmo = false; string AmmoPointer = "10343A08"; int[] AmmoOffset = { 0x578, 0xAC }; int ammoToFill = 50; #endregion public Form1() { InitializeComponent(); } private void UnlimAmmoBTN_Click(object sender, EventArgs e) { if (IsGameAvailable) { if (UnlimitedAmmo) { UnlimitedAmmo = false; UnlimAmmoBTN.Text = "OFF"; } else { UnlimitedAmmo = true; UnlimAmmoBTN.Text = "ON"; } } } private void GameAvailabilityTMR_Tick(object sender, EventArgs e) { myProcess = Process.GetProcessesByName("hl"); if (myProcess.Length != 0) { IsGameAvailable = true; statusLBL.Text = "Вы в игре"; } else { IsGameAvailable = false; statusLBL.Text = "Игра не запущенна"; } } private void UpdateCheatsTMR_Tick(object sender, EventArgs e) { if (IsGameAvailable) { #region Unlimited ammo if (UnlimitedAmmo) { myMemory.ReadProcess = myProcess[0]; myMemory.Open(); int pointerAddress = HexToDec(AmmoPointer); int[] pointerOffset = AmmoOffset; int bytesWriten; byte[] valueToWrite = BitConverter.GetBytes(ammoToFill); string writtenddress = myMemory.PointerWrite((IntPtr)pointerAddress, valueToWrite, pointerOffset, out bytesWriten); myMemory.CloseHandle(); } #endregion } } public static string HexToDec(int DEC) { return DEC.ToString("X"); } public static int HexToDec(string Hex) { return int.Parse(Hex, NumberStyles.HexNumber); } } }