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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить среднее геометрическое элементов массива http://www.cyberforum.ru/cpp-beginners/thread578557.html
Вычислить среднее геометрическое элементов массива Y. (Yi>0) Помогите решить!!!
C++ Алгоритмы ветвления Составить программу, которая выводит на экран слово «ИСТИНА», если условие выполнено или слово «ЛОЖЬ», если условие не выполнено. Данные числа х, у являются координатами точки, лежащей в первой координатной четверти. Помогите решить,пожалуйста!!! http://www.cyberforum.ru/cpp-beginners/thread578553.html
C++ Исправить код
Форумчане,знатоки плюсов,очень прошу помочь испраивть код.Сам только начинаю разбираться,поэтому нужна помошь. Часть ошибок исправил,осталось еще 2.Очень прошу помочь. #include <stdio.h> #include <windows.h> #include <conio.h> #include <tlhelp32.h> #include <iostream> #define PROC_NAME "TestN.exe" #define MAX_READ 128
почему DBL_MIN=0? непонятно C++
хочу получить min значение типа double, но мне он почему-то выдает 0, хотя DBL_MAX работает хорошо. вот код #include<float.h> #include<stdio.h> #include<stdlib.h> void main() {
C++ В матрице z(m,m) каждый элемент разделить на диагональный стоящаий в том же столбце http://www.cyberforum.ru/cpp-beginners/thread578528.html
в матрице z(m,m) каждый элемент разделить на диагональный стоящаий в том же столбце подскажите как сделать : #include <iostream> #include <math.h> main() { int m; cin>>m; for(int i = 0; i < m; i++) { for(int j = 0; j < m; j++)
C++ Слияние двух векторов Дано два одномерных массива A и B. Помогите, пожалуйста с кодом: нужно соединить их в один массив C. подробнее

Показать сообщение отдельно
Abdula
9 / 9 / 1
Регистрация: 28.03.2012
Сообщений: 116
18.05.2012, 11:02     Как запустить удалённый поток?
есть структура ассембрерного кода
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(); приложение удалённого потока обваливается, а если закоментировать, то всё остальное работает...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru