|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июн 14, 2004 06:58:39 DarkK Мля, действительно есть такой глюк, "ошибка приложения ..." при попытке снять снапшот модулей процесса, но имеет место только под NT системами, у меня возникла в 2k, а вот в win98 всё прошло на ура!, не перестаю повторять МАСТДАЙ РУЛИТ ;-) |
|
|
Дата: Июн 14, 2004 13:17:18 А процесс-то запускается через CreateProcess или нет? Если да, то, как писалось выше, кто мешает по его HANDLE отследить все что нужно? |
|
|
Дата: Июн 14, 2004 13:57:29 Процесс запускается, но он SUSPENDED в момент снятия снапшота (хотя в общем случае, если он до этого работал и был осановлен позднее, то никаких ошибок не возникает) кто мешает по его HANDLE отследить все что нужно? единственный вариант, который может работать (я его еще не проверил Ж) ): под 9х - снапшот под НТ - psapi. |
|
|
Дата: Июн 14, 2004 18:25:55 МАСТДАЙ РУЛИТ ;-) МАСТДАЙ МАСТ ДАЙ! |
|
|
Дата: Июн 14, 2004 20:29:01 Под ХР можно сделать через Debug API(там из соответствующей структуры взять эти данные) и потом DebugActiveProcessStop и можно спокойно отпустить процесс ;-) Поэтому ХР'ень тоже рулит здесь ;-) |
|
|
Дата: Июл 7, 2004 23:09:46 я, конечно, не исключаю кривые руки.... но psapi не работает Ж) код: if ( !CreateProcess(0, argv[1], 0, 0, 0, CREATE_SUSPENDED, 0, 0, &startInfo, &procInfo)) { return 1; } CloseHandle(procInfo.hProcess); CloseHandle(procInfo.hThread); procInfo.hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, procInfo.dwProcessId); if ( !EnumProcessModules(procInfo.hProcess, handle_list, sizeof(handle_list), &handle_list_filled)) { puts("Unable to enumerate process modules"); return 1; } кстати, а после возврата из CreateProcess процесс уже существует или только "в планах" ? |
|
|
Дата: Июл 7, 2004 23:33:09 DarkK CloseHandle(procInfo.hProcess); CloseHandle(procInfo.hThread); procInfo.hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, procInfo.dwProcessId); А это еще зачем? |
|
|
Дата: Июл 7, 2004 23:45:47 на всякий случай. просто я не знаю, все л имне привелегии даст CreateProcess. на результат это никак не влияет. |
|
|
Дата: Июл 8, 2004 04:07:44 DarkK А зачем тебе нужно то это? Единственный нормальный вариант это реализовать через Debug API, пример есть у Iczelion'а, ну подумаешь твой родительский процесс будет висеть в памяти до завершения дочернего, но ведь Armadillo успешно так работает ;-) |
|
|
Дата: Июл 9, 2004 14:26:09 Entry point нужен, чтобы его переписать. Пока просто выдираю его из PE-header, но кто сказал, что .exe никогда не будет загружен по адресу, отличному от указанного... |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.038 |