Форум программистов, компьютерный форум CyberForum.ru

Программа которая копирует себя - C++

Восстановить пароль Регистрация
 
saito
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 3
23.10.2012, 20:21     Программа которая копирует себя #1
Здравствуйте, мне нужна помощь по Системному программированию, задача для меня оказалась сложной. Нужно написать программу которая может копировать себя. Эта программа будет использоваться не как вирус, честное пионерское , больше кроме копирования файла там не нужно ничего. С++ и Win Api без сложных махинаций и если можно с объяснением. Повторюсь еще раз, это не вредоносное ПО.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2012, 20:21     Программа которая копирует себя
Посмотрите здесь:

strcpy-ф-ия которая копирует значение первой переменной и вставляет во второй,но результата нет C++
Написать программу, которая копирует содержимое входного файла в выходной файл C++
Написать программу, которая копирует содержимое входного файла в выходной файл C++
C++ Программа, которая копирует содержимое входного файла в выходной; подсчитывает количество слов в тексте...
C++ Написать функцию, которая копирует строку на место другого строки и возвращает признак того, что копирование было успешным
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
23.10.2012, 20:27     Программа которая копирует себя #2
saito, Поидее при запуске файл программы блокируется только для записи и копировать его ты можешь куда угодно.
То есть ты определяешь текущую папку, определяешь целевую папку и тупо используешь функции копирования файлов. Должно работать.
saito
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 3
23.10.2012, 20:39  [ТС]     Программа которая копирует себя #3
а можно это как-то реализовать без указания текущей и целевой папки??
то есть припустим что мы запускаем .ехе'шник а он копируется в рандомную папку на диске д, просто скопировать файл при помощи Win Api я могу.
а еще лучше что бы он перемещался. просто получил такое задание, а придумать как это реализовать ума не хватило.
я не уточнил этого, про перемещение то есть. конкретнее будет сказать что при запуске он куда-то перемещался и это не было конкретной целевой папкой
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
23.10.2012, 21:06     Программа которая копирует себя #4
saito, ну выбор паки все равно должен происходить по какому то принципу. Например можешь прочитать список папок, сгенерировать случайное число и на его основании выбрать целевую папку.
Что касается перемещения, то есть простой вариант. Твоя программа копирует себя в нужную папку, запускает копию с параметром "путь к первой программе" и завершается. Вторая программа извлекает из параметра путь, удаляет по этому пути первую программу, ну а дальше может повторить то же самое. главное подобрать таймауты, что бы удаление началось позже чем первая программа закроется.
saito
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 3
23.10.2012, 21:17  [ТС]     Программа которая копирует себя #5
solar_wind, а можно показать это на примере?
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
24.10.2012, 05:13     Программа которая копирует себя #6
saito, Прям таких примеров у меня нет, а что не ясно конкретно?
Копировать и удалять ты умеешь, сам сказал.
В зависимости от того, какую среду разработки ты используешь, есть разные средства для запуска сторонних программ.
Как распознать параметры материалов много, используй переменные argc argv
Генерация случайного числа делается с помощью функций srand random например, если не ошибаюсь.
Задержки делаются с помощью sleep.
Yandex
Объявления
24.10.2012, 05:13     Программа которая копирует себя
Ответ Создать тему
Опции темы

Текущее время: 07:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru