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

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

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

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

18.05.2012, 11:02. Просмотров 309. Ответов 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(); приложение удалённого потока обваливается, а если закоментировать, то всё остальное работает...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2012, 11:02     Как запустить удалённый поток?
Посмотрите здесь:

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

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

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

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

Как очистить входной поток от '\n'? - C++
Программа закрывается #include "stdafx.h" #include <iostream> #include "conio.h" #include "windows.h" using namespace::std; ...

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

Как перехватить поток данных? - C++
Как поймать поток с данными, посылаемый браузером моей программе??? Другими словами, есть HTML форма, где надо ввести "х". Вводим туда...

Как поток вставить в строку? - C++
for(int i=0;i<g;i++) { N=N+i; p>>N; } Al=Al+p.Al;//это не правлильно какая команлда отвечает за ставку потока в строк Al строка...

Как читает поток ввода cin ? - C++
Спасибо большое, разобрался. Возникли новые вопросы: 1) как читает поток ввода оператор cin ? Например: char a,b; ...

Поток как статическая компонента объкта - C++
Доброго вечера ! Выполняю упражнения по книге. Если вкратце то при компиляции возникает ошибка в результате добавления static fstream file...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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