Показать сообщение отдельно

  #12  
Старый 12.10.2007, 00:22
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
С нами: 11042306

Репутация: 2726


По умолчанию

На самом деле, что требуется? Как понять создать поток вне процесса? То, что поток является чьим-то - определяется по сис. записям в ядре и хендлами потоков. Переключением занимается пл
онеровщенг.

Цитата:
o_OBallers Если ты силен в PE формате, то можно запускать файл, без создания отдельного процеса путем проецирования файла в память, т.е. выполнить работу загрузчика - произвести работу с импортом и другими директориями в файле - а потом создать поток через CreateTheared указав в виде процедуры адресс оригинальной точки входа в программу OEP...
// Конечно накладываются некоторые ограничения, но все же для каждой задачи свои методы!
П****ц, а процесс, который спроецировал файл - чем будет являться? Не кажется ли что в нем и запустится новый поток?

Цитата:
да вроде теоретически можно, тк стек у потока, что хорошо, свой да и даже регистры, но, что делать, например, с глобальными переменными? а если будет вызываться в конце ExitProcess?
Понятия процесса вообще впринципе нет. Пропатчить планировщик, который переключает контексты (стек, регистры, таблицы и тп) потоков.
Создать системный поток без процесса. Как бы в контексте SYSTEM, но грубо говоря без процесса.

Цитата:
Э... Так ведь память будет вся той программы, где ты решил запускать свой код, какой в этом смысл, ничего работать не будет (если это конечно не вредительский какой-нибудь фрагмент типа "шеллкода")
Угу, прям на планке ОЗУ написана "это память эксплорер точка эгзе"

ну это я все пишу конечно чисто в понт. потому что не хочется делом заниматься, работать и тп - я на форумах отвечаю и тп

Последний раз редактировалось begin_end; 12.10.2007 в 23:42.. Причина: мат
 
Ответить с цитированием