Сейчас на форуме: Rio, tyns777, zombi-vadim (+7 невидимых)

 eXeL@B —› Программирование —› C# надоедливая ошибка
Посл.ответ Сообщение

Ранг: 3.3 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 05 июля 2014 04:55
· Личное сообщение · #1

вот код
Code:
  1. public VAMemory(string pProcessName)
  2.     {
  3.       this.processName = pProcessName;
  4.     }
  5.  
  6.     [DllImport("kernel32.dll", SetLastError = true)]
  7.     private static bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, uint dwSize, uint lpNumberOfBytesRead);
  8.  
  9.     [DllImport("kernel32.dll")]
  10.     private static bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, uint nSize, uint lpNumberOfBytesWritten);
  11.  
  12.     [DllImport("kernel32.dll")]
  13.     private static IntPtr OpenProcess(uint dwDesiredAccess, bool bInheritHandle, int dwProcessId);
  14.  
  15.     [DllImport("kernel32.dll")]
  16.     private static bool CloseHandle(IntPtr hObject);
  17.  
  18.     [DllImport("kernel32.dll")]
  19.     private static bool VirtualProtectEx(IntPtr hProcess, IntPtr lpAddress, UIntPtr dwSize, uint flNewProtect, out uint lpflOldProtect);
  20.  
  21.     [DllImport("kernel32.dll", SetLastError = true)]
  22.     private static IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect);


а вот ошибка
Code:
  1. Ошибка   1 "Ishod.VAMemory.ReadProcessMemory(System.IntPtr, System.IntPtr, byte[], uint, uint)" должен объявлять тело, т.к. он не помечен модификатором abstract, extern, или partial




Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 05 июля 2014 10:43
· Личное сообщение · #2

Code:
  1. ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, uint dwSize, uint lpNumberOfBytesRead);

В С# я конечно не знаток, но одно могу сказать точно - последний аргумент должен быть указателем (ref):
Code:
  1. BOOL WINAPI ReadProcessMemory(
  2.   _In_   HANDLE hProcess,
  3.   _In_   LPCVOID lpBaseAddress,
  4.   _Out_  LPVOID lpBuffer,
  5.   _In_   SIZE_T nSize,
  6.   _Out_  SIZE_T *lpNumberOfBytesRead // <-- ага, вот этот аргумент
  7. );

вот рабочий пример, найденный через google duckduckgo: --> Link <--



Ранг: 3.3 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 05 июля 2014 23:22
· Личное сообщение · #3

хз я криворукий , если не трудно напишите код который должен быть

| Сообщение посчитали полезным: unknownproject

Ранг: 92.1 (постоянный), 83thx
Активность: 0.110
Статус: Участник

Создано: 06 июля 2014 00:06
· Личное сообщение · #4

Code:
  1. [DllImport("kernel32.dll")]
  2. public static extern bool ReadProcessMemory(int hProcess, 
  3.   int lpBaseAddress, byte[] lpBuffer, int dwSize, ref int lpNumberOfBytesRead);


| Сообщение посчитали полезным: DieTy
 eXeL@B —› Программирование —› C# надоедливая ошибка
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати