Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.05.2009, 18:39
pavelok pavelok вне форума
Прохожий
 
Регистрация: 04.05.2009
Сообщения: 14
Репутация: 10
По умолчанию Копирование программы самой себя

Здраствуите!!
помогите пожалуйста начинающему зделать так чтоб программа копировала сама себя во все папки
Ответить с цитированием
  #2  
Старый 04.05.2009, 18:43
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

CopyFile (или FileCopy - не помнб точно) и Application.ExeName.
Из второго получаешь полное имя файла, а первое - собственно функция копирования файла.
Ответить с цитированием
  #3  
Старый 04.05.2009, 18:45
pavelok pavelok вне форума
Прохожий
 
Регистрация: 04.05.2009
Сообщения: 14
Репутация: 10
По умолчанию

Да знаю вот
CopyFile('C:\1.txt','C:\2.txt' ,true);
Тока как зделать чтоб программа копировалась Сама во все папки которые наидёт на компе
Ответить с цитированием
  #4  
Старый 04.05.2009, 19:12
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

FindFirst/FindNext/FindClose - поиск файлов/папок.
Ответить с цитированием
  #5  
Старый 04.05.2009, 19:20
Аватар для Vayrus
Vayrus Vayrus вне форума
Исполняемый Ретровирус
 
Регистрация: 09.08.2008
Адрес: Umbrella Corporation
Сообщения: 743
Репутация: 1293
Лампочка

Цитата:
Сообщение от pavelok
Да знаю вот
CopyFile('C:\1.txt','C:\2.txt' ,true);
Тока как зделать чтоб программа копировалась Сама во все папки которые наидёт на компе

Явный признак вирусописателя
Ответить с цитированием
  #6  
Старый 04.05.2009, 20:34
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

А еще неплохо было-бы, что-бы потом она себя стерла из всех папок. Но только себя!
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #7  
Старый 04.05.2009, 22:36
Аватар для Sphinx
Sphinx Sphinx вне форума
Прохожий
 
Регистрация: 27.04.2009
Адрес: Kemcity
Сообщения: 36
Репутация: 12
По умолчанию

Цитата:
Сообщение от Страдалецъ
А еще неплохо было-бы, что-бы потом она себя стерла из всех папок. Но только себя!

Функция на отчистку name.exe

Код:
function Kill(Dir: AnsiString): boolean;
var
  Sr: SysUtils.TSearchRec;
begin
{$I-}
  if (Dir <> '') and (Dir[length(Dir)] = '\') then
    Delete(Dir, length(dir), 1);
  if FindFirst(Dir + '\*.*', faDirectory + faHidden + faSysFile +
    faReadonly + faArchive, Sr) = 0 then
    repeat
      if (Sr.Name = '.') or (Sr.Name = '..') then
        continue;
      if (Sr.Attr and faDirectory <> faDirectory) then
   begin
if (AnsiLowerCase(ExtractFileExt(sr.Name)) = 'name.Exe') 
 then
 begin
        FileSetReadOnly(Dir + '\' + sr.Name, False); 
        DeleteFile(Dir + '\' + sr.Name);
 end
   end
      else
        Kill(Dir + '\' + sr.Name);
    until FindNext(sr) <> 0;
  FindClose(sr);
   Kill:= (FileGetAttr(Dir) = -1);
end;


З.Ы. парень и правда что-то недоброе задумал, на programmersforum.ru нашел его аналогичный пост
Ответить с цитированием
  #8  
Старый 05.05.2009, 08:47
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию

Люди нафига помогаете таким людям??? а потом материмся что типа вот новый вирус появился половину офисов без работы оставил! вот для чего ещё нужно самокопирование во все папки? признаюсь сам пару раз писал вирусянк, тоже был с самокопированием и попал к другу как то, дак он на меня так обиделся...
КЫШ АТСЮДА ЗАРАЗАПИСАТЕЛЬ

що эта са мной сёдня, но мысли все свои высказал!
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием
  #9  
Старый 05.05.2009, 13:20
pavelok pavelok вне форума
Прохожий
 
Регистрация: 04.05.2009
Сообщения: 14
Репутация: 10
По умолчанию

Блин! почему вы все взяли, что это ВИРУС??? это программа сбора данных приосходящем во всех папках!!!
А не вирус!!!
Ответить с цитированием
  #10  
Старый 05.05.2009, 13:31
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Был вирус, с той разницей, что копировался не в папки, а на все устройства (C:, D:...) и пишется в авторан. Заипался его стирать. Наконец, выловил. Подцепил флехой на курсах программирования. Шваль безвредная, с компом ничё не делала, но КАК ЗАДАЛБЫВАЕТ...

По теме - проще уж тогда запустить ОДНУ прогу, и из неё мониторить папки... А то я набросал код для самокопирования, так касперский сразу заматерился...
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #11  
Старый 05.05.2009, 15:32
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию

Цитата:
Сообщение от pavelok
Блин! почему вы все взяли, что это ВИРУС??? это программа сбора данных приосходящем во всех папках!!!
А не вирус!!!
всё равно, если во все ваще папки, то задалбывает, нехотел бы такую прогу иметь! и я чота непойму, нафига копировать то себя что бы посмотреть что в папках???
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием
  #12  
Старый 07.05.2009, 15:06
Аватар для }{aker
}{aker }{aker вне форума
Заблокирован
 
Регистрация: 02.05.2009
Сообщения: 9
Репутация: 10
По умолчанию

Вот, как скопировать себя.

CopyFile(pchar(ParamStr(0)),pchar('C:\'+ExtractFil eName(ParamStr(0))),true);

Че не ясно, пиши на donetskrus@mail.ru
Ответить с цитированием
  #13  
Старый 08.05.2009, 18:42
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию

тут уже был один умник... скажите как сделать прогу что бы её видно небыло... это не вирус!.. скажите как комп подвиснуть! это не вирус!..скажите как поменять разришение чтобы монитор погас... это не вирус!..
знаем мы таких нафиг!!!
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием
  #14  
Старый 08.05.2009, 21:39
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Цитата:
Сообщение от pavelok
Блин! почему вы все взяли, что это ВИРУС??? это программа сбора данных приосходящем во всех папках!!!
А не вирус!!!

Абсолютно бредовая идея. Она у вас, что будет запускаться всякий раз как пользователь или системный процесс обратились к папке? Так у вас машина сдохнет через 5 минут после запуска 5000 копий из каждой папки. А на современных дисках этих директорий десятки тысяч. Добавьте к этому некислую потерю места на каждую такую копию.
Единственный способ придать этой операции какой-то смысл, это копировать не саму программу, а делать символическую ссылку, но эта штука работает только под NTFS.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #15  
Старый 09.05.2009, 23:20
Аватар для Sphinx
Sphinx Sphinx вне форума
Прохожий
 
Регистрация: 27.04.2009
Адрес: Kemcity
Сообщения: 36
Репутация: 12
Смех

Цитата:
Сообщение от AleD
тут уже был один умник... скажите как сделать прогу что бы её видно небыло... это не вирус!.. скажите как комп подвиснуть! это не вирус!..скажите как поменять разришение чтобы монитор погас... это не вирус!..
знаем мы таких нафиг!!!
Гы! Хотя все давно есть в литературе =) Сенсей Фленов со своей книгой программирование в Дельфи глазами ][акера... там и про моник... и как чтобы видно не было... да и дельфи ворд открой там куча примеров... чет я проговорился

З.Ы. Не-не-не вирусов не писал ) Максимум на работе писанул программу- прикол (клиент-серверку) которая всякую фигню творила сотруднику безопасности (просто его все в офисе любили очень)... а так я протиф вирусов =) На кол всех! Особенно антивирусные компании, всё- таки я согласен с мнением, что немалое количество пишется именно ими, чтоб было чем хлеб мазать =)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:59.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter