
Добавил:
unit_man
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Курсовая / ФУЛЛ КОД
.txt#pragma once
namespace CppCLRWinformsProjekt {
using namespace System;
using namespace System::Windows::Forms;
using namespace System::Net::NetworkInformation; // Для работы с пингом
using namespace System::Diagnostics; // Для работы с процессами
using namespace System::Threading; // Для использования Thread::Sleep
using namespace System::IO; // Для работы с файлами
/// <summary>
/// Zusammenfassung fьr Form1
/// </summary>
public ref class Form1 : public System::Windows::Forms::Form
{
public:
Form1(void)
{
InitializeComponent();
//
//TODO: Konstruktorcode hier hinzufьgen.
//
}
protected:
/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
~Form1()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::GroupBox^ groupBox1;
protected:
private: System::Windows::Forms::GroupBox^ groupBox2;
private: System::Windows::Forms::GroupBox^ groupBox3;
private: System::Windows::Forms::Button^ ExitButton;
private: System::Windows::Forms::Button^ SaveInFileButton;
private: System::Windows::Forms::TextBox^ ResulttextBox;
private: System::Windows::Forms::Button^ ResultButton_Click;
private: System::Windows::Forms::TextBox^ CheckAntivirusSoftwaretextBox;
private: System::Windows::Forms::Button^ CheckAntivirusSoftwareButton;
private: System::Windows::Forms::TextBox^ AntivirusTesttextBox;
private: System::Windows::Forms::Button^ AntivirusTestButton;
private: System::Windows::Forms::Button^ CheckFirewallButton;
private: System::Windows::Forms::Button^ CheckFirewallWorkButton;
private: System::Windows::Forms::Button^ InternetСonnectionButton;
private: System::Windows::Forms::TextBox^ InternetСonnectiontextBox;
private: System::Windows::Forms::TextBox^ CheckFirewalltextBox;
private: System::Windows::Forms::TextBox^ CheckFirewallWorktextBox;
private: System::Windows::Forms::Button^ ResetButton;
private:
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
System::ComponentModel::Container ^components;
#pragma region Windows Form Designer generated code
/// <summary>
/// Erforderliche Methode fьr die Designerunterstьtzung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geдndert werden.
/// </summary>
void InitializeComponent(void)
{
this->groupBox1 = (gcnew System::Windows::Forms::GroupBox());
this->InternetСonnectiontextBox = (gcnew System::Windows::Forms::TextBox());
this->CheckFirewalltextBox = (gcnew System::Windows::Forms::TextBox());
this->CheckFirewallWorktextBox = (gcnew System::Windows::Forms::TextBox());
this->InternetСonnectionButton = (gcnew System::Windows::Forms::Button());
this->CheckFirewallButton = (gcnew System::Windows::Forms::Button());
this->CheckFirewallWorkButton = (gcnew System::Windows::Forms::Button());
this->groupBox2 = (gcnew System::Windows::Forms::GroupBox());
this->CheckAntivirusSoftwaretextBox = (gcnew System::Windows::Forms::TextBox());
this->CheckAntivirusSoftwareButton = (gcnew System::Windows::Forms::Button());
this->AntivirusTesttextBox = (gcnew System::Windows::Forms::TextBox());
this->AntivirusTestButton = (gcnew System::Windows::Forms::Button());
this->groupBox3 = (gcnew System::Windows::Forms::GroupBox());
this->ResulttextBox = (gcnew System::Windows::Forms::TextBox());
this->ExitButton = (gcnew System::Windows::Forms::Button());
this->SaveInFileButton = (gcnew System::Windows::Forms::Button());
this->ResultButton_Click = (gcnew System::Windows::Forms::Button());
this->ResetButton = (gcnew System::Windows::Forms::Button());
this->groupBox1->SuspendLayout();
this->groupBox2->SuspendLayout();
this->groupBox3->SuspendLayout();
this->SuspendLayout();
//
// groupBox1
//
this->groupBox1->BackColor = System::Drawing::SystemColors::ButtonFace;
this->groupBox1->Controls->Add(this->InternetСonnectiontextBox);
this->groupBox1->Controls->Add(this->CheckFirewalltextBox);
this->groupBox1->Controls->Add(this->CheckFirewallWorktextBox);
this->groupBox1->Controls->Add(this->InternetСonnectionButton);
this->groupBox1->Controls->Add(this->CheckFirewallButton);
this->groupBox1->Controls->Add(this->CheckFirewallWorkButton);
this->groupBox1->Location = System::Drawing::Point(4, 3);
this->groupBox1->Name = L"groupBox1";
this->groupBox1->Size = System::Drawing::Size(788, 171);
this->groupBox1->TabIndex = 0;
this->groupBox1->TabStop = false;
this->groupBox1->Text = L"Проверка межсетевого экрана";
//
// InternetСonnectiontextBox
//
this->InternetСonnectiontextBox->Location = System::Drawing::Point(370, 21);
this->InternetСonnectiontextBox->Multiline = true;
this->InternetСonnectiontextBox->Name = L"InternetСonnectiontextBox";
this->InternetСonnectiontextBox->Size = System::Drawing::Size(412, 43);
this->InternetСonnectiontextBox->TabIndex = 11;
//
// CheckFirewalltextBox
//
this->CheckFirewalltextBox->Location = System::Drawing::Point(370, 70);
this->CheckFirewalltextBox->Multiline = true;
this->CheckFirewalltextBox->Name = L"CheckFirewalltextBox";
this->CheckFirewalltextBox->Size = System::Drawing::Size(412, 43);
this->CheckFirewalltextBox->TabIndex = 10;
//
// CheckFirewallWorktextBox
//
this->CheckFirewallWorktextBox->Location = System::Drawing::Point(370, 119);
this->CheckFirewallWorktextBox->Multiline = true;
this->CheckFirewallWorktextBox->Name = L"CheckFirewallWorktextBox";
this->CheckFirewallWorktextBox->Size = System::Drawing::Size(412, 43);
this->CheckFirewallWorktextBox->TabIndex = 9;
//
// InternetСonnectionButton
//
this->InternetСonnectionButton->BackColor = System::Drawing::SystemColors::ControlLightLight;
this->InternetСonnectionButton->Location = System::Drawing::Point(6, 21);
this->InternetСonnectionButton->Name = L"InternetСonnectionButton";
this->InternetСonnectionButton->Size = System::Drawing::Size(358, 43);
this->InternetСonnectionButton->TabIndex = 8;
this->InternetСonnectionButton->Text = L"Проверка подключения к сети Интернет";
this->InternetСonnectionButton->UseVisualStyleBackColor = false;
this->InternetСonnectionButton->Click += gcnew System::EventHandler(this, &Form1::InternetConnectionButton);
//
// CheckFirewallButton
//
this->CheckFirewallButton->Location = System::Drawing::Point(6, 70);
this->CheckFirewallButton->Name = L"CheckFirewallButton";
this->CheckFirewallButton->Size = System::Drawing::Size(358, 43);
this->CheckFirewallButton->TabIndex = 7;
this->CheckFirewallButton->Text = L"Проверка наличия установленного МЭ";
this->CheckFirewallButton->UseVisualStyleBackColor = true;
this->CheckFirewallButton->Click += gcnew System::EventHandler(this, &Form1::CheckFirewallButton_Click);
//
// CheckFirewallWorkButton
//
this->CheckFirewallWorkButton->Location = System::Drawing::Point(6, 119);
this->CheckFirewallWorkButton->Name = L"CheckFirewallWorkButton";
this->CheckFirewallWorkButton->Size = System::Drawing::Size(358, 43);
this->CheckFirewallWorkButton->TabIndex = 6;
this->CheckFirewallWorkButton->Text = L"Проверка работоспособности МЭ";
this->CheckFirewallWorkButton->UseVisualStyleBackColor = true;
this->CheckFirewallWorkButton->Click += gcnew System::EventHandler(this, &Form1::CheckFirewallWorkButton_Click);
//
// groupBox2
//
this->groupBox2->BackColor = System::Drawing::SystemColors::ButtonFace;
this->groupBox2->Controls->Add(this->CheckAntivirusSoftwaretextBox);
this->groupBox2->Controls->Add(this->CheckAntivirusSoftwareButton);
this->groupBox2->Controls->Add(this->AntivirusTesttextBox);
this->groupBox2->Controls->Add(this->AntivirusTestButton);
this->groupBox2->Location = System::Drawing::Point(4, 180);
this->groupBox2->Name = L"groupBox2";
this->groupBox2->Size = System::Drawing::Size(788, 121);
this->groupBox2->TabIndex = 1;
this->groupBox2->TabStop = false;
this->groupBox2->Text = L"Проверка антивирусного программного обеспечения";
//
// CheckAntivirusSoftwaretextBox
//
this->CheckAntivirusSoftwaretextBox->BackColor = System::Drawing::SystemColors::Window;
this->CheckAntivirusSoftwaretextBox->Location = System::Drawing::Point(370, 21);
this->CheckAntivirusSoftwaretextBox->Multiline = true;
this->CheckAntivirusSoftwaretextBox->Name = L"CheckAntivirusSoftwaretextBox";
this->CheckAntivirusSoftwaretextBox->Size = System::Drawing::Size(412, 43);
this->CheckAntivirusSoftwaretextBox->TabIndex = 9;
//
// CheckAntivirusSoftwareButton
//
this->CheckAntivirusSoftwareButton->Location = System::Drawing::Point(6, 21);
this->CheckAntivirusSoftwareButton->Name = L"CheckAntivirusSoftwareButton";
this->CheckAntivirusSoftwareButton->Size = System::Drawing::Size(358, 43);
this->CheckAntivirusSoftwareButton->TabIndex = 8;
this->CheckAntivirusSoftwareButton->Text = L"Проверка наличия установленного антивируса";
this->CheckAntivirusSoftwareButton->UseVisualStyleBackColor = true;
this->CheckAntivirusSoftwareButton->Click += gcnew System::EventHandler(this, &Form1::CheckAntivirusSoftwareButton_Click);
//
// AntivirusTesttextBox
//
this->AntivirusTesttextBox->Location = System::Drawing::Point(370, 70);
this->AntivirusTesttextBox->Multiline = true;
this->AntivirusTesttextBox->Name = L"AntivirusTesttextBox";
this->AntivirusTesttextBox->Size = System::Drawing::Size(412, 43);
this->AntivirusTesttextBox->TabIndex = 6;
//
// AntivirusTestButton
//
this->AntivirusTestButton->Location = System::Drawing::Point(6, 70);
this->AntivirusTestButton->Name = L"AntivirusTestButton";
this->AntivirusTestButton->Size = System::Drawing::Size(358, 43);
this->AntivirusTestButton->TabIndex = 5;
this->AntivirusTestButton->Text = L"Тестирование антивирусного ПО";
this->AntivirusTestButton->UseVisualStyleBackColor = true;
this->AntivirusTestButton->Click += gcnew System::EventHandler(this, &Form1::AntivirusTestButton_Click);
//
// groupBox3
//
this->groupBox3->BackColor = System::Drawing::SystemColors::Control;
this->groupBox3->Controls->Add(this->ResulttextBox);
this->groupBox3->Location = System::Drawing::Point(4, 307);
this->groupBox3->Name = L"groupBox3";
this->groupBox3->Size = System::Drawing::Size(788, 185);
this->groupBox3->TabIndex = 2;
this->groupBox3->TabStop = false;
this->groupBox3->Text = L"Итоговый вывод результатов проверок";
//
// ResulttextBox
//
this->ResulttextBox->Location = System::Drawing::Point(6, 21);
this->ResulttextBox->Multiline = true;
this->ResulttextBox->Name = L"ResulttextBox";
this->ResulttextBox->Size = System::Drawing::Size(776, 159);
this->ResulttextBox->TabIndex = 4;
//
// ExitButton
//
this->ExitButton->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10.8F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
static_cast<System::Byte>(204)));
this->ExitButton->Location = System::Drawing::Point(374, 551);
this->ExitButton->Name = L"ExitButton";
this->ExitButton->Size = System::Drawing::Size(412, 52);
this->ExitButton->TabIndex = 0;
this->ExitButton->Text = L"Выход";
this->ExitButton->UseVisualStyleBackColor = true;
this->ExitButton->Click += gcnew System::EventHandler(this, &Form1::ExitButton_Click);
//
// SaveInFileButton
//
this->SaveInFileButton->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10.8F, System::Drawing::FontStyle::Regular,
System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(204)));
this->SaveInFileButton->Location = System::Drawing::Point(4, 551);
this->SaveInFileButton->Name = L"SaveInFileButton";
this->SaveInFileButton->Size = System::Drawing::Size(364, 52);
this->SaveInFileButton->TabIndex = 3;
this->SaveInFileButton->Text = L"Сохранить результаты в файл";
this->SaveInFileButton->UseVisualStyleBackColor = true;
this->SaveInFileButton->Click += gcnew System::EventHandler(this, &Form1::SaveInFileButton_Click);
//
// ResultButton_Click
//
this->ResultButton_Click->BackColor = System::Drawing::SystemColors::ControlLightLight;
this->ResultButton_Click->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10.8F, System::Drawing::FontStyle::Regular,
System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(204)));
this->ResultButton_Click->ForeColor = System::Drawing::Color::DarkBlue;
this->ResultButton_Click->Location = System::Drawing::Point(4, 493);
this->ResultButton_Click->Name = L"ResultButton_Click";
this->ResultButton_Click->Size = System::Drawing::Size(364, 54);
this->ResultButton_Click->TabIndex = 5;
this->ResultButton_Click->Text = L"Вывод результатов";
this->ResultButton_Click->UseVisualStyleBackColor = false;
this->ResultButton_Click->Click += gcnew System::EventHandler(this, &Form1::ResultButton_Click_Click);
//
// ResetButton
//
this->ResetButton->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10.8F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
static_cast<System::Byte>(204)));
this->ResetButton->Location = System::Drawing::Point(374, 493);
this->ResetButton->Name = L"ResetButton";
this->ResetButton->Size = System::Drawing::Size(412, 52);
this->ResetButton->TabIndex = 6;
this->ResetButton->Text = L"Сброс";
this->ResetButton->UseVisualStyleBackColor = true;
this->ResetButton->Click += gcnew System::EventHandler(this, &Form1::ResetButton_Click);
//
// Form1
//
this->AutoScaleDimensions = System::Drawing::SizeF(8, 16);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this->BackColor = System::Drawing::SystemColors::Control;
this->ClientSize = System::Drawing::Size(796, 607);
this->Controls->Add(this->ResetButton);
this->Controls->Add(this->ExitButton);
this->Controls->Add(this->SaveInFileButton);
this->Controls->Add(this->groupBox3);
this->Controls->Add(this->ResultButton_Click);
this->Controls->Add(this->groupBox2);
this->Controls->Add(this->groupBox1);
this->ForeColor = System::Drawing::Color::DarkBlue;
this->MaximizeBox = false;
this->Name = L"Form1";
this->Text = L"Программа проверки информационной безопасности";
this->groupBox1->ResumeLayout(false);
this->groupBox1->PerformLayout();
this->groupBox2->ResumeLayout(false);
this->groupBox2->PerformLayout();
this->groupBox3->ResumeLayout(false);
this->groupBox3->PerformLayout();
this->ResumeLayout(false);
}
#pragma endregion
// Кнопка Заркытие окна
private: System::Void ExitButton_Click(System::Object^ sender, System::EventArgs^ e) {
this->Close();
}
// Кнопка Сохранения результата в файл
private: System::Void SaveInFileButton_Click(System::Object^ sender, System::EventArgs^ e) {
// Проверяем, пуст ли TextBox
if (String::IsNullOrWhiteSpace(ResulttextBox->Text)) {
MessageBox::Show("Вы не проверили работоспособность программы!", "Предупреждение", MessageBoxButtons::OK, MessageBoxIcon::Warning);
return;
}
// Формируем путь для файла на рабочем столе
String^ desktopPath = System::Environment::GetFolderPath(System::Environment::SpecialFolder::Desktop);
String^ fileName = "ResultFileInfDef.txt"; // Название файла
String^ filePath = System::IO::Path::Combine(desktopPath, fileName);
// Сохраняем текст в файл
System::IO::File::WriteAllText(filePath, ResulttextBox->Text);
}
// Кнопка Проверки Интрент соединения
private: System::Void InternetConnectionButton(System::Object^ sender, System::EventArgs^ e) {
InternetСonnectiontextBox->Clear();
Ping^ pingSender = gcnew Ping();
// Проверка интернет соединения
try {
PingReply^ reply = pingSender->Send("77.88.8.8");
// Проверка на получения ответа
if (reply->Status == IPStatus::Success) {
InternetСonnectiontextBox->Text = (DateTime::Now.ToString() + ": Соединение с интернетом установлено!");
}
else {
InternetСonnectiontextBox->Text = (DateTime::Now.ToString() + ": Нет соединения с интернетом!");
}
}
catch (Exception^ ex) {
InternetСonnectiontextBox->Text = (DateTime::Now.ToString() + ": Ошибка при проверке соединения: " + ex->Message);
}
}
// Кнопка Провреки наличия установленного антивирусного ПО
private: System::Void CheckAntivirusSoftwareButton_Click(System::Object^ sender, System::EventArgs^ e) {
CheckAntivirusSoftwaretextBox->Clear();
// Путь к папке с Kaspersky
String^ kasperskyPath = "C:\\Program Files (x86)\\Kaspersky Lab\\Kaspersky 21.18";
// Проверка существования пути и исполняемого файла
try {
if (System::IO::File::Exists(kasperskyPath + "\\avpui.exe")) {
CheckAntivirusSoftwaretextBox->AppendText(DateTime::Now.ToString() + ": Антивирус Kaspersky установлен!");
}
else {
CheckAntivirusSoftwaretextBox->AppendText(DateTime::Now.ToString() + ": Антивирус Kaspersky не установлен!");
}
}
catch (Exception^ ex) {
CheckAntivirusSoftwaretextBox->AppendText("Ошибка при проверке: " + ex->Message);
}
}
// Кнопка наличия установленного МЭ
private: System::Void CheckFirewallButton_Click(System::Object^ sender, System::EventArgs^ e) {
CheckFirewalltextBox->Clear();
// Путь к папке
String^ firewallPath = "C:\\Program Files\\Windows Defender";
// Проверка существования пути
try {
if (System::IO::File::Exists(firewallPath + "\\MpDlpCmd.exe")) {
CheckFirewalltextBox->AppendText(DateTime::Now.ToString() + ": МЭ установлен!");
}
else {
CheckFirewalltextBox->AppendText(DateTime::Now.ToString() + ": МЭ не установлен!");
}
}
catch (Exception^ ex) {
CheckFirewalltextBox->AppendText("Ошибка при проверке: " + ex->Message);
}
}
// Кнопка вывода результатов
private: System::Void ResultButton_Click_Click(System::Object^ sender, System::EventArgs^ e) {
ResulttextBox->Clear();
// Получаем текст из текстбоксов
String^ firewallText = CheckFirewalltextBox->Text;
String^ internetConnectionText = InternetСonnectiontextBox->Text;
String^ antivirusSoftwareText = CheckAntivirusSoftwaretextBox->Text;
String^ firewallWorkText = CheckFirewallWorktextBox->Text;
String^ antivirusTestText = AntivirusTesttextBox->Text;
// Объединяем текст с переносами строк
String^ result = internetConnectionText + Environment::NewLine +
firewallText + Environment::NewLine +
firewallWorkText + Environment::NewLine +
antivirusSoftwareText + Environment::NewLine +
antivirusTestText;
// Устанавливаем текст в результирующий текстбокс
ResulttextBox->Text = result;
}
// Кнопка Проверки работоспсобонсти МЭ
private: System::Void CheckFirewallWorkButton_Click(System::Object^ sender, System::EventArgs^ e) {
CheckFirewallWorktextBox->Clear();
// Проверяем состояние всех профилей встроенного межсетевого экрана Windows
String^ firewallProfilesCommand = "netsh advfirewall show allprofiles";
try {
// Запускаем команду
Process^ process = gcnew Process();
ProcessStartInfo^ startInfo = gcnew ProcessStartInfo("cmd.exe", "/c " + firewallProfilesCommand);
startInfo->RedirectStandardOutput = true; // Перенаправление стандартного вывода
startInfo->UseShellExecute = false; // Не использовать оболочку Windows для открытия нового процесса
startInfo->CreateNoWindow = true; // Не создавать новое окно для процесса
// Применяем настройки к процессу
process->StartInfo = startInfo;
process->Start();
String^ output = process->StandardOutput->ReadToEnd();
process->WaitForExit();
// Проверка на наличие упоминаний о включенном межсетевом экране
if (output->Contains("ВКЛЮЧИТЬ") || output->Contains("ON")) {
CheckFirewallWorktextBox->AppendText(DateTime::Now.ToString() + ": Встроенный МЭ Windows работает!");
}
else {
CheckFirewallWorktextBox->AppendText(DateTime::Now.ToString() + ": Встроенный МЭ Windows отключен!");
}
}
catch (Exception^ ex) {
// Обработка исключений
CheckFirewalltextBox->AppendText("Ошибка при проверке: " + ex->Message);
}
}
// Кнопка Проверки работоспсобонсти антивируса
private: System::Void AntivirusTestButton_Click(System::Object^ sender, System::EventArgs^ e) {
AntivirusTesttextBox->Clear();
// Создание файла AntivirusTest.txt на рабочем столе
String^ desktopPath = System::Environment::GetFolderPath(System::Environment::SpecialFolder::Desktop);
String^ fileName = "AntivirusTest.txt"; // Название файла
String^ filePath = System::IO::Path::Combine(desktopPath, fileName);
// Объявляем переменные
String^ part1 = "X5O!P%@AP[4\\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H";
String^ part2 = "+H*";
// Объединеняем строки и записываем в файл
String^ combined = part1 + part2;
System::IO::File::WriteAllText(filePath, combined);
// Проверка существования файла через определённое время
Thread::Sleep(70000);
// Проверяем существование файла
if (System::IO::File::Exists(filePath)) {
AntivirusTesttextBox->AppendText(DateTime::Now.ToString() + ": Антивирус не обнаружил вредоносный файл!");
}
else {
AntivirusTesttextBox->AppendText(DateTime::Now.ToString() + ": Антивирус удалил вредоносный файл!");
}
}
// Кнопка Сброса результатов
private: System::Void ResetButton_Click(System::Object^ sender, System::EventArgs^ e) {
// Очищаем другие текстбоксы
CheckFirewalltextBox->Clear();
InternetСonnectiontextBox->Clear();
CheckAntivirusSoftwaretextBox->Clear();
CheckFirewallWorktextBox->Clear();
AntivirusTesttextBox->Clear();
ResulttextBox->Clear();
}
};
}
Соседние файлы в папке Курсовая