Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.77/121: Рейтинг темы: голосов - 121, средняя оценка - 4.77
24 / 24 / 0
Регистрация: 08.09.2010
Сообщений: 136
1

Доступ к памяти другого процесса

28.09.2011, 15:28. Показов 24342. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Требуется получить доступ к памяти других процессов. Для этого, как я полагаю, нужно писать определенный драйвер для доступа к виртуальной памяти, но, честно говоря, не понятно, как его реализовывать. Гугл мне ясного ответа не дал (какие-то общие слова, никакой конкретики, быть может, не так искал). Нет ли у кого ссылок на сайты или статьи соответствующей тематики или названий печатных изданий, где можно вычитать что-нибудь полезное по данному вопросу? Заранее спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2011, 15:28
Ответы с готовыми решениями:

Доступ к области памяти из другого класса
Есть класс в котором создаётся область в памяти, как получить из другого класса доступ к этой...

Загрузить процесс из другого процесса
Штурм google ничего не дал. Но я помню что что то было такое в книге Рихтера. Пока ищу книгу и...

Как прочитать данные из потока вывода другого процесса
Как получить то, что выводит командная строка (прочитать выводной поток другого процесса)

Как передать строку в адресное пространство другого процесса?
Мне необходимо передать строку другому процессу, из ДЛЛ (Hook)... т.к. длл линкуется к каждому...

20
Ушел с форума
Эксперт С++
16473 / 7436 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
11.01.2017, 21:34 21
Лучший ответ Сообщение было отмечено _lunar_ как решение

Решение

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <Windows.h>
#include <cstdio>
 
void EnablePrivilege(wchar_t const * pName)
{
    TOKEN_PRIVILEGES tkp = {0};
    HANDLE hToken = NULL;
 
    if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY | TOKEN_ADJUST_PRIVILEGES, &hToken)) {
        printf("[E] OpenProcessToken failed, err = 0x%.8lx.\r\n", GetLastError());
        goto Finish;
    }
    
    if (!LookupPrivilegeValueW(NULL, pName, &tkp.Privileges[0].Luid)) {
        printf("[E] LookupPrivilegeValueW failed, err = 0x%.8lx.\r\n", GetLastError());
        goto Finish;
    }
 
    tkp.PrivilegeCount = 1;
    tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
 
    if (!AdjustTokenPrivileges(
        hToken,
        FALSE,
        &tkp,
        sizeof (tkp),
        NULL,
        NULL
        ))
    {
        printf("[E] AdjustTokenPrivileges failed, err = 0x%.8lx.\r\n", GetLastError());
        goto Finish;
    }
 
    DWORD const LastError = GetLastError();
    if (ERROR_SUCCESS != LastError) {
        printf("[E] AdjustTokenPrivileges succeeded, but last error is 0x%.8lx.\r\n", LastError);
        goto Finish;
    }
 
    printf("[I] Succeeded!\r\n");
 
Finish:
 
    if (hToken)
    {
        CloseHandle(hToken);
    }
}
 
int main()
{
    EnablePrivilege(SE_DEBUG_NAME);
    return EXIT_SUCCESS;
}
Код включает привилегию для всего процесса. Но можно включать ее и для отдельного потока
(см. функции ImpersonateLoggedOnUser, ImpersonateSelf, RevertToSelf и OpenThreadToken).
2
11.01.2017, 21:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.01.2017, 21:34
Помогаю со студенческими работами здесь

Как установить брейкпоинт (int3) на инструкции другого процесса?
Собственно, вопрос в названии темы. Есть процесс name.exe, есть инструкция в этом процессе...

Чтение памяти защищенного процесса
Друзья возникла нужда прочитать память процесса, защиту которого обеспечивает драйвер. Функции RPM...

Измененить значение в памяти процесса
Привет, есть процесс, я хочу в нем изменить значение в по адресу в памяти, как это можно сделать ?...

Чтение строки из памяти стороннего процесса
Никогда не думал, что будут проблемы с чтением строки из памяти, но они есть :D Пишу так: cout...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru