Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2009, 23:31   #1
SL1CK
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 84
По умолчанию Копирование программы

Как сделать чтоб программа копировала сама себя, допустим в C:\Windows ??
SL1CK вне форума Ответить с цитированием
Старый 24.08.2009, 23:46   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

И зачем это ей копироваться в системную папку? А не вирус ли пишите?

Вот вам пример:
Код:
uses dos;
var
f: text;
begin
assign(f,'tmpfile.bat');
rewrite(f);
writeln(f,'copy '+paramstr(0)+' d:\newfile.exe');
writeln(f,'del tmpfile.bat');
close(f);
exec('tmpfile.bat','');
end.
А можно еще короче:
Код:
uses dos;
begin
exec('c:\windows\system32\cmd.exe',' /c copy '+paramstr(0)+' d:\newfile.exe');
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 24.08.2009 в 23:51.
Sazary вне форума Ответить с цитированием
Старый 25.08.2009, 00:05   #3
SL1CK
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 84
По умолчанию

Спасибо, да что то наподобии вируса)
SL1CK вне форума Ответить с цитированием
Старый 25.08.2009, 00:51   #4
SL1CK
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 84
По умолчанию

помоему exec неработает..
делал по первому способу создаеться бат файл и все, но он ведь должен запуститься, чтобы выполнить копирование программы, но ничего не происходит
SL1CK вне форума Ответить с цитированием
Старый 25.08.2009, 01:14   #5
PovAttack
Новичок
Джуниор
 
Регистрация: 20.11.2008
Сообщений: 1
По умолчанию

А пробовал через CopyFile?
PovAttack вне форума Ответить с цитированием
Старый 25.08.2009, 01:16   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Тогда вот так попробуйте:
Код:
exec('C:\WINDOWS\system32\cmd.exe',' /c tmpfile.bat');
у меня работает и так, и так.

А вообще, если пишете "что то наподобии вируса", то желания принимать в этом участие у меня нет.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.08.2009, 02:13   #7
SL1CK
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 84
По умолчанию

ясно, спасибо
SL1CK вне форума Ответить с цитированием
Старый 25.08.2009, 09:18   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а я ещё добавлю. что,
1) если у пользователя нет админских прав - то он в эту директорию файл не запишет НЕ ПРИ КАКИХ УСЛОВИЯХ!
2) в Висте эти папки защищены даже от пользователя с правами админа. Там надо запускать программу от имени Администратора
3) записать свой EXE файлик в system32 можно (ну если пройти пункты 1 и 2), но если попытаться обеспечить его загрузку - то при прописывании программки в автостарт сработает любой нормальный антивирус.

так что, SL1CK кончайте дрянью заниматься. Займитесь чем-нибудь полезным!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.08.2009, 10:52   #9
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

Цитата:
Сообщение от Sazary Посмотреть сообщение
Тогда вот так попробуйте:
Код:
exec('C:\WINDOWS\system32\cmd.exe',' /c tmpfile.bat');
у меня работает и так, и так.
По–хорошему, расположение интерпретатора командной строки надо брать из COMSPEC.
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Старый 25.08.2009, 12:34   #10
SL1CK
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 84
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
а я ещё добавлю. что,
1) если у пользователя нет админских прав - то он в эту директорию файл не запишет НЕ ПРИ КАКИХ УСЛОВИЯХ!
2) в Висте эти папки защищены даже от пользователя с правами админа. Там надо запускать программу от имени Администратора
3) записать свой EXE файлик в system32 можно (ну если пройти пункты 1 и 2), но если попытаться обеспечить его загрузку - то при прописывании программки в автостарт сработает любой нормальный антивирус.

так что, SL1CK кончайте дрянью заниматься. Займитесь чем-нибудь полезным!!
да все там сработает, программе не требуються права..
и плюс я неочень разбераюсь в программировании, так что у меня программа самая обычная... все что она делает при запуске создает txt файлик в своей директории и после копируеться в разные места под другим именем...

и чтоб сделать что то полезное нужно больше знаний...
SL1CK вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование Lyubov1990 Microsoft Office Excel 1 11.06.2009 23:05
Копирование VVVasek Microsoft Office Excel 13 20.09.2008 23:12
Копирование ryton SQL, базы данных 2 30.06.2008 09:32
Запуск программы на выполнение из другой программы. ViNcHeStEr Паскаль, Turbo Pascal, PascalABC.NET 6 18.06.2008 14:33
Копирование программы. Rahim1993 Общие вопросы Delphi 4 14.02.2008 11:44