Создание файла на другом компьютере

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Fil
Сообщения: 41
Зарегистрирован: 30 авг 2006, 17:03

Привет.

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

Код: Выделить всё

HANDLE FileHandle;
	
// Создание файла \\myfile.txt
if ((FileHandle = CreateFile(TEXT("\\\\pc2\\С$\\myfile.txt"),
GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
	CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL)) == INVALID_HANDLE_VALUE)
{
	MessageBox(0, "Create file error", "Error", 0);
	return;
}
…но если не затруднит, подскажите, как надо правильно сделать. Диск на др. компе «не расшарен».

Заранее благодарен.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Если диск не расшарен и нет прав на системные шары, то попытку запису можно отнести к категории "вредительство". Естественно, никто не захочет, чтобы кто-то чужой без всяких прав записывал у него на диске свои файлы. Очевидно, что любая ОС запретит подобные действия. Таким образом единственный путь - это несанкционированный доступ, осуществить который в три команды не получится. Для таких нужд в большинстве случаев используются самописные трояны, которые висят в памяти компьютера жертвы и ждут команд от клиента трояна. Подробности написания таких программ на нашем форуме не разрешены.

Вообще, готовых исходников нет, так как такими делами я никогда не занимался. Идею могу предложить абсолютно бесплатно, ради любви к искусству.

Смысл в том, что нужно реализовать связку клиент-сервер, которые связываются, к примеру, через сокет. Сервер резидентный и запущен на машине, на которую нужно закачать файл. Он висит в памяти и слушает какой-нибудь порт. Клиент коннектится к серверу и передаёт ему тело файла через сокет, после окончания передачи сервер сохраняет файл на диск.

Для вирусов, работающих по такому принципу, самая главная проблема - это добиться того, чтобы серверная часть была всё время запущена и ждала команд от клиентской команды. Но если ты говоришь, что ты не злоумышленник, то запустить серверную часть на компьютере тебе будет не сложно, так как будешь это делать с разрешения хозяина :)

Удачи ;)
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить