Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для Buckstabue
179 / 127 / 25
Регистрация: 12.01.2012
Сообщений: 623

Эта программа безвредна?

31.03.2013, 20:27. Показов 668. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть один человек, который утверждает, что данная программа не делает ничего, кроме как автоперехода по ссылкам, указанным в файле url.txt. Но у меня есть сомнения, вдруг это какой-нибудь вирус?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/* Программа для автоматического открытия ссылок */
#include <iostream>
#include <string>
#include <fstream>
#include <cstdlib>
#include <sstream>
#include <algorithm> 
#include <functional> 
#include <cctype>
#include <locale>
#include <clocale>
#include <iomanip>
 
#include <io.h>
#include <Windows.h>
 
 
// trim from start
static inline std::string& ltrim(std::string &s)
{
        s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun<int, int>(std::isspace))));
        return s;
}
 
// trim from end
static inline std::string& rtrim(std::string &s)
{
        s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun<int, int>(std::isspace))).base(), s.end());
        return s;
}
 
// trim from both ends
static inline std::string& trim(std::string &s)
{
        return ltrim(rtrim(s));
}
 
void openLink(const std::string& pathToBrowser, const std::string& url, int sleepSc);
 
int main()
{
   setlocale(LC_ALL, "");
   const char *fConfFileName = "conf.txt"; // имя файла настроек
   const char *fUrlFileName = "url.txt";   // имя файла, содержащего ссылки
   int sleepSecs; // период переходов по ссылкам в секундах
   int bonusCounter; // счетчик бонусов
 
   if (access(fConfFileName, 0) == -1 || access(fUrlFileName, 0) == -1)
   {
       if (access(fConfFileName, 0) == -1)
        std::cout << "Не найден файл конфигации \"" << fConfFileName << '\"' << std::endl;
       if (access(fUrlFileName, 0) == -1)
           std::cout << "Не найден файл со списком ссылок на бонусы \"" << fUrlFileName << '\"' << std::endl;
   }
   else
   {
       std::string buff;
       std::string pathToBrowser; // абсолютный путь к браузеру
       std::ifstream fConf; // файл конфигурации
       std::ifstream urlFile; // файл со списком url на бонусы
 
       fConf.open(fConfFileName, std::ios::in);
       urlFile.open(fUrlFileName, std::ios::in);
       if (!fConf || !urlFile)
       {
           if (!fConf)
               std::cout << "Не могу открыть для чтения файл конфиграции \""
                         << fConfFileName << '\"' << std::endl;
           if (!urlFile)
               std::cout << "Не могу открыть для чтения файл со списком ссылок на бонусы \""
                         << fUrlFileName << '\"' << std::endl;
       }
       else
       {
           std::stringstream strStream;
 
           std::getline(fConf, pathToBrowser); // в первой строке путь к браузеру
 
           if (access(pathToBrowser.c_str(), 0) == -1)
           {
               std::cout << "Ошибка. Не могу найти программу-браузер по пути " << pathToBrowser << std::endl;
           }
           else
           {
 
               std::getline(fConf, buff);
               strStream.clear();
               strStream << buff;
               strStream >> sleepSecs;
               fConf.close();
 
               bonusCounter = 0;
               while (!urlFile.eof())
               {
                   std::getline(urlFile, buff);
                   trim(buff);
                   if (!buff.empty())
                   {
                       ++bonusCounter;
                       std::cout << "Бонус №"<< std::setw(2) << bonusCounter << std::endl;
                       openLink(pathToBrowser, buff, sleepSecs);
                   }
               }
               std::cout << "Все бонусы собраны!" << std::endl;
           }
       }
   }
 
   std::cout << "Выход" << std::endl;
   system("PAUSE");
 
   return 0;
}
 
void openLink(const std::string& pathToBrowser, const std::string& url, int sleepSc)
{
    std::string cmd("\"");
 
    cmd.append(pathToBrowser);
    cmd.append("\" ");
    cmd.append(url);
 
    system(cmd.c_str());
    Sleep(sleepSc * 1000);    
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.03.2013, 20:27
Ответы с готовыми решениями:

Программа создает файл, который не может открыть microsoft office (абсолютно безвредна)
Вроде бы простенькая прога. var b:integer; begin assign(input,'input.txt'); reset(input); assign(output,'output.txt'); ...

Что делает эта программа?
Нужно полностью рассказать про то что эта программа делает, как можно подробнее. Помогите :с function summa(a:longint;k:byte):byte;...

Что делает эта программа
Не понимаю что делает программа,начиная с getline #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;algorithm&gt; #include...

1
Псевдослучайный
1946 / 1146 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
31.03.2013, 21:08
А сами почитать вы не в состоянии? Жалкая сотня строк как-никак.
Ничего страшного этот код не делает, он даже браузер за собой закрыть не в состоянии.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.03.2013, 21:08
Помогаю со студенческими работами здесь

Что делает эта программа?
помогите разобраться, што делает ета програма: RD #2 MUL #6 WR 11 WR @11 JNZ 00 заранее спасибо!

Пойдет ли эта программа на Turbo C?
У меня один компилятор не выдает ошибки в программе,а другой выдает.А мы в институте пользуемся turbo c,и я не знаю,пойдет она или нет ...

Что делает эта программа?
Подскажите, пожалуйста как именно работает эта программа. Задание - программа удаляющая из первого списка все элементы, отсутствующие во...

что делает эта программа на С++?
#include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; void main() { char g; int j,i; printf(&quot;vvesti frazu\n&quot;); j=0; ...

Что делает эта программа?
import sys, codecs save_stdin = sys.stdin sys.stdin = codecs.open(&quot;in/5.in&quot;, &quot;r&quot;, &quot;utf-8&quot;) N = int(input()) res = {} for i in...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru