информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Spanning Tree Protocol: недокументированное применениеСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] О модифицировании запущенного файла... 13.03.02 02:36  Число просмотров: 832
Автор: ih8u <i hate you> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
> CreateRemoteThread(...)
> sdes` pro eto uzhe pisalos` i ne raz.

А оно случайно не только для выньНТ работает??
<programming>
[Win32] О модифицировании запущенного файла... 10.03.02 14:59  
Автор: vh <Дмитрий> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
Не подскажет ли кто нибудь как мне решить лучше всего данну траблу...
Чуствуется что здесь есть известное простое решение а изобретать лесопед заново не хочется...
вообщем ситуация:
я, вирус, загруженный из файла (прогии...)...мне надо этот файл проредактировать (точнее , вылечить) но так что бы я сам себя не удалил. Но дело в том, что я не могу редактировать свой файл пока он запущен...
В этом и проблема.
Вот возникла идея создать другой процесс (но не нить!), старый процесс закрыть, и из нового все сделать...но CreateProccess требует исполняемого файла, а держать его копию внутри вируса расточительно и как то некрасиво...а нельзя кстати создать безфайловый процесс?

Заранее большое спасибо..
[Win32] Есть еще другой вариант 13.03.02 17:19  
Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
> Вот возникла идея создать другой процесс (но не нить!),
> старый процесс закрыть, и из нового все сделать...но
> CreateProccess требует исполняемого файла, а держать его
> копию внутри вируса расточительно и как то некрасиво...а
> нельзя кстати создать безфайловый процесс?

CreateFile
FILE_ATTRIBUTE_TEMPORARY

The file is being used for temporary storage. File systems attempt to keep all of the data in memory for quicker access rather than flushing the data back to mass storage. A temporary file should be deleted by the application as soon as it is no longer needed.

Делай так - тот exe, в кот. ты сейчас сидишь и который занят системой копируй в такой временный файл, запускай. Дожидайся завершения главного файла.
Редактируй.
[Win32] Есть еще другой вариант 14.03.02 18:39  
Автор: vh <Дмитрий> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
> > Вот возникла идея создать другой процесс (но не
> нить!),
> > старый процесс закрыть, и из нового все сделать...но
> > CreateProccess требует исполняемого файла, а держать
> его
> > копию внутри вируса расточительно и как то
> некрасиво...а
> > нельзя кстати создать безфайловый процесс?
>
> CreateFile
> FILE_ATTRIBUTE_TEMPORARY
>
> The file is being used for temporary storage. File systems
> attempt to keep all of the data in memory for quicker
> access rather than flushing the data back to mass storage.
> A temporary file should be deleted by the application as
> soon as it is no longer needed.
>
> Делай так - тот exe, в кот. ты сейчас сидишь и который
> занят системой копируй в такой временный файл, запускай.
> Дожидайся завершения главного файла.
> Редактируй.
не понял :(
можно еще раз?
[Win32] Есть еще другой вариант 15.03.02 10:16  
Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
> не понял :(
> можно еще раз?

Если не понял то что я написал про CreateFile, смотри хелп.
А если принцип.....

Скажи конкретнее усоловия задачи.
[Win32] Есть еще другой вариант 15.03.02 19:14  
Автор: vh <Дмитрий> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
> > не понял :(
> > можно еще раз?
>
> Если не понял то что я написал про CreateFile, смотри хелп.
> А если принцип.....
>
> Скажи конкретнее усоловия задачи.
фича в том чтобы зараженная программа при своем запуске лечила сама себя (ну точнее чтобы вирус сам себя удалил..на диске) и запустилась бы уже излеченная..хорошая. допустим есть уже функция health(file) которая это делает. но проблема в том что открытый файл редактировать нельзя. :(

нужно сделать так чтоб пользователь ничего не заметил, не использовать выход в ринг 0.

уф...это уже третяя попытка...описал понятно как только мог
[Win32] О модифицировании запущенного файла... 13.03.02 00:03  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
> Не подскажет ли кто нибудь как мне решить лучше всего данну
> траблу...
> Чуствуется что здесь есть известное простое решение а
> изобретать лесопед заново не хочется...
> вообщем ситуация:
> я, вирус, загруженный из файла (прогии...)...мне надо этот
> файл проредактировать (точнее , вылечить) но так что бы я
> сам себя не удалил. Но дело в том, что я не могу
> редактировать свой файл пока он запущен...
> В этом и проблема.
> Вот возникла идея создать другой процесс (но не нить!),
> старый процесс закрыть, и из нового все сделать...но
> CreateProccess требует исполняемого файла, а держать его
> копию внутри вируса расточительно и как то некрасиво...а
> нельзя кстати создать безфайловый процесс?
>
> Заранее большое спасибо..
CreateRemoteThread(...)
sdes` pro eto uzhe pisalos` i ne raz.
[Win32] О модифицировании запущенного файла... 13.03.02 02:36  
Автор: ih8u <i hate you> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
> CreateRemoteThread(...)
> sdes` pro eto uzhe pisalos` i ne raz.

А оно случайно не только для выньНТ работает??
[Win32] О модифицировании запущенного файла... 13.03.02 02:38  
Автор: vh <Дмитрий> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
> > CreateRemoteThread(...)
> > sdes` pro eto uzhe pisalos` i ne raz.
>
> А оно случайно не только для выньНТ работает??
в хелпах написано:
Windows NT: The handle must have PROCESS_CREATE_THREAD access. For more information

интересно какие процессы в НТ заведомо существуют и дают делать в себе нити?
[Win32] О модифицировании запущенного файла... 13.03.02 16:44  
Автор: ih8u <i hate you> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
НТ сакс,
вот ели бы это дело работало под 9х,
вот это было бы круто!!
[Win32] О модифицировании запущенного файла... 14.03.02 02:51  
Автор: vh <Дмитрий> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
> НТ сакс,
> вот ели бы это дело работало под 9х,
> вот это было бы круто!!
сакс то сакс..дело не в этом....а в 9х работает судя по документации :)
[Win32] О модифицировании запущенного файла... 14.03.02 05:16  
Автор: ih8u <i hate you> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
Тока что в хелпе по WINAPI читал:

CreateRemoteThread

Windows NT Yes
Win95 No
Win32s No
Import Library kernel32.lib
Header File winbase.h
Unicode No
Platform Notes None
[Win32] CreateRemoteThread в win98 есть! 14.03.02 06:30  
Автор: vh <Дмитрий> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
> Тока что в хелпе по WINAPI читал:
видимо у тебя другой хелп...у меня по другому написано...на всякий слуяай я решил проверить, оказалось что функция в 98-ой винде (SE) есть такая..
прога:
<p>
.386p
.model flat
extrn GetModuleHandleA:PROC
extrn ExitProcess:PROC
extrn GetProcAddress:PROC

.data

NCreateRemoteThread db 'CreateRemoteThread',0
Kernel32N db "KERNEL32.dll",0

.code

start:
lea eax,Kernel32N
push eax
call GetModuleHandleA ;eax = адрес кернеля

lea edx,NCreateRemoteThread

push edx
push eax

call GetProcAddress

;eax = адрес функции CreateRemoteThread

push 0
call ExitProcess
end start

end
</p>

а можно и вообще не извращаться а написать
extrn CreateRemoteThread:PROC
и винда сама пропишет в таблицу импортов адрес на адрес функции :)

я конечно не берусь громко говорить, потому как не опытен, но помоему так оно все и есть
а ты её вызвать пробовал ? ;) 14.03.02 08:04  
Автор: ggg <ggg> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
а ещё в 9х есть все функции, оканчивающиеся на W, но это не значит, что 9х понимает unicode :)
:))))))))))))))))))))))))))))))))))))))))))))) 15.03.02 12:12  
Автор: ih8u <i hate you> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
а ты её вызвать пробовал ? ;) 14.03.02 12:56  
Автор: vh <Дмитрий> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
> а ещё в 9х есть все функции, оканчивающиеся на W, но это не
> значит, что 9х понимает unicode :)
ну хорошо...а что тогда надо сделать чтобы полностью удостовериться что какая либо апи-функция в винде есть?
вызывать я ее пробовал, но видимо с параметрами намудил, поэтому она всегда 0 возращала
гы гы гы :) 15.03.02 03:38  
Автор: ggg <ggg> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
> ну хорошо...а что тогда надо сделать чтобы полностью
> удостовериться что какая либо апи-функция в винде есть?
> вызывать я ее пробовал, но видимо с параметрами намудил,
> поэтому она всегда 0 возращала

