private static void ApplyX64(MemoryAddressAndOffset data, float value, IntPtr hProcess) { var addr = GetAddress(8, hProcess, data.Address, data.Offset); Write(value, hProcess, addr); }
private static void ReadX64(MemoryAddressAndOffset data, IntPtr hProcess, out float read) { var addr = GetAddress(8, hProcess, data.Address, data.Offset); Read(out read, hProcess, addr); }
public MetadataResult grabApplicationMetadata() { try { XDocument xmlf = XDocument.Load(MetadataURL); var root = xmlf.Element("Root"); foreach (var element in root.Elements()) { switch (element.Name.LocalName) { case "AppVersion": this.NewerVersion = new Version(element.Value); break; case "DownloadLink": this.DownloadURL = element.Value; break; case "AppMetadata": foreach (var region in Enum.GetValues(typeof(GameRegion))) { string rs = region.ToString(); var cElem = element.Element(rs); var oElem = cElem.Element("Offsets"); int address = int.Parse(cElem.Element("Address").Value, NumberStyles.HexNumber, CultureInfo.InvariantCulture); CameraZoomData[rs] = new MemoryAddressAndOffset( address, int.Parse(oElem.Element("CameraZoom").Value, NumberStyles.HexNumber, CultureInfo.InvariantCulture) ); CameraFOVData[rs] = new MemoryAddressAndOffset( address, int.Parse(oElem.Element("CameraFOV").Value, NumberStyles.HexNumber, CultureInfo.InvariantCulture) ); CameraAngleXData[rs] = new MemoryAddressAndOffset( address, int.Parse(oElem.Element("CameraAngleX").Value, NumberStyles.HexNumber, CultureInfo.InvariantCulture) ); CameraAngleYData[rs] = new MemoryAddressAndOffset( address, int.Parse(oElem.Element("CameraAngleY").Value, NumberStyles.HexNumber, CultureInfo.InvariantCulture) ); PlayerNameData[rs] = int.Parse(oElem.Element("PlayerName").Value, NumberStyles.Integer, CultureInfo.InvariantCulture).ToString(); CameraHeightData[rs] = int.Parse(oElem.Element("CameraHeight").Value, NumberStyles.Integer, CultureInfo.InvariantCulture).ToString(); } break; } } // -1 means earlier than if (this.LocalVersion.CompareTo(this.NewerVersion) == -1) { return(MetadataResult.UpdateAvailable); } // 1 means later than else if (this.LocalVersion.CompareTo(this.NewerVersion) == 1) { return(MetadataResult.RunningBeta); } return(MetadataResult.Success); } catch (Exception e) { MessageBox.Show( "Unable to read offsets from server. Reason: " + e.Message + "\n\n" + e.StackTrace, "Error", MessageBoxButton.OK, MessageBoxImage.Error ); } return(MetadataResult.Failure); }