Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
 |  |  |  |
речь идет о процессе. просто vh первый вопрос неправильно поставил. 18.01.02 04:08 Число просмотров: 972
Автор: йцукенг <jcukeng> Статус: Member
|
|
|
|
<programming>
|
[Win32] Как создать поток без файла 17.01.02 09:21
Автор: vh <Дмитрий> Статус: Member
|
|
т.е. ситуация: имеется поток...надо создать из него другой поток который будет выполнять некий код скопированный из первого потока. как это сделать, без создания файла на диске?
|
 |
[Win32] Как создать поток без файла 17.01.02 21:29
Автор: + <Mikhail> Статус: Elderman
|
> т.е. ситуация: имеется поток...надо создать из него другой > поток который будет выполнять некий код скопированный из > первого потока. как это сделать, без создания файла на > диске? Che mudrit` to??
SomeCode()//некий код
{
}
Foo()
{
//...
SomeCode();
//...
}
SomeFoo()
{
CreateThread(...,Foo,...);
}
---
|
 |  |
[Win32] Как создать поток без файла 18.01.02 00:09
Автор: vh <Дмитрий> Статус: Member
|
> > т.е. ситуация: имеется поток...надо создать из него > другой > > поток который будет выполнять некий код скопированный > из > > первого потока. как это сделать, без создания файла на > > диске? > Che mudrit` to?? > > SomeCode()//некий код
> {
>
> }
> Foo()
> {
> //...
> SomeCode();
> //...
> }
> SomeFoo()
> {
> CreateThread(...,Foo,...);
> }
> ---
дык во-первых она создаст нить а не процесс и процесс в котором она создана не завершится пока не завершится нить (так ведь вроде?). вся фича в том чтобы файл загрузился, создал левый процесс и свой закрыл...а новый процесс будт редактировать этот файл, что нельзя делать пока он (файл) имеет свой процесс
|
 |  |  |
а мне почему-то казалось всегда, что поток и нить - это одно и то же в виндах (thread) 18.01.02 00:14
Автор: SEH Статус: Незарегистрированный пользователь
|
|
неужели я не прав?
|
 |  |  |  |
речь идет о процессе. просто vh первый вопрос неправильно поставил. 18.01.02 04:08
Автор: йцукенг <jcukeng> Статус: Member
|
|
|
 |  |  |  |  |
речь идет о процессе. просто vh первый вопрос неправильно поставил. 18.01.02 04:54
Автор: vh <Дмитрий> Статус: Member
|
да сорри...под словом поток я пдразумевал процесс :(
так у когонибудь есть идеи?
|
 |  |  |  |  |  |
варианты 18.01.02 05:19
Автор: ggg <ggg> Статус: Elderman
|
варианты:
1) немного переделать задачу: запускаешь второй процесс из второго exe файла
2) через SetWindowsHookEx() загружаешь dll в другие процессы
3) NT: VirtualAllocEx, WriteProcessMemory, CreateRemoteThread
4) SetWindowsHookEx, LocalAlloc, ReadProcessMemory, CreateThread, UnhookWindowsHookEx
|
 |  |  |  |  |  |  |
варианты 27.01.02 09:43
Автор: vh <Дмитрий> Статус: Member
|
> варианты: > > 1) немного переделать задачу: запускаешь второй процесс из > второго exe файла тогда первому файлу придется хранить в своем теле код (полный) второго файла (а это уже означает невозможность модификации, только шифрования), копировать его на диск, запускать....потом еще и удалить.
> 2) через SetWindowsHookEx() загружаешь dll в другие > процессы > > 3) NT: VirtualAllocEx, WriteProcessMemory, > CreateRemoteThread > > 4) SetWindowsHookEx, LocalAlloc, ReadProcessMemory, > CreateThread, UnhookWindowsHookEx интересно...надо почитать про первую и последнюю функцию. совершенно не имею понятия что они делают
|
 |  |  |  |  |  |  |
Самоуничтожение ? 18.01.02 11:27
Автор: BOBAH Статус: Незарегистрированный пользователь
|
- Если нужно редактировать сам файл, то можно предложить запускать процесс из др. выполняемого файла, завершать "родительский" процесс, втроым процессом редактировать файл и запускать процесс снова.
- Если же нужно чтоб процесс удалил свой файл, то проще будет создать BAT файл, который удаляет EXE, а потом и сам удаляется.
> варианты: > > 1) немного переделать задачу: запускаешь второй процесс из > второго exe файла > > 2) через SetWindowsHookEx() загружаешь dll в другие > процессы > > 3) NT: VirtualAllocEx, WriteProcessMemory, > CreateRemoteThread > > 4) SetWindowsHookEx, LocalAlloc, ReadProcessMemory, > CreateThread, UnhookWindowsHookEx
|
|
|