Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Abdula
9 / 9 / 1
Регистрация: 28.03.2012
Сообщений: 116
#1

Как запустить удалённый поток? - C++

18.05.2012, 11:02. Просмотров 330. Ответов 0
Метки нет (Все метки)

есть структура ассембрерного кода
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
cmds.instr_push_loadlibrary_arg = 0x68; //машинный код инструкции push
  cmds.loadlibrary_arg =(DWORD)((BYTE*)p_code
           + offsetof(INJECTORCODE, libraryname));  // до заполнение  dll либы
 
 
 
  cmds.instr_call_loadlibrary = 0x15ff; //машинный код инструкции call
  cmds.adr_from_call_loadlibrary =
  (DWORD)(&p_code + offsetof(INJECTORCODE, addr_loadlibrary));  // до заполнение  адреса LoadLibraryA()
            
 
  cmds.instr_push_exitthread_arg  = 0x68;
  cmds.exitthread_arg = 0;
 
  cmds.instr_call_exitthread = 0x15ff;
 
  cmds.adr_from_call_exitthread =
  (DWORD)(&p_code + offsetof(INJECTORCODE, addr_exitthread));
 
  cmds.addr_loadlibrary =
  (DWORD)GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA");
 
  cmds.addr_exitthread  =
  (DWORD)GetProcAddress(GetModuleHandle("kernel32.dll"),"ExitThread");
А также заполнение ей выделенной памяти и её запуск

C++
1
2
3
4
WriteProcessMemory(hProcess, p_code, &cmds, sizeof(cmds), &wr);
 
  HANDLE z = CreateRemoteThread(hProcess, NULL, 0,
               (unsigned long (__stdcall *)(void *))p_code, 0, 0, &id);
И освобождение

C++
1
2
3
4
  WaitForSingleObject(z, INFINITE);
  //освободить память
 
  VirtualFreeEx(hProcess, (void*)p_code, 0, MEM_RELEASE);

При выполнении CreateRemoteThread(); приложение удалённого потока обваливается, а если закоментировать, то всё остальное работает...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2012, 11:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как запустить удалённый поток? (C++):

Не получается запустить поток - C++
Доброго времени суток. Делаю как написано в книжке но ничего не получается. Помогите пожалуйста. void __fastcall...

Не удаётся запустить поток - C++
#pragma once #include "oLevel.h" #include <thread> /* 12 апреля 1961 года Юрий Гагарин стал первым человеком в мировой истории,...

Скопировать поток и добавить ошибки в поток - C++
Здорова господа! Есть задачка: "Скопируйте поток объектов типа Name_and_address и вставьте в него столько ошибок, сколько сколько...

Статический метод как точка входа в поток - как избавиться - C++
Привет всем.Вопрос такой: использую потоки в своей программе,они создаются и уничтожаются в классе, и в классе так же находится...

Нужно создать базу данных (создать пустой бинарный файл). Через поток. Поток бинарного файла описать в виде локальной переменной внутри функции. - C++
Совсем не понял эту тему. Нужно создать базу данных (создать пустой бинарный файл). Через поток. Поток бинарного файла описать в виде...

как через поток .. - C++
как через cout указать, что бы выводил 2 знака после запятой? Добавлено через 3 часа 1 минуту тема актуальна

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2012, 11:02
Привет! Вот еще темы с ответами:

как хранить поток? - C++
задача такая: класс имеет конструктор, этому конструктору при создании объекта класса передаёться поток ostream , соответственно объект...

Как завершить поток - C++
Как завершить поток, начатый _beginthread( Thread, 0, NULL );

Как создать поток в Linux? - C++
Программеры! Подскажите, пожалуйста, как создавать потоки в Linux. В Windows есть CreateThread(), а в Linux как? Можно спросить иначе:...

Как очистить поток ввода? - C++
std::istringstream iss(s1); idd>>a; iss.clear();; s1=s3; iss>>b надо чтоб s3 в b записалось, громадное число...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.