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

Инжект кода - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Клавиша http://www.cyberforum.ru/cpp-beginners/thread336618.html
помогите пожалуста разобраться с этим сабжом. мне надо сделать так: если нажата нужная клавиша не важно в каком окне, то нажать еще 2 клавиши и кликнуть левой кнопкой мыши. вот мой код: #include <iostream> #include <windows.h>
C++ Отличие CString от std::string Меня интересует такой глупый вопрос В чём отличия CString от просто string? :-[ http://www.cyberforum.ru/cpp-beginners/thread336602.html
Заменить в строке одни буквы на другие C++
Напишите программу на c++, которая считывает количество слов и меняет все буквы `а` на `о`. Примечание: компилятор - MS VC++
кнопочки в с++ C++
здравствуйте. пишу в с++ всякое по мелочи, в консоли там работа с массивами, стеки и все такое... но вот я хочу теперь научится делать окошка и кнопочки... ну написать программу которая при нажатии на кнопку запускала мне игру... ну или чтото такое, создавать пустое совершенно окно с кнопками закрыть свернуть и развернуть. ну вы поняли о чем я... прошу вас скиньте какие-то видеоуроки по...
C++ Есть ли в строке хоть один символ? http://www.cyberforum.ru/cpp-beginners/thread336541.html
Всем привет! Вопрос следующий Допустим, имеется строка CString str = " "; В ней содержатся несколько пробелов и табуляций Необходимо написать функцию, которая проверяла бы, есть ли в ней хотя бы 1 символ То есть тут, как я понимаю, есть 2 пути собрать в символный массив все символы и проверять, есть ли в str хотя бы 1 символ из символьного массива
C++ Ошибка при вызове виртуальной функции в производном классе Здравствуйте, извините, если подобная тема появлялась, но либо у меня руки не от туда растут, либо ее небыло... проблема в следующем: есть базовый класс, и два наследника(отличаются совсем немного, но...) class B{ public: virtual inline A* funk()=0; }; class N: public B{ подробнее

Показать сообщение отдельно
maxteam
2 / 2 / 0
Регистрация: 04.07.2010
Сообщений: 66
27.07.2011, 16:07     Инжект кода
Здраствуйте...

Пишу простый инжектор кода в процесс(win32). Использую CreateRemoteThread.

Внедряю код функции которая должна запустится в новом потоке удаленного процесса. Все вроде норм. но у меня траблы с WriteProcessMemory.

вот кусок кода си++:

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
int main (void)
{
    DWORD dwThreadId = 0, pID=0;
    void *pRemoteThread = NULL;
    char ExeFile[1024] = {0};
    HANDLE hProcess = NULL, hSnap = NULL;
    HINSTANCE hUser = NULL;
    RPar my_RPar, *pmy_RPar = NULL;
    PROCESSENTRY32 pe32 = {0};
    DWORD dwThreadSize = 2048;
 
    GetPrivilege("SeDebugPrivilege"); //получаю SeDebugPrivilege
 
    hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,FindProcessByName("calc.exe")); //открываю процесс
    if(hProcess == NULL) return FALSE;
    
    cout<<"opened\n";
    
    //выделяю память
    pRemoteThread=VirtualAllocEx(hProcess,0,dwThreadSize,MEM_COMMIT|MEM_RESERVE,PAGE_EXECUTE_READWRITE); 
    if(pRemoteThread == NULL) return FALSE;
        
    cout<<"alloc\n";
    
    //и тут облом - хочу писать данные в память 
    if(!WriteProcessMemory(hProcess, (LPVOID)pRemoteThread, (LPCVOID)&ThreadProc, dwThreadSize, 0) ) 
        {cout<<"error:"<<GetLastError()<<endl;system("PAUSE");return FALSE;}
 
    cout<<"wrote code\n"; 
 
        system("PAUSE");
 
    ....................
WriteProcessMemory выдает ERROR_ACCESS_DENIED хотя я использую SeDebugPrivilege да и система у меня Win32 SP3

помогите разобратся...может существует лучшый способ инжекта кода(не dll)

спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru