protected void ReadObjectData(IProcessAccessor a) { var m = a.ReadMemory(new IntPtr(DataPtr), Math.Min(64, DataSize1)); if (m.Success) { ObjectData = Enumerable.Range(0, m.Data.Length / 4) .Select(i => BitConverter.ToUInt32(m.Data, i * 4)).ToArray(); } }
public static string ReadString(IProcessAccessor a, uint addr) { var m = a.ReadMemory(new IntPtr(addr), 20); if (!m.Success) { return(null); } var len = BitConverter.ToInt32(m.Data, 16); if (len >= 16) { m = a.ReadMemory(new IntPtr(BitConverter.ToUInt32(m.Data, 0)), len); } if (!m.Success) { return(null); } return(Encoding.GetString(m.Data, 0, len)); }
public static string ReadStringZ(IProcessAccessor a, uint addr, int max) { var m = a.ReadMemory(new IntPtr(addr), max); if (!m.Success) { return(null); } var idx = Array.IndexOf(m.Data, (byte)0); var len = idx < 0 ? m.Data.Length : idx; return(Encoding.GetString(m.Data, 0, len)); }