Форум программистов, компьютерный форум CyberForum.ru

Управление памятью другой программы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ MSVS или MINGW http://www.cyberforum.ru/cpp/thread1561773.html
Привет всем. У меня скоро заканчивается пробная версия visual studio и я думаю установить mingw(операционная система Windows). Как mingw? Лучше mcvs? Мне обязательно чтобы отладчик был хороший. Но ещё на хабре читал что mcvs лучше оптииизирует код. Ну вообщем расскажите немного про mingw.
C++ Visual Studio + CUDA Устанавливаю CUDA 7.5 с сайта https://developer.nvidia.com/cuda-downloads Затем для интеграции в Visual Studio 2015 скачиваю Nsight™ Visual Studio Edition 5.0 с сайта https://developer.nvidia.com/gameworksdownload#?dn=ns.. видеокарта Nvidia GeForce 740m последний драйвер 358.50 Однако шаблона в Visual Studio 2015 не наблюдаю как быть? Еще Code Blocks могу использовать однако не могу... http://www.cyberforum.ru/cpp/thread1561713.html
Объяснения по DynCall C++
(сижу на MSVC 2005 и 2013) Нужна помощь по следующим пунктам: 1. Что надо чтоб начать работать с DynCall (что то в проэкте подключить, либы, что то заинсталлить?..) 2. Примеры простеньких программ с приминением DynCall. 3. Нашёл в нете такой пример: mathlib <- dynfind(c("msvcrt","m","m.so.6")) x <- .dynsym(mathlib,"sqrt") .dyncall(x, "d)d", 144L) Я хочу использовать данную либо именно...
Стеганографическое маскирование текста в аудио-контейнере методом расширения спектра C++
Добрый вечер! Может быть кто-то поможет найти исходники каких-нибудь программ на си++ именно с шифрованием в аудио-контейнер? Или реализацию этого метода для контейнера-изображения?
C++ Проинициализировать sdl раньше чем другие файлы http://www.cyberforum.ru/cpp/thread1560739.html
Есть проект из нескольких файлов. Этот проект использует библиотеку sdl. Есть главный файл, где проходит инициализация sdl и есть функция main. Еще есть два файла: один заголовочный ,другой cpp. В этих двух файлах определены классы, которые используют библиотеку sdl. Дело в том что классы используют библиотеку sdl, a sdl инициализируется в main( т.е.позже), в классе есть статические переменные,...
C++ Ищу аналог Visual Studio Интересует аналоги Visual Studio, как под винду, так и под linux. Требование - это наличие аналога intellisense ( с автодополнением и проверкой кода "на лету") и поддержкой дебаггера. Единственное, что я нашел, так это emacs с flycheck и автокомплитом, но я так и не смог к нему привыкнуть. подробнее

Показать сообщение отдельно
xxXAKEPxx
2 / 2 / 0
Регистрация: 30.01.2013
Сообщений: 143
26.10.2015, 10:45  [ТС]     Управление памятью другой программы
GetProcessId() возвращает Id процесса на основе его хэндела, а мне нужно как раз получить хэндл.

Добавлено через 37 минут
Нашёл ответ на другом форуме:
"Ошибка 5 означает что всё ок, только закрыт доступ, я нашел решение первого вопроса через добавления флага доступа пользователю SE_DEBUG_NAME, кода побольше но зато работает, хочу заметить что этот флаг включен по умолчанию в винде, просто мою винду поимели пару вирусов =(
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
HANDLE NEW_OpenProcess(DWORD dwProcessId)
{
        HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessId);
        
        if (hProcess == NULL)
        {
            TOKEN_PRIVILEGES Priv, PrivOld;
            DWORD cbPriv = sizeof(PrivOld);
            HANDLE hToken;
 
            // получаем токен текущего потока
            if (!OpenThreadToken(GetCurrentThread(), TOKEN_QUERY|TOKEN_ADJUST_PRIVILEGES, FALSE, &hToken))
            {
                // используем токен процесса, если потоку не назначено
                // никакого токена
                OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY|TOKEN_ADJUST_PRIVILEGES, &hToken);
            }
 
            Priv.PrivilegeCount = 1;
            Priv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
            LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &Priv.Privileges[0].Luid);
 
            // попробуем включить привилегию
            AdjustTokenPrivileges(hToken, FALSE, &Priv, sizeof(Priv), &PrivOld, &cbPriv);
    
            // попробуем открыть описатель процесса еще раз
            hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessId);
        
            // восстанавливаем исходное состояние привилегии
            AdjustTokenPrivileges(hToken, FALSE, &PrivOld, sizeof(PrivOld), NULL, NULL);
            CloseHandle(hToken);
        }
 
        return hProcess;
}
"
И далее в моём коде, вместо OpenProcess() вызываем NEW_OpenProcess().
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru