unsafe byte[] ReadBytes(byte* ptr, int offset, int num) { byte[] arr = new byte[num]; Marshal.Copy(IntPtr.Add(new IntPtr(ptr), offset), arr, 0, num); return arr; }