BitFlash777 Опубликовано 14 августа, 2014 Поделиться Опубликовано 14 августа, 2014 Добрый день, учусь делать трейнер вот по этому уроку от а вот сам кодusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Diagnostics;using System.Runtime.InteropServices;namespace WindowsFormsApplication3{ public partial class Form1 : Form { [DllImport("kernel32.dll")] public static extern IntPtr OpenProcess(int dwDesiredAsses, bool bInheritHandle, int dwProcessId); [DllImport("kernel32.dll", SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] static extern bool CloseHandle(IntPtr hObject); [DllImport("kernel32.dll", SetLastError = true)] static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, int nSize, out IntPtr lpNumberOfBytesWritten); public int pID; public Form1() { InitializeComponent(); GetProcess("TD.wrp"); WriteByte(); } public void GetProcess(string name) { var pList = Process.GetProcesses(); if (pList.Count() != 0) { foreach (var process in pList) { if (process.ProcessName == name) { pID = process.Id; MessageBox.Show("332211"); return; } } } return; } public void WriteByte() { var ammoadress = 07679644; byte[] ammobytes = { 0xCA, 0x0D, 0x51, 0x3F }; var size = 4; var dummy = new UintpTR(); var handle = OpenProcess(0x001F0FFF, false, pID); WriteProcessMemory((IntPtr)handle, (IntPtr)ammoadress, ammobytes, size, out dummy); CloseHandle(handle); } }}ну вот где и ошибка Ссылка на комментарий Поделиться на другие сайты Поделиться
Coder Опубликовано 14 августа, 2014 Поделиться Опубликовано 14 августа, 2014 Тебе блин даже по русски пишет студия - невозможно привести 5й аргумент к типу System.IntPtr.Приводи вручную. Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 14 августа, 2014 Поделиться Опубликовано 14 августа, 2014 Долго будешь учится...Сложный материал отхватил... Ссылка на комментарий Поделиться на другие сайты Поделиться
A1t0r Опубликовано 14 августа, 2014 Поделиться Опубликовано 14 августа, 2014 Долго будешь учится...Сложный материал отхватил...Да, на C++ переходить рановато Ссылка на комментарий Поделиться на другие сайты Поделиться
BitFlash777 Опубликовано 14 августа, 2014 Автор Поделиться Опубликовано 14 августа, 2014 Тебе блин даже по русски пишет студия - невозможно привести 5й аргумент к типу System.IntPtr.Приводи вручную.чет я совсем запутался =( где и как и че привести? Ссылка на комментарий Поделиться на другие сайты Поделиться
A1t0r Опубликовано 14 августа, 2014 Поделиться Опубликовано 14 августа, 2014 чет я совсем запутался =(где и как и че привести?Хотя бы такvar dummy = new IntPtr();илиvar dummy = new UIntPtr();С# - регистрозависимый, intpTR и IntPtr - разные вещи Ссылка на комментарий Поделиться на другие сайты Поделиться
BitFlash777 Опубликовано 14 августа, 2014 Автор Поделиться Опубликовано 14 августа, 2014 Все спасибо большое! решил, был не внимательный Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 14 августа, 2014 Поделиться Опубликовано 14 августа, 2014 /*---------------------------------------------------------------------------*/Надо внимательнее писать код. Буковка "u" означает "unsigned", с английского - беззнаковый. IntPtr - Integer Pointer - знаковый указатель, UIntPtr - Unsigned Integer Pointer - беззнаковый указатель. WriteProcessMemory от тебя требует IntPtr, а ты перепутал буковку. Если не уверен, то всякий раз сверяйся с [pinvoke.net]. В частности, там я и брал все описания функций для своих видеоуроков.PS: 1001-е сообщение на форуме, уии!/*---------------------------------------------------------------------------*/ 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 14 августа, 2014 Поделиться Опубликовано 14 августа, 2014 PS: 1001-е сообщение на форуме, уии!ОФФТОП: Плюсик тебе в репутацию за количество полезных постов )) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения