информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 На GitHub пугают ложными предупреждениями... 
 Атака на пользователей больших... 
 Notepad++ полгода раздавал зараженные... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Как создать поток без файла 18.01.02 00:09  Число просмотров: 1013
Автор: vh <Дмитрий> Статус: Member
<"чистая" ссылка>
> > т.е. ситуация: имеется поток...надо создать из него
> другой
> > поток который будет выполнять некий код скопированный
> из
> > первого потока. как это сделать, без создания файла на
> > диске?
> Che mudrit` to??
>
> SomeCode()//некий код 
> {
> 
> }
> Foo()
> {
> //...
> SomeCode();
> //...
> }
> SomeFoo()
> {
> CreateThread(...,Foo,...);
> }
> 

---
дык во-первых она создаст нить а не процесс и процесс в котором она создана не завершится пока не завершится нить (так ведь вроде?). вся фича в том чтобы файл загрузился, создал левый процесс и свой закрыл...а новый процесс будт редактировать этот файл, что нельзя делать пока он (файл) имеет свой процесс
<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
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach