• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Копирование файлов

  • Автор темы alekssgor
  • Дата начала
A

alekssgor

Как скопировать файл .exe скачанный с инета (который был открыт но не сохранён на диске).
Задача
Файл скачан с интернета сохранён на диске и при первом запуске скажем содаётся папка в папке Program Files
и туда копируется запущенный файл(добавляется в автозагрузку и т.д)с этим всё понятно.

Как всё тоже сделать если пользователь не сохранил файл на диске, а просто открыл???
 
A

Artem325

Тоже самое и произойдёт, ведь если пользователь просто открывает файл, то он сохраняется на диске во временной папке какой нибудь. Просто папка другая и всё.
 
A

alekssgor

Тоже самое и произойдёт, ведь если пользователь просто открывает файл, то он сохраняется на диске во временной папке какой нибудь. Просто папка другая и всё.

Спасибо.
А на WinApi как определить путь (в общем эквивалент C++Builder ParamStr(0))???????????????????
 
A

Artem325

alekssgor
а как ты определяешь папку, если пользователь сохраняет программу?
 
A

alekssgor

alekssgor
а как ты определяешь папку, если пользователь сохраняет программу?
Я её вообще не определяю!
Просто проверю при запуске первый раз програма запущена(тоесть есть раздел в реестре с имененм программы если нет делаю так при запуске)

Код:
//Копирование файлов и папок
int MovieFiles(char* slSourceDir, char* slTargetDir, bool toCopy = true)
{
SHFILEOPSTRUCT sh;
sh.fFlags = FOF_NOCONFIRMATION|FOF_SILENT|FOF_FILESONLY;
sh.wFunc = toCopy ? FO_COPY : FO_MOVE;
sh.pFrom = slSourceDir;
sh.pTo = slTargetDir;
sh.hNameMappings = NULL;
sh.lpszProgressTitle = NULL;
return SHFileOperation(&sh);
}
mkdir("C:\\Program Files\\Программа");
MovieFiles("Программа.exe","C:\\Program Files\\Программа");//Копирую самого себя
Делаю запись в реестр
 
A

Artem325

и почему же это не работает если просто запуск делается?? просто он так же в папке лежит, просто имя и путь некрасивые и всё.
 
A

alekssgor

и почему же это не работает если просто запуск делается?? просто он так же в папке лежит, просто имя и путь некрасивые и всё.
Да работет извиняюсь туплю.
Я вобщето про это спрашивал
//Получаем каталог программы
char str[MAX_PATH];
getcwd(str,MAX_PATH);
MessageBox(0,str,"Путь к программе",0);
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!