Readprocessmemory И Struct Возвращает Нулевое Значение

  • Автор темы Xrayboy
  • Дата начала
Статус
Закрыто для дальнейших ответов.
X

Xrayboy

Гость
#1
linkBaffs[0] - это количество элементов, где по struct TypeBaffs 18 байт в каждом.
linkBaffs[2] - это адрес, где читаем, проверено через MessegeBox указано правильное значение, проверено через ArtMoney
BufBaffs - это буфер, куда должно складываться массивом в формате struct TypeBaffs.
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Класс public partial class Form1 : Form (часть)</div></div><div class="sp-body"><div class="sp-content">
C++:
WinAPI.TypeBaffs[] BufBaffs = new WinAPI.TypeBaffs[linkBaffs[0]];
//MessageBox.Show(BufBaffs.Length.ToString());
WinAPI.ReadProcessMemory( // Читаем данные объекта
proc.Handle,
linkBaffs[2],
BufBaffs,
linkBaffs[0] * 0x12,
out m_bytesRead
);
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Класс WinAPI (часть)</div></div><div class="sp-body"><div class="sp-content">
C++:
[DllImport("Kernel32.dll", SetLastError = true)]
public static extern bool ReadProcessMemory(
IntPtr hProcess,
uint lpBaseAddress,
TypeBaffs[] lpBuffer,
uint nSize,
out uint lpNumberOfBytesRead
);
public struct TypeBaffs
{
public uint idSkillType;
public uint idSkill;
public uint id;
public uint idLevelType;
public ushort idLevel;
}
m_bytesRead - возвращает правильное чтение количества байт.

Итоговый результат ожидается в BufBaffs, но переменная хоть и массивом, но значения там все нулевые (например BufBaffs[0].idSkillType). Непонятно в чем подвох ?

В то же время читая без struct
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Пример</div></div><div class="sp-body"><div class="sp-content">
C++:
uint[] temp1 = new uint[2];
WinAPI.ReadProcessMemory( // Читаем указатели на персональные данные
proc.Handle,
temp[3] + 0x220,
temp1, 0x8,
out m_bytesRead
);
Итоговый результат достигает, но это когда значения одинаковые по типу.

Как достичь возврата НЕнулевого значения с struct?
 
Статус
Закрыто для дальнейших ответов.