Чтение содержимого процессаC++

Программы на C++. Форум разработчиков
Ответить
Гость
 Чтение содержимого процесса

Сообщение Гость »


Я пытаюсь прочитать содержимое текущего процесса, чтобы найти шаблон, я получаю указатель на базовый адрес, вызывая GetModuleHandleA(), а затем хочу пройти через него и продолжить сопоставление байтов но я не знаю, какой максимальный размер я могу пройти?

Я пытался прочитать размер файла и использовать его в качестве максимального счетчика цикла.

Ниже приведен код, который я написал на данный момент

const char buf[] = { 0x40, 0x35, 0x02, 0x00, 0x78, 0x00 }; символ ProcessFilePath[MAX_PATH]; GetModuleFileNameA (NULL, ProcessFilePath, MAX_PATH); HANDLE hFile = CreateFileA(ProcessFilePath, ОБЩИЙ_ЧИТАТЬ, FILE_SHARE_READ | ФАЙЛ_SHARE_WRITE, НУЛЕВОЙ, ОТКРЫТЫЙ_EXISTING, ФАЙЛ_АТРИБУТЕ_НОРМАЛ, НУЛЕВОЙ); если (hFile == INVALID_HANDLE_VALUE) вернуть -1; Размер LARGE_INTEGER; GetFileSizeEx(hFile, &size); const беззнаковый символ* lpImage = (беззнаковый символ*)GetModuleHandleA(NULL); ИНТ Maincounter = 0; int Patternsize = SizeOf (buf); for (int maincounter = 0; maincounter < size.LowPart; maincounter++) { printf("%02x", lpImage[maincounter]); } Как мне прочитать всю память процесса? Как правильно определить размер памяти процесса? Для пояснения я пытаюсь прочитать память процесса и сопоставить последовательность байтов сигнатуры функции. Цель — найти, где в памяти находится функция.

Спасибо
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»