она ноль возвращает не потому что ты намудил, а потому что билл гейтс намудил :)
посмотри в отладчике или дизассемблере что внутри этой функции
там будет что то типа
xor eax, eax
ret N

в MSDN же написано, что нет этой функции в 9х, значит её там и правда нет
если уж MS пишет что что то не работает, значит оно и правда не работает :)
вот если пишет что работает, то это ещё не факт, что оно и правда работает :))
гы гы гы :) 15.03.02 19:08  
Автор: vh <Дмитрий> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
> > ну хорошо...а что тогда надо сделать чтобы полностью
> > удостовериться что какая либо апи-функция в винде
> есть?
> > вызывать я ее пробовал, но видимо с параметрами
> намудил,
> > поэтому она всегда 0 возращала
>
> она ноль возвращает не потому что ты намудил, а потому что
> билл гейтс намудил :)
> посмотри в отладчике или дизассемблере что внутри этой
> функции
> там будет что то типа
> xor eax, eax
> ret N
>
проверил бы..да софтайс глючит :)...будь добр проверь сам и опубликуй плиз код, что находится по адресу 84f30150
гы гы гы гы гы гы :))))))) 17.03.02 19:43  
Автор: Biasha <Бяша> Статус: Member
Отредактировано 17.03.02 19:46  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
Точнее:
// Возможно: if (IsCurrent(hProcess)) return CreateThread(…);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
> > xor eax, eax
> > ret N

> проверил бы..да софтайс глючит :)...будь добр проверь сам и
> опубликуй плиз код, что находится по адресу 84f30150

У меня 9х нет, но:

Джеффри Рихтер: Programming Applications for Microsoft Windows (4th edition):
In Windows 98, the CreateRemoteThread function has no useful implementation
and simply returns NULL; calling GetLastError returns ERROR_CALL_NOT_IMPLEMENTED.
(The CreateThread function contains the complete implementation of the code
that creates a thread in the calling process.) Because CreateRemoteThread
is not implemented, you cannot use this technique to inject a DLL under
Windows 98.

---

MSDN Library - January 2002:
Requirements 
  Windows NT/2000/XP: Included in Windows NT 3.1 and later.
  Windows 95/98/Me: Unsupported.

---
Альтернативный способ создания потока в чужом процессе (работающего почти всегда (при наличии цикла сообщений и прав), во всех виндах) я описывал когда-то на этой доске.
Люди, а вы ваще MSDN читаете? 14.03.02 10:34  
Автор: Bender Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
Короче, что бы CreateRemoteThread заюзать, нужно что бы в Remote процессе уже БЫЛА функция, которая этот самый remote thread реализует.
Т.е. для начала, вы должны в чужой поток свой код впрыснуть (как в бо2к) а потом уж о remote thread говорить...
[Win32] О модифицировании запущенного файла... 12.03.02 17:35  
Автор: ih8u <i hate you> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
Думаю сабж возможен в ring0
Переходи туда, и модифицируй скока влезет
1  |  2 >>  »  




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


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