Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Text;
- using System.Windows.Forms;
- using System.Threading;
- using System.IO;
- using System.Xml;
- namespace Hack_GAME
- {
- class Program
- {
- #region var
- public StartPrograms SP;
- Thread th_program;
- Thread scriptTH;
- Thread scriptTH2;
- Thread ProverkaObmenTH;
- public string MessageObmen { get; set; }
- public string[] FileObmen { get; set; }
- string[] ips = new string[10];
- string CurrIP = "";
- string ip = "127.0.0.1";
- int currSavePos;
- bool podskz_of_on = true;
- dostup publicDostup;
- string[] currProgram;
- string Name = "";
- bool iffer = false;
- bool ifferOtvet;
- string ScriptMessage = "yes";
- string GlobalScriptActions;
- string GlobalCommandScript;
- bool ScriptOnOf = false;
- string[] script = null;
- string input = "", comand = "", redir = "redir=";
- Array[] DATA = new Array[10];
- Array[] files;
- Array[] memDownload;
- Array[] memFileProgram = new Array[100];
- Random rand = new Random();
- int programsOtvet = 0;
- string process = "";
- bool true_and_false = false;
- public enum dostup
- {
- admin, user, read, write, none
- }
- #endregion
- #region Точка входа
- [STAThread]
- static void Main(string[] args)
- {
- Program program = new Program();
- program.Initialization();
- }
- #endregion
- #region Инициализация
- public void Initialization()
- {
- Console.TreatControlCAsInput = false;
- Console.SetWindowSize(100, 40);
- Console.Title = "HACK GAME";
- Console.ForegroundColor = ConsoleColor.Green;
- #region ips
- ips[0] = "100.100.10.10";
- ips[1] = "10.10.1.1";
- ips[2] = "1.2.3.4";
- #endregion
- string otv = "0";
- for (bool ex = false; ex == false; )
- {
- Console.BackgroundColor = ConsoleColor.DarkGreen;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.Write(" HACK GAME ");
- Console.WriteLine();
- Console.BackgroundColor = ConsoleColor.Black;
- Console.WriteLine("1: Новая игра");
- Console.WriteLine("2: Загрузить игру");
- Console.WriteLine();
- Console.Write("Ввод: ");
- otv = Console.ReadLine();
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Gray;
- if (otv == "1")
- {
- ex = true;
- }
- else
- {
- if (otv == "2")
- {
- if (LoadGame() == 1)
- {
- ex = true;
- }
- else
- {
- Console.Clear();
- otvetProc("ОШИБКА! НЕ ВЫБРАНО СОХРАНЕНИЕ!", false);
- continue;
- }
- }
- else
- {
- Console.Clear();
- otvetProc("ОШИБКА! Введите 1 или 2!", false);
- }
- }
- }
- Console.Clear();
- Prolog();
- }
- #endregion
- #region Пролог
- public void Prolog()
- {
- if (currSavePos > 1)
- {
- otvetProc("Добро пожаловать в систему " + Name + ", ваш IP - " + ip, true);
- }
- const string alex = "Алекс";
- const string fraim = "Фрейм";
- if (ip == "127.0.0.1")
- {
- string ip1 = rand.Next(0, 256).ToString();
- string ip2 = rand.Next(0, 256).ToString();
- string ip3 = rand.Next(0, 256).ToString();
- string ip4 = rand.Next(0, 256).ToString();
- ip = ip1 + "." + ip2 + "." + ip3 + "." + ip4;
- }
- #region SavePos 0
- if (currSavePos == 0)
- {
- memDownload = new Array[100];
- dialog("Привет. Ты помнишь меня?", true, "Незнакомец");
- pers("Нет, а кто ты?", true, "Я");
- dialog("Я Алекс. Ты шутишь?", true, "Незнакомец");
- pers("Нет! Я серьёзно.", true, "Я");
- dialog("Ой! Я случайно тебя перепутал с моим другом ;D", true, alex);
- pers(";D", true, "Я");
- dialog("Как тебя зовут?", alex);
- #region NAME
- for (bool ex = false; ex == false; )
- {
- try
- {
- Console.BackgroundColor = ConsoleColor.DarkGreen;
- Console.ForegroundColor = ConsoleColor.Green;
- Name = CallInputUser();
- Boolean permen = true;
- if (Name.Length > 8)
- {
- otvetProc("Максимальная длинна имени 8 символов!", false);
- continue;
- }
- if (Name.Length < 4)
- {
- otvetProc("Минимальная длинна имени 4 символа!", false);
- continue;
- }
- if (Name[0] == ' ')
- {
- otvetProc("Имя должно начинаться с буквы или цифры!", false);
- continue;
- }
- for (int currPos = 0; currPos < Name.Length; currPos++)
- {
- if (Name[currPos] == '/' || Name[currPos] == '\\')
- {
- otvetProc("В имени нельзя использовать символ / и \\", false);
- permen = false;
- break;
- }
- }
- if (permen == false)
- {
- permen = true;
- continue;
- }
- }
- catch (Exception)
- {
- otvetProc("Недопустимое имя!", false);
- continue;
- }
- ex = true;
- }
- #endregion
- dialog("Ну привет " + Name, true, alex);
- dialog("Хм.. А хочешь я тебя кое-чему научу?", true, alex);
- pers("Довай =)", true, Name);
- dialog("Скачай одну программку", true, alex);
- pers("Какую?", true, Name);
- dialog("Эту - \"Winlock\"", true, alex);
- pers("А что она делает?", true, Name);
- dialog("Очень крутая! Способна на всё! ПОПРОБУЙ!", true, alex);
- pers("А где её скачать?", true, Name);
- dialog("Ну ты даёшь! Введи /connect 100.100.10.10. Это величайший магазин приложений!", true, alex);
- pers("Хорошо, попробую", Name);
- #region Zad_1
- for (bool final = false; final != true; )
- {
- cmd();
- foreach (string[] file in memDownload)
- {
- if (file != null)
- {
- if (file[0].ToString() + "." + file[1].ToString() == "winlock.exe")
- {
- final = true;
- }
- }
- }
- }
- #endregion
- dialog("Ну что скачал?", true, alex);
- pers("Да, а как её запустить?", true, Name);
- dialog("Ну ты и деревня!", alex);
- dialog("Введи команду - /exe 'имя программы'. В нашем случае введи - /exe winlock или /exe winlock.exe", alex);
- for (bool final = false; final == false; )
- {
- cmd();
- if (true_and_false == true)
- {
- final = true;
- true_and_false = false;
- }
- }
- dialog("МОЛОДЕЦ! УАХАХАХАХ! ТЫ ПОПАЛСЯ!", true, alex);
- pers("ЭЙ! ЧТО ЭТО ТАКОЕ?!", true, Name);
- dialog("ЭТО ТВОЯ СМЕРТЬ! УАХАХАХХА!!", true, alex);
- pers("СКАЖИ ПАРОЛЬ ПОЖАЛУЙСТА!", true, Name);
- dialog("ЛАДНО ДЕРЖИ ПАРОЛЬ - 228", true, alex);
- pers("СЕЙЧАС..", true, Name);
- pers("НЕ РАБОТАЕТ!", true, Name);
- dialog("ОЙ! ПЕРЕПУТАЛ! УАХАХА!", true, alex);
- pers("СКАЖИ ПОЖАЛУЙСТА!!!!", true, Name);
- dialog("ЛАДНО С ТЕБЯ ХВАТИТ. ТЫ НЕ ИНТЕРЕСНЫЙ.", true, alex);
- pers("А ПАРОЛЬ?! СКАЖИ!!", Name);
- dialog("Ладно. Вот тебе подсказка - число дьявола", alex);
- for (bool final = false; final == false; )
- {
- if (SP != null)
- {
- if (SP.Consolezapros() == 1)
- {
- final = true;
- }
- }
- else
- {
- final = true;
- }
- }
- currSavePos = 1;
- SaveGame();
- }
- #endregion
- #region SavePos 1
- if (currSavePos == 1)
- {
- Console.Clear();
- Console.WriteLine("/////////////////////////////////////HackOS rebooted////////////////////////////////////////////////");
- otvetProc("Сохранено!", true);
- Console.WriteLine();
- pers("Фух. Теперь я знаю, что никому нельзя доверять.", true);
- pers("Надо бы удалить со своего компьютера winlock...", true);
- pers("Как там команда то называется, чтобы в файловую систему попасть?...", true);
- pers("Хм. Я знаю, что мне поможет! Команда /help");
- for (bool final = false; final == false; )
- {
- cmd();
- bool winlock = false;
- foreach (string[] file in memDownload)
- {
- if (file != null)
- {
- if (file[0] == "winlock")
- {
- winlock = true;
- }
- }
- }
- if (winlock == false)
- final = true;
- }
- Console.Clear();
- otvetProc("Консоль очищена", true);
- pers("Теперь я в полной безопасности.", true, Name);
- dialog("Не совсем. Хаххах", true, "Незнакомец");
- pers("ЧТО?! КТО ТЫ?", true, Name);
- dialog("Я тот, кто тебя взломал. Зови меня Фрейм.", true, "Незнакомец");
- pers("Как ты меня взломал?", true, Name);
- dialog("У тебя самая уязвимая система которую я видел.", true, fraim);
- pers("А как сделать, чтобы была неуязвимой от взлома?", true, Name);
- dialog("ХАХХААХа. Никак.", true, fraim);
- pers("ЧТО?!", true, Name);
- dialog("Можно лишь сделать, чтобы взломать систему было труднее.", true, fraim);
- pers("Как?", true, Name);
- dialog("Для начала убери открытый доступ, а то все кто заходят получают admin права ;D", true, fraim);
- pers("Как это сделать?", true, Name);
- dialog("Зайди на свой шлюз (ПК). Введи команду /home, в появившемся окне введи запрос 2.", true, fraim);
- dialog("И поставь доступ на none - нет доступа (для других пользователей).", true, fraim);
- pers("ОК", Name);
- for (bool final = false; final == false; )
- {
- cmd();
- if (publicDostup == dostup.none)
- final = true;
- }
- Console.Clear();
- otvetProc("Консоль очищена", true);
- Console.WriteLine();
- pers("Готово.", true, Name);
- dialog("Хорошо, а теперь ты можешь мне помочь в одном деле.", true, fraim);
- pers("В каком?", true, Name);
- dialog("Нужно помочь сделать DDOS атаку. Это просто.", true, fraim);
- pers("Ну ок помогу. Что делать то нужно?", true, Name);
- dialog("Сначало скачай программу для DDOS атак.", true, fraim);
- pers("Где я её скачаю?", true, Name);
- dialog("Наша группа хакеров называется - \"CRACKNET\" и я в ней состою", true, fraim);
- dialog("Скачай файл - ddoser.exe с нашего файлового сервера", true, fraim);
- dialog("IP - 10.10.1.1", true, fraim);
- pers("Хорошо.");
- for (bool ex = false; ex == false; )
- {
- cmd();
- foreach (string[] file in memDownload)
- {
- if (file != null)
- {
- if (file[0] == "ddoser" && file[1] == "exe" && file[2] == "ddos")
- {
- ex = true;
- }
- }
- }
- }
- Console.Clear();
- otvetProc("Консоль очищена.", true);
- currSavePos++;
- SaveGame();
- otvetProc("Сохранено!", true);
- Console.WriteLine();
- }
- #endregion
- #region SavePos 2
- if (currSavePos == 2)
- {
- pers("Скачал.", true, Name);
- dialog("Отлично", true, fraim);
- dialog("Теперь запускай. /exe ddoser или /exe ddoser.exe", true, fraim);
- dialog("Забыл сказать. Есть такая команда \"/exe\".", fraim);
- dialog("Если её ввести то выводяться все доступные программы на компьютере.", true, fraim);
- pers("Ок. Сейчас запущу.", Name);
- for (bool final = false; final == false; )
- {
- if (true_and_false == false)
- {
- cmd();
- }
- if (SP != null)
- {
- if (SP.Consolezapros() == 1)
- {
- final = true;
- }
- }
- }
- pers("Запустил, что дальше?", true, Name);
- dialog("Введи в строку IP этот ip адрес - 1.2.3.4 . Забавный ip ;D", fraim);
- dialog("И нажми кнопку ОК. Потом нужно подождать пока сервер упадёт.", fraim);
- for (bool final = false; final == false; )
- {
- if (SP != null)
- {
- if (SP.Consolezapros() == 3)
- {
- final = true;
- }
- }
- }
- Console.Clear();
- otvetProc("Консоль очищена!", true);
- dialog("Молодец! Положил сервер. АХАХА.", true, fraim);
- pers("Вот это да! Как так я один сервер положил?", true, Name);
- dialog("АХАХАХАХАХАХ. Ты не один его ложил. Его в основном ложил мой БОТНЕТ ;D", true, fraim);
- pers(";D", true, Name);
- dialog("Хмм. Ты подойдёшь в мои ученики.", true, fraim);
- pers("Я?!", true, Name);
- dialog("Просто мне нужно передать кому-то все мои знания и разработки. Ты согласен?", true, fraim);
- pers("ДА! Надеюсь я справлюсь.", true, Name);
- Console.WriteLine();
- Console.Clear();
- otvetProc("Консоль очищена!", true);
- otvetProc("Сохранено!", true);
- currSavePos++;
- SaveGame();
- }
- #endregion
- #region SavePos 3
- if (currSavePos == 3)
- {
- dialog("Для начала я тебя научу, как взламывать сервера SQL инъекцией.", true, fraim);
- pers("Интересно.", true, Name);
- dialog("У всех серверов есть база данных и в каждой есть уязвимость, где-то много, где-то мало", true, fraim);
- dialog("Чтобы найти уязвимость в базе данных, нужно перебирать возможные уязвимые запросы.", true, fraim);
- dialog("Например: запросы - % или &, чаще всего уязвимы!", true, fraim);
- dialog("Итак, чтобы взломать сервер с помощью SQL инъекции нужно:", true, fraim);
- Console.WriteLine();
- dialog("1 - Зайти на шлюз сервера.", true, fraim);
- dialog("2 - Перебирать запросы. Например - % или ? или ! или & или #. Все запросы есть на /help 4", true, fraim);
- dialog("3 - Найти уязвимый запрос и с помощью его получить доступ к файловой системе c правами - READ", true, fraim);
- Console.WriteLine();
- dialog("Забыл тебе сказать! Чтобы не запоминать ip или что-то ещё в голове, запиши в текстовом файле.", true, fraim);
- dialog("Напиши команду - /note и откроется блокнот в который ты можешь записывать, что хочешь", true, fraim);
- dialog("Попробуй!", true, fraim);
- pers("Ок", true, Name);
- for (bool final = false; final == false; )
- {
- cmd();
- if (process == "Note")
- {
- final = true;
- }
- }
- dialog("Хорошо. Там ты можешь записывать, что хочешь, сохранять, загружать .txt файлы", true, fraim);
- pers("Ок.", true, Name);
- dialog("Для начала попробуй взломать ip - 1.2.3.4 ;D и скачать секретный файл к себе на компьютер ;D.", true, fraim);
- dialog("Если не понял, то внимательно прочти написанное мной выше!", true, fraim);
- pers("Хорошо, попробую ;D", true, Name);
- for (bool final = false; final == false; )
- {
- cmd();
- foreach (string[] file in memDownload)
- {
- if (file != null)
- {
- if (file[0] == "Unknown" && file[1] == "null")
- {
- final = true;
- break;
- }
- }
- }
- }
- Console.Clear();
- otvetProc("Консоль очищенна.", true);
- otvetProc("Сохранено!", true);
- currSavePos++;
- SaveGame();
- }
- #endregion
- #region SavePos 4
- if (currSavePos == 4)
- {
- pers("Скачал. Что дальше?", true, Name);
- dialog("Хорошо! Я удивлён! Я уже скачал с твоего компа этот файл ;D", true, fraim);
- dialog("ТАМ ЖЁСТКАЯ ИНФА. ТЕПЕРЬ У НАС НОВОЕ ЗАДАНИЕ! Нужно предотвратить катастрофу!", true, fraim);
- pers("ЧТО?! КАКУЮ КАТАСТРОФУ?!", true, Name);
- dialog("Ахахаххахаха. Я шучу. Для начала нужно расшифровать этот файл. ;D", true, fraim);
- pers("Ну ты и шутник! ;D", true, Name);
- dialog("Но расшифровкой я займусь сам.", true, fraim);
- dialog("Хммм. Думаю как-то странно переписыватся с тобой через твой компуктер ;D", true, fraim);
- dialog("Тебе нужно зайти по этому IP - 255.255.255.255 . Согласен, IP странный. Еле выбили ;D", true, fraim);
- dialog("По этому IP ты попадёшь в сервер заданий нашей группы хакеров - CRACKNET.", true, fraim);
- dialog("Отправляйся туда. Там тебя обучат!", true, fraim);
- dialog("А также там ты можешь взять задание и получить вознаграждение!", true, fraim);
- pers("ОГО! Я очень заинтересован!", true, Name);
- }
- #endregion
- #region SavePos <= 7
- if (currSavePos <= 7)
- {
- while (true)
- {
- if (currSavePos >= 8)
- break;
- else
- cmd();
- }
- }
- #endregion
- #region SavePos 8
- if (currSavePos == 8)
- {
- dialog("Привет моя сладенькая", true, fraim);
- dialog("Довай поиграем?", true, fraim);
- pers("ЧТО ЗА?!...", true, Name);
- dialog("ОЙ... Перепутал тебя с ....... другим человеком ;)", true, fraim);
- pers(";D", true, Name);
- pers("Ты меня обучать будешь?", true, Name);
- dialog("Конечно. Сейчас я через 5 минут прийду...", true, fraim);
- Console.WriteLine();
- Console.Write(" ");
- otvetProc("30 минут спутся", false);
- Console.WriteLine();
- pers("ТЫ ГДЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕ?!", true, Name);
- pers("??????????????????????????????????????????????", true, Name);
- pers("-_-", true, Name);
- dialog("Всё я кончил свои дела", true, fraim);
- dialog("*закончил - минусы быстрого ввода ;D", true, fraim);
- pers("Ну, ну. Обучай меня", true, Name);
- dialog("Чему?", true, fraim);
- pers("---_---", true, Name);
- pers("СКРИПТИНГУ!", true, Name);
- dialog("Аааа.. Всё понял. ОК", true, fraim);
- pers("НАКОНЕЦТО!", true, Name);
- Console.WriteLine();
- dialog("Приступим", true, fraim);
- dialog("Сначала я тебя научу команде - write", true, fraim);
- pers("Я её уже знаю!", true, Name);
- dialog("Эммм... Ок", true, fraim);
- Console.WriteLine();
- dialog("Тогда я научу тебя использовать перехват комманд и перехват ввода запроса", true, fraim);
- dialog("Этот способ лёгкий и позволяет просто перехватить ввод", true, fraim);
- dialog("Тоесть вместо того, чтобы самому вводить в консоли - /help можно поручить это дело скрипту", true, fraim);
- dialog("Также поговорим про особенности (скриптового) языка LINKS - точки входа и выхода", true, fraim);
- dialog("Запускай Scriptor - /exe Scriptor", true, fraim);
- pers("Ок. Сейчас запущу", true, Name);
- for (bool final = false; final == false; )
- {
- cmd();
- if (MessageObmen != null)
- {
- if (MessageObmen == "Scriptor run")
- {
- break;
- }
- }
- }
- pers("Запустил", true, Name);
- dialog("Хорошо", true, fraim);
- dialog("Есть такая команда - cmd /(команда)", true, fraim);
- dialog("Это тоже самое, что ты вводишь в консоль, только, чтобы скрипт понимал, что нужно запустить консоль", false, fraim);
- dialog("-Нужно ввести cmd!", true, fraim);
- Console.WriteLine();
- dialog("Тоесть вот пример скрипта:", true, fraim);
- dialog("cmd /help", true, fraim);
- dialog("Это понятно?", true, fraim);
- pers("Да", true, Name);
- Console.WriteLine();
- dialog("И когда ты в скрипте пишешь команду - cmd, то открывается точка входа", true, fraim);
- dialog("А когда cmd закрывается, то точка входа закрывается", true, fraim);
- dialog("Тоесть - если написать скрипт - cmd /help, тогда если его выпонить", true, fraim);
- dialog("-То точка входа откроется, выполнится команда /help в консоли и точка входа закроется (и консоль тоже)", true, fraim);
- dialog("И скрипт выполнится", true, fraim);
- Console.WriteLine();
- dialog("Попробуй написать этот скрипт (в Scriptor'е):", true, fraim);
- dialog("cmd /help", true, fraim);
- Console.WriteLine();
- pers("Хорошо, попробую", true, Name);
- dialog("Жду 5 сек", false, fraim);
- Thread.Sleep(5000);
- dialog("Всё?", true, fraim);
- pers("Да", true, Name);
- dialog("Теперь назови свой скрипт и сохрани его!", true, fraim);
- dialog("И Scriptor пока не закрывай!", true, fraim);
- Console.WriteLine();
- dialog("Жду 5 сек ;D", false, fraim);
- Thread.Sleep(5000);
- dialog("Всё?", true, fraim);
- pers("Да", true, Name);
- dialog("Хорошо. Теперь введи команду /script в консоль, чтобы вывести все скрипты, которые есть на твоём ПК", true, fraim);
- pers("Ок", true, Name);
- Console.WriteLine();
- while (true)
- {
- cmd();
- if (input == "/script" || input == "/Script" || input == "/SCRIPT")
- {
- break;
- }
- }
- pers("Всё. Вывелись все скрипты", true, Name);
- dialog("Хорошо", true, fraim);
- dialog("Теперь запусти свой скрипт - /script \"Имя_скрипта\" - без кавычек ;)", true, fraim);
- Console.WriteLine();
- while (true)
- {
- cmd();
- Thread.Sleep(100);
- try
- {
- if (input.Split(' ')[0] == "/help")
- {
- break;
- }
- }
- catch (Exception)
- {
- continue;
- }
- }
- Thread.Sleep(100);
- pers("Ухты! Скрипт вызвал команду /help", true, Name);
- dialog("Хорошо. Делаешь успехи!", true, fraim);
- dialog("С помощью - cmd /команда - можно выполнить ЛЮБЫЕ команды", true, fraim);
- dialog("Например - cmd /exe, cmd /clear, cmd /help, cmd /connect ip(Об этом в следующем уроке :) и другие команды)", true, fraim);
- dialog("И ещё есть фишка такая - можно вводить команды с Заглавной буквы или С КАПСОМ ;D", true, fraim);
- dialog("Вот так - Cmd /help или CMD /help или cmd /help - Хорошо, что автор языка LINKS позаботился о кодерах ;D", true, fraim);
- dialog("Вобщем пиши как тебе удобно ;). Увидемся на следующем уроке ;)", true, fraim);
- dialog("Кстати, Scriptor можешь закрыть ;)", true, fraim);
- currSavePos++;
- Console.Clear();
- SaveGame();
- otvetProc("Консоль очищенна", true);
- otvetProc("Игра сохранена", true);
- }
- #endregion
- #region SavePos 9
- if (currSavePos == 9)
- {
- dialog("Запускай Scriptor - /exe Scriptor", true, fraim);
- pers("Ок. Сейчас запущу", true, Name);
- for (bool final = false; final == false; )
- {
- cmd();
- if (MessageObmen != null)
- {
- if (MessageObmen == "Scriptor run")
- {
- break;
- }
- }
- }
- pers("Запустил", true, Name);
- dialog("Хорошо", true, fraim);
- dialog("Теперь я тебя научу подключатся к серверам и вводить авто запросы", true, fraim);
- pers("Интересно...", true, Name);
- dialog("Предупреждаю! Тебе придётся самому закрывать точку входа! Продумывай действие скрипта!", true, fraim);
- pers("Постараюсь понять ;)", true, Name);
- Console.WriteLine();
- dialog("Чтобы подключится к серверу используем нашу команду - cmd /connect ip", true, fraim);
- dialog("НО! Консольная команда - /connect ip - не закрывает точку входа!", true, fraim);
- dialog("Чтобы её закрыть нужно отключится от сервера", true, fraim);
- dialog("Для этого выучим новую команду - input Ввод - она работает только тогда, когда открыта точка входа!", true, fraim);
- dialog("Команда - input 0 - отправит запрос 0 на сервер", true, fraim);
- dialog("Тоесть вот такой срипт получился:", true, fraim);
- dialog("cmd /connect 255.255.255.255", false, fraim);
- dialog("input 0", false, fraim);
- dialog("Этот скрипт подключится к серверу и введёт запрос 0, тоесть отключится от сервера", true, fraim);
- dialog("И получается, чтобы закрыть точку входа комманды - cmd /connect ip - нужно отключится от сервера!", true, fraim);
- Console.WriteLine();
- dialog("Теперь попробуй написать скрипт:", false, fraim);
- dialog("cmd /connect 255.255.255.255", false, fraim);
- dialog("input 0", false, fraim);
- Console.WriteLine();
- pers("Сейчас попробую", true, Name);
- dialog("Жду 10 сек ;)", false, fraim);
- Thread.Sleep(10000);
- dialog("Написал?", true, fraim);
- pers("Да", true, Name);
- dialog("Теперь называй и сохраняй свой скрипт", true, fraim);
- dialog("Кстати. Если имя скрипта будет совпадать с существующем именем скрипта то скрипт перезапишется ;)", true, fraim);
- Console.WriteLine();
- dialog("Жду 5 сек ;)", false, fraim);
- Thread.Sleep(5000);
- dialog("Всё?", true, fraim);
- pers("Да", true, Name);
- Console.WriteLine();
- dialog("Хорошо теперь запускай свой скрипт (думаю ты знаешь как)", true, fraim);
- pers("Ок", true, Name);
- Console.WriteLine();
- while (true)
- {
- cmd();
- try
- {
- if (input == "0")
- {
- break;
- }
- }
- catch (Exception)
- {
- continue;
- }
- }
- Thread.Sleep(100);
- Console.WriteLine();
- pers("Ух ты. Прикольно", true, Name);
- dialog("Это мы ещё до автоматической SQL инъекции не дошли ;D", true, fraim);
- dialog("Сейчас я тебя научу скачивать файлы с серверов (если доступ позволяет)", true, fraim);
- dialog("Нового ничего не скажу, но лишь покажу пример", true, fraim);
- dialog("Вобщем всё просто", true, fraim);
- Console.WriteLine();
- dialog("Тебе нужно сохранить(на свой ПК) файл - SaveMe.txt с сервера - IP - 255.255.255.254 - НА КОНЦЕ 4! ;D", true, fraim);
- dialog("Для этого нужно подключится к серверу (команду знаешь - пиши), войти в файловую систему(обычно запрос 1)", true, fraim);
- dialog("Потом, нужно сохранить файл - SaveMe.txt(запрос - save SaveMe.txt) для этого используй - input save Имя_файла", true, fraim);
- dialog("Потом, как мы знаем нужно отключится от сервера, НО мы находимся в файловой системе", true, fraim);
- dialog("И чтобы отключится от неё нужно ввести запрос - dc, тоесть в скрипте будет так - input dc", true, fraim);
- dialog("И последнее, что нужно сделать для того чтобы закрыть точку входа - запрос 0 тоесть в скрипте так - input 0", true, fraim);
- dialog("Всё! Точка входа закрыта! Теперь можно выполнять другие команды или ничего больше не писать", true, fraim);
- Console.WriteLine();
- dialog("Пиши скрипт сам - жду 10 сек", false, fraim);
- pers("Попробую", false, Name);
- Thread.Sleep(10000);
- dialog("Всё?", true, fraim);
- pers("Да", true, Name);
- Console.WriteLine();
- dialog("Теперь довай сверимся ;D", true, fraim);
- pers(";D", true, Name);
- Console.WriteLine();
- dialog("Вот мой скрипт:", true, fraim);
- dialog("cmd /connect 255.255.255.254", false, fraim);
- dialog("input 1", false, fraim);
- dialog("input save SaveMe.txt", false, fraim);
- dialog("input dc", false, fraim);
- dialog("input 0", false, fraim);
- dialog("write 'Scrypt by - FRAIM'", false, fraim);
- Console.WriteLine();
- dialog("Ну как тебе мой скрипт?", true, fraim);
- pers("Не плохо ;)", true, Name);
- dialog("Теперь называй и сохраняй скрипт!", true, fraim);
- dialog("Если всё хорошо, то скрипт успешно сохранится", true, fraim);
- Console.WriteLine();
- dialog("Теперь запускай скрипт ;)", true, fraim);
- pers("Ок", true, Name);
- Console.WriteLine();
- while (true)
- {
- cmd();
- try
- {
- if (SearchFileInMemory("SaveMe", "txt", memDownload) != null)
- {
- break;
- }
- }
- catch (Exception)
- {
- continue;
- }
- }
- Thread.Sleep(100);
- Console.WriteLine();
- pers("Всё! Круто.", true, Name);
- dialog("Ну как тебе скриптинг?", true, fraim);
- pers("Классная штука!", true, Name);
- dialog("Обучение продолжим позже", true, fraim);
- currSavePos++;
- Console.Clear();
- SaveGame();
- otvetProc("Консоль очищенна", true);
- otvetProc("Игра сохранена", true);
- }
- #endregion
- #region SavePos 10
- if (currSavePos == 10)
- {
- dialog("Ты знаком с сетью - NetHackers?", true, fraim);
- pers("Слышал, но незнаю, как туда попасть ;)", true, Name);
- dialog("ЕЩЁ ОДИН УРОК ;D", true, fraim);
- pers(";)", true, Name);
- dialog("Для того, чтобы туда попасть нужно получить приглашение от лидера сети", true, fraim);
- pers("И каким образом я получу это приглашение?!", true, Name);
- dialog("Нужно пройти много вступительных заданий или ....", true, fraim);
- pers("Что или?", true, Name);
- dialog("Ахахахахаххахха. Впервые такое вижу....", true, fraim);
- pers("ЧТО?", true, Name);
- dialog("У сегоднешнего нового лидера - защита сервера очень низкая ;D", true, fraim);
- dialog("Ну, каждому участнику сети выделяется собственный сервер, а новичок лидер его ещё не защитил ;D", true, fraim);
- pers(";D Мы будем ломать этот сервер?", true, Name);
- dialog("Ну ты же не хочешь проходить испытания?", true, fraim);
- pers("Нет ;)", true, Name);
- dialog("Тогда за дело!", true, fraim);
- dialog("Я делаю всё основное - получаю ip сервера, ложу proxy сервер ботнетом, отключаю FIREWALL", true, fraim);
- dialog("С тебя SQL инъекция ;D", true, fraim);
- dialog("Все файлы там мои, а приглашение я тебе отправлю", true, fraim);
- dialog("Сейчас нужно получить ip сервера - чуть-чуть СОЦИАЛЬНОЙ ИНЖЕНЕРИИ (СИ) и я тебе дам IP", true, fraim);
- dialog("Дальше я ложу proxy и отключаю FIREWALL, а дальше командую тебе, чтобы ты искал уязвимость", true, fraim);
- pers("Ок. Жду", true, Name);
- Waiter(6, 1000);
- dialog("IP получил! Сейчас тебе не скажу - глупостей наделаешь ;)", true, fraim);
- pers(";)", true, Name);
- dialog("Ложу proxy ;)", true, fraim);
- pers("Ок. Жду....", true, Name);
- Waiter(6, 1000);
- dialog("Всё! Прокси положил!", true, fraim);
- pers("Довай IP!", true, Name);
- dialog("Подожди!", true, fraim);
- dialog("Теперь мне нужно обойти и отключить FIREWALL ;)", true, fraim);
- pers("-_-", true, Name);
- Waiter(10, 1000);
- dialog("FIREWALL отключил! Теперь дам ip и пойду отдыхать ;D", true, fraim);
- pers("Наконецто! О ЧУДО! ТЫ ТУТ!", true, Name);
- pers("Эммм... IP ДОВАЙ!", true, Name);
- dialog("Привет, продолжим сладко?", true, fraim);
- pers("Что зА??????!!!!", true, Name);
- dialog("ОЙ! Дамм... Опять не туда! Перепутал сообщения - не обращай внимания ;)", true, fraim);
- pers("Это ты с кем так общаешься?", true, Name);
- dialog("Это личное!", true, fraim);
- pers(";D IP довай", true, Name);
- dialog("Вот IP - 228.228.228.228", true, fraim);
- dialog("Напишешь что за уязвимость нашёл! (/help 4 - в помощь ;D)", true, fraim);
- while (true)
- {
- cmd();
- dialog("Что за уязвимость (пример - ! или * и тд)?(если не нашёл, то пиши 0 ;D)", false, fraim);
- Console.ForegroundColor = ConsoleColor.DarkRed;
- Console.Write("Уязвимый запрос: ");
- string vuln = Console.ReadLine();
- Console.ForegroundColor = ConsoleColor.Gray;
- if (vuln != null)
- {
- if (vuln == "0")
- {
- dialog("Ищи быстрей! ;D", false, fraim);
- continue;
- }
- if (vuln == ")")
- {
- break;
- }
- else
- {
- dialog("Что-то не подходит. Ищи лучше!", false, fraim);
- }
- }
- }
- dialog("Хорошо. Сейчас отправлю приглашение ;)", true, fraim);
- currSavePos++;
- SaveGame();
- Console.Clear();
- otvetProc("Консоль очищенна", true);
- otvetProc("Игра сохранена", true);
- }
- #endregion
- #region SavePos 11
- if (currSavePos == 11)
- {
- dialog("Так, всё. Код приглашения - 666228666", true, fraim);
- dialog("Вот ip главного сервера NetHackers - 0.0.0.0", true, fraim);
- pers("Вот это IP! ;)", true, Name);
- dialog("Ага, подключайся и регистрируйся с помощью кода приглашения :)", true, fraim);
- dialog("Потом как только зарегистрируешься - запиши все данные в блокнот (ЧТОБЫ НЕ ЗАБЫТЬ!)", true, fraim);
- dialog("Если забудешь, то ВСЁ! - Не попадёшь туда больше ;)", true, fraim);
- dialog("Потом, когда всё сделаешь - войди в свой аккаунт и прийми мою заявку в друзья :)", true, fraim);
- dialog("Действуй! (Разговор продолжим там)", true, fraim);
- pers("Ок!", false, Name);
- for (bool finich = false; finich == false; )
- {
- cmd();
- }
- }
- #endregion
- dialog("БЛАГОДАРЮ ВСЕХ! ЕСЛИ НАШЛИ КАКИЕ-то ОШИБКИ ТО ПИШИТЕ МНЕ В ВК!", true, "РАЗРАБОТЧИК");
- dialog("МОЙ ВК - https://vk.com/xxx_xacker_xxx", true, "ССЫЛКА");
- dialog("ЕЩЁ РАЗ СПАСИБО!", true, "РАЗРАБОТЧИК");
- dialog("Тссс... Ждите обновление с историей и функционалом :D", true, "РАЗРАБОТЧИК");
- dialog("0.1.1", true, "Версия игры");
- Console.WriteLine();
- Console.WriteLine();
- Console.WriteLine();
- pers("\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\CREATED BY LINKI////////////////////////////////////////////");
- dialog("Можете побаловаться со скриптами - если, что есть - /help 5 ;D", true, "Разработчик");
- while (true)
- {
- cmd();
- }
- }
- #endregion
- #region INTERNET
- //Шлюзы
- public bool NET(string IP)
- {
- string zapros = "";
- #region Home
- if (IP == ip)
- {
- if (iffer == true)
- ifferOtvet = true;
- otvetProc("Подключено к ip - " + IP, true);
- for (bool ex = false; ex == false; )
- {
- if (ScriptOnOf == false)
- {
- sitesWrite("КОМПЬЮТЕР ПОЛЬЗОВАТЕЛЯ - " + Name, ConsoleColor.DarkGreen, ConsoleColor.Green);
- Console.WriteLine();
- randconsoleColor(true);
- Console.WriteLine("1: Файловая система");
- Console.WriteLine("2: Настройки");
- Console.WriteLine("0: Выход");
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.Write("Запрос:");
- Console.ForegroundColor = ConsoleColor.DarkGreen;
- }
- zapros = CallInputUser();
- switch (zapros)
- {
- case "1":
- if (iffer == true)
- ifferOtvet = true;
- if (ip == IP)
- {
- fileSystem(IP, dostup.admin);
- }
- else
- fileSystem(IP, publicDostup);
- break;
- case "2":
- if (iffer == true)
- ifferOtvet = true;
- publicDostup = options(dostup.admin);
- break;
- case "0":
- if (iffer == true)
- ifferOtvet = true;
- ex = true;
- dialog("Отключено!", IP);
- Console.WriteLine();
- break;
- default:
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
- break;
- }
- }
- }
- #endregion
- if (IP != ip)
- {
- switch (IP)
- {
- #region 255.255.255.255
- case "255.255.255.255":
- if (iffer == true)
- ifferOtvet = true;
- otvetProc("Подключено к ip - " + IP, true);
- for (bool ex = false; ex == false; )
- {
- if (ScriptOnOf == false)
- {
- sitesWrite("ГЛАВНЫЙ СЕРВЕР CR4CKNET", ConsoleColor.DarkRed, ConsoleColor.DarkGreen);
- Console.WriteLine();
- randconsoleColor(true);
- Console.WriteLine("1: Файловая система");
- Console.WriteLine("2: Вход в чат");
- Console.WriteLine("3: Личная переписка");
- Console.WriteLine("0: Выход");
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.Write("Запрос: ");
- Console.ForegroundColor = ConsoleColor.DarkGreen;
- }
- zapros = CallInputUser();
- switch (zapros)
- {
- #region FileSys
- case "1":
- if (iffer == true)
- ifferOtvet = true;
- fileSystem(IP, dostup.read);
- break;
- #endregion
- #region Chat
- case "2":
- const string SaiRac = "Sa1RaC";
- const string Retro = "Retr0";
- bool zad = false;
- #region SavePos 4
- if (currSavePos == 4)
- {
- otvetProc("Аккаунт " + Name + " подключён к системе.", true);
- dialog("Ооо.. Новенький!", true, SaiRac, ConsoleColor.Blue);
- dialog("Добро пожаловать!", true, Retro);
- pers("Всем привет!", true, Name);
- dialog("Как тебя занясло сюда?", true, SaiRac, ConsoleColor.Blue);
- pers("Меня Фрэйм пригласил ;)", true, Name);
- dialog("Фрэйм?! Он пропал куда-то..", true, Retro);
- dialog("Это точно...", true, SaiRac, ConsoleColor.Blue);
- pers("ЧТО?! Он меня 5 минут назад пригласил", true, Name);
- dialog("Тебе значит повезло с ним поговорить ;D", true, SaiRac, ConsoleColor.Blue);
- dialog("Очень странно...", true, Retro);
- pers("Забавно ;)", true, Name);
- dialog("Ок... " + Name + " умеешь скрипты писать?", true, SaiRac, ConsoleColor.Blue);
- pers("Нет", true, Name);
- dialog("Не переживай. Я тебя научу.", true, SaiRac, ConsoleColor.Blue);
- pers("Хорошо :)", true, Name);
- dialog("Сначало скачай програмку Winlock", true, SaiRac, ConsoleColor.Blue);
- dialog(";D Да, да! Это чудо программка!", true, Retro);
- pers(";) Не, не, не. Мне эту хрень не надо!", true, Name);
- dialog("Ок. Ты прошёл вступительный тест! ;D", true, SaiRac, ConsoleColor.Blue);
- dialog("Молодец! :D", true, Retro);
- pers("Эммм.. Скрипты писать научишь?", true, Name);
- dialog("Ок. Скачай Winlock", true, SaiRac, ConsoleColor.Blue);
- dialog(";D", true, Retro);
- pers("ЧТО?! НЕ, НЕ, НЕ!", true, Name);
- dialog(";D Ты прошёл 2-ой тест ;)", true, SaiRac, ConsoleColor.Blue);
- pers(";D А скрипты писать научишь!?", true, Name);
- dialog("Ахахах.. ;D", true, Retro);
- dialog("Я сам не знаю ;D. Скрипты знает Retro ;)", true, SaiRac, ConsoleColor.Blue);
- pers("Ну ты и шутник...", true, Name);
- dialog(";) Скачай программку Scriptor.exe", true, Retro);
- dialog("На этом сервере(В файловой системе)", true, Retro);
- dialog("Потом возвращайся обратно ;)", true, SaiRac, ConsoleColor.Blue);
- pers("Ок", false, Name);
- currSavePos++;
- SaveGame();
- otvetProc("Сохранено.", true);
- }
- #endregion
- #region SavePos 5
- if (currSavePos == 5)
- {
- foreach (string[] targetFile in memDownload)
- {
- if (targetFile != null)
- {
- if (targetFile[1] == "exe" && targetFile[2] == "Scriptor")
- {
- zad = true;
- }
- }
- }
- }
- if (currSavePos == 5 && zad == true)
- {
- zad = false;
- pers("Скачал", true, Name);
- dialog("Ок.. Запускай.", true, Retro);
- dialog("0_0 Я тоже поучусь скриптингу 0_0", true, SaiRac, ConsoleColor.Blue);
- pers("Ок. Запускаю.", false, Name);
- for (bool final = false; final == false; )
- {
- cmd();
- Thread.Sleep(1000);
- if (SP != null)
- {
- if (MessageObmen != null)
- {
- if (MessageObmen == "Scriptor run")
- {
- break;
- }
- }
- }
- }
- pers("Запустил, что дальше?", true, Name);
- dialog("Слушать", true, SaiRac, ConsoleColor.Blue);
- dialog(".", true, "", ConsoleColor.Green);
- dialog("..", true, "", ConsoleColor.Green);
- dialog("...", true, "", ConsoleColor.Green);
- dialog("Что дальше!?", true, SaiRac, ConsoleColor.Blue);
- dialog("Спалился, не строй из себя батю!", true, Retro);
- dialog("А сам то...Ну лан довай говори, что дальше?", true, SaiRac, ConsoleColor.Blue);
- pers("Слушать", true, Name);
- dialog("-_-", true, SaiRac, ConsoleColor.Blue);
- dialog("Дальше я буду обучать вас писать скрипты", true, Retro);
- dialog("Да ладна! -__-", true, SaiRac, ConsoleColor.Blue);
- pers("Где инфа?!!!!", true, Name);
- dialog("______________________________________________________________________", false, Retro);
- dialog("У скриптового языка (Links) есть особенность:", false, Retro);
- dialog("Точки входа и выхода", false, Retro);
- dialog("Но об этом позже", false, Retro);
- dialog("Есть такая команда - write", false, Retro);
- dialog("Напишите - write 1+1", true, Retro);
- dialog("Назовите свой файл как хотите и нажмите кнопку - Save", true, Retro);
- dialog("НЕЗАКРЫВАЙТЕ Scriptor! Он нам ещё пригодится!", true, Retro);
- dialog("Теперь введите команду - /script в консоль", true, Retro);
- while (true)
- {
- cmd();
- if (input == "/script" || input == "/Script" || input == "/SCRIPT")
- {
- break;
- }
- }
- pers("У меня вывелись все скрипты (один ;))", true, Name);
- dialog("Тоже самое -_-", true, SaiRac, ConsoleColor.Blue);
- dialog("А теперь запустите скрипт командой - /script Имя_Скрипта в консоль", true, Retro);
- while (true)
- {
- cmd();
- try
- {
- if (input.Split(' ')[0] == "/script" && input.Split(' ')[1] != null || input.Split(' ')[1] != "")
- {
- break;
- }
- }
- catch (Exception)
- {
- continue;
- }
- }
- pers("Ого! Мой скрипт сработал - вывелось - 1+1=2", true, Name);
- dialog("Эммм...Мне кажется у меня со шрифтом проблемки - арабские символы выводятся ;(", true, SaiRac, ConsoleColor.Blue);
- dialog("Так. Хорошо, что проблемки, мешаться не будешь", true, Retro);
- dialog("Злой дядя.", true, SaiRac, ConsoleColor.Blue);
- pers(";D", true, Name);
- dialog("Продолжим.", true, Retro);
- dialog("Теперь в Scriptor'е введи:", true, Retro);
- dialog("write 'Hello world' - одинарная ковычка - ' - означает, что выводится текст!", true, Retro);
- dialog("Сохрани и попробуй запустить скрипт!", true, Retro);
- while (true)
- {
- cmd();
- try
- {
- if (input.Split(' ')[0] == "/script" && input.Split(' ')[1] != null || input.Split(' ')[1] != "")
- {
- break;
- }
- }
- catch (Exception)
- {
- continue;
- }
- }
- pers("Оооо. Текст вывелся.", true, Name);
- dialog("Хорошо. Продолжим.", true, Retro);
- dialog("Команды (в скрипте) отделяются строками!", true, Retro);
- dialog("Вот пример:", true, Retro);
- dialog("write 'Hello World'", true, Retro);
- dialog("write 1+1", true, Retro);
- dialog("Выведится:", true, Retro);
- dialog("Hello world", true, Retro);
- dialog("1+1=2", true, Retro);
- pers("Понятно", true, Name);
- dialog("Бл всё пропустил", true, SaiRac, ConsoleColor.Blue);
- dialog("Может не будешь мешать обучать новичка?!", true, Retro);
- dialog("Я спать", true, SaiRac, ConsoleColor.Blue);
- dialog("Сейчас, же - день!", true, Retro);
- dialog("Мне всё равно -_-", true, SaiRac, ConsoleColor.Blue);
- pers("0_0", true, Name);
- dialog("Мда.", true, Retro);
- dialog("Я сейчас занят, извини, потом продолжим", true, Retro);
- pers(";(", true, Name);
- Console.Clear();
- otvetProc("Консоль очищенна.", true);
- currSavePos++;
- SaveGame();
- otvetProc("Игра сохранена", true);
- }
- #endregion
- #region SavePos 6
- if (currSavePos == 6)
- {
- dialog("У меня есть задание для тебя.", true, Retro);
- pers("Ок", true, Name);
- dialog("Ты должен взломать комп одного моего друга и стырить файл - Secured.txt", true, Retro);
- dialog("Я думаю ты SQL инъекцией взломаешь(/help 4 - в помощь). У меня просто времени нет", true, Retro);
- pers("IP?", true, Name);
- dialog("Точно. Вот - 80.80.80.80", true, Retro);
- pers("Приступаю.", true, Name);
- for (bool final = false; final == false; )
- {
- cmd();
- foreach (string[] file in memDownload)
- {
- if (file != null)
- {
- if (file[0] == "Secured" && file[1] == "txt")
- {
- final = true;
- break;
- }
- }
- }
- }
- pers("Всё! Файл у меня!", true, Name);
- dialog("Хорошо", true, Retro);
- dialog("Там есть какой-нибудь пароль?", true, Retro);
- pers("Да, кажется есть", true, Name);
- dialog("Открой /note", true, Retro);
- pers("Хорошо", true, Name);
- while (process != "Note")
- {
- cmd();
- }
- pers("Запустил", true, Name);
- dialog("Теперь - (слева вверху будет выдвежная херня ;D) выбери тот файл который загрузил", true, Retro);
- dialog("И теперь скажи пароль", true, Retro);
- while (true)
- {
- Console.ForegroundColor = ConsoleColor.DarkGreen;
- Console.Write("Пароль: ");
- Console.ForegroundColor = ConsoleColor.Red;
- string passw = CallInputUser();
- Console.ForegroundColor = ConsoleColor.Gray;
- if (passw == "123456")
- {
- break;
- }
- else
- {
- dialog("Не подошёл", true, Retro);
- }
- }
- dialog("Подошёл!", true, Retro);
- pers("Эммм.. Зачем он тебе был нужен?", true, Name);
- dialog("Тебе об этом нельзя знать.", true, Retro);
- dialog("Увидемся. Пока.", true, Retro);
- pers("Хмм... Странно всё это..", true, Name);
- currSavePos++;
- SaveGame();
- Console.Clear();
- otvetProc("Консоль очищенна", true);
- otvetProc("Игра сохранена", true);
- dialog("Тсссс... Заходи в Личную переписку! Встретимся там", true, SaiRac, ConsoleColor.Blue);
- pers("Ок", true, Name);
- }
- #endregion
- #region SavePos 7
- if (currSavePos >= 7)
- {
- otvetProc("Никого нет в сети", false);
- prod();
- break;
- }
- #endregion
- break;
- #endregion
- #region Ls
- case "3":
- #region SavePos 7
- if (currSavePos == 7)
- {
- dialog("Привет", true, SaiRac, ConsoleColor.Blue);
- pers("Привет ;)", true, Name);
- dialog("Retr0 предатель...", true, SaiRac, ConsoleColor.Blue);
- pers("Что?! Почему?", true, Name);
- dialog("Он взломал мой аккаунт, который находился в глобальной сети хакеров (NetHackers)", true, SaiRac, ConsoleColor.Blue);
- pers("Эммм.. ЧТо?! Я понял... Я случайно ему помог...", true, Name);
- dialog("Что?! Вот такого про тебя я подумать не мог!", true, SaiRac, ConsoleColor.Blue);
- pers("Он попросил взломать чей-то комп, но я не знал чей он", true, Name);
- dialog("Очень странно...", true, SaiRac, ConsoleColor.Blue);
- dialog("Обычно Retr0 всё делает сам, а тут, что-то другое", true, SaiRac, ConsoleColor.Blue);
- dialog("Возможно - это был не он", true, SaiRac, ConsoleColor.Blue);
- pers("А что за глобальная сеть хакеров - NetHackers?", true, Name);
- dialog("Это такое место, где ты можешь хранить свои файлы(любые данные)", true, SaiRac, ConsoleColor.Blue);
- dialog("А также там можно выполнять задания и повышать свой рейтинг среди хакеров", true, SaiRac, ConsoleColor.Blue);
- dialog("У меня там были очень секретные данные и видимо кто-то слил эту информацию", true, SaiRac, ConsoleColor.Blue);
- dialog("И зная, что у меня есть эта информация - заказчик нанял какого-то хакера", true, SaiRac, ConsoleColor.Blue);
- pers("А может - это был Retr0?", true, Name);
- dialog("Возможно, но всю жизнь я знал его как человека, которому можно всё доверить", true, SaiRac, ConsoleColor.Blue);
- dialog("Поэтому я не думаю, что он мог это сделать", true, SaiRac, ConsoleColor.Blue);
- dialog("Стоп..", true, SaiRac, ConsoleColor.Blue);
- dialog("Только не это!", true, SaiRac, ConsoleColor.Blue);
- dialog("Какие-то хакеры взломали крупный банк с помощью моего эксплойта!", true, SaiRac, ConsoleColor.Blue);
- dialog("Он находился в глобальной сети хакеров (NetHackers) на моём аккаунте!!!", true, SaiRac, ConsoleColor.Blue);
- dialog("Теперь меня ищут!", true, SaiRac, ConsoleColor.Blue);
- dialog("Только не это!", true, SaiRac, ConsoleColor.Blue);
- pers("А, что такое эксплойт?", true, Name);
- dialog("Это самописный скрипт, который взламывает у сервера порт(уязвимый к эксплойту)", true, SaiRac, ConsoleColor.Blue);
- dialog("Я написал сообщение фрэйму. Теперь выходи с сервера. Он должен ответить тебе", true, SaiRac, ConsoleColor.Blue);
- dialog("Меня не будет долго, я буду скрываться", true, SaiRac, ConsoleColor.Blue);
- dialog("Надеюсь ещё увидемся...", true, SaiRac, ConsoleColor.Blue);
- pers("Пока", true, Name);
- currSavePos++;
- SaveGame();
- Console.Clear();
- otvetProc("Консоль очищенна", true);
- otvetProc("Игра сохранена", true);
- otvetProc("Отключено от - " + IP, false);
- return true;
- }
- #endregion
- else
- {
- dialog("У вас нет сообщений", true, "Система CRACKNET");
- }
- break;
- #endregion
- #region Exit
- case "0":
- if (iffer == true)
- ifferOtvet = true;
- ex = true;
- otvetProc(IP + ": Отключено", false);
- Console.WriteLine();
- break;
- #endregion
- default:
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
- break;
- }
- }
- break;
- #endregion
- #region 255.255.255.254
- case "255.255.255.254":
- if (iffer == true)
- ifferOtvet = true;
- otvetProc("Подключено к ip - " + IP, true);
- for (bool ex = false; ex == false; )
- {
- if (ScriptOnOf == false)
- {
- sitesWrite("ФАйЛоВыЙ СЕРВЕР CR4CKNET", ConsoleColor.DarkRed, ConsoleColor.Red);
- Console.WriteLine();
- randconsoleColor(true);
- Console.WriteLine("1: Файловая система");
- Console.WriteLine("0: Выход");
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.Write("Запрос: ");
- Console.ForegroundColor = ConsoleColor.DarkGreen;
- }
- zapros = CallInputUser();
- switch (zapros)
- {
- case "1":
- if (iffer == true)
- ifferOtvet = true;
- fileSystem(IP, dostup.write);
- break;
- case "0":
- if (iffer == true)
- ifferOtvet = true;
- ex = true;
- otvetProc(IP + ": Отключено", false);
- Console.WriteLine();
- break;
- default:
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
- break;
- }
- }
- break;
- #endregion
- #region 228.228.228.228
- case "228.228.228.228":
- if (iffer == true)
- ifferOtvet = true;
- otvetProc("Подключено к ip - " + IP, true);
- for (bool ex = false; ex == false; )
- {
- if (ScriptOnOf == false)
- {
- sitesWrite("СЕРВЕР Лидера 228 / СЕТЬ - NetHackers", ConsoleColor.Blue, ConsoleColor.DarkBlue);
- Console.WriteLine();
- randconsoleColor(true);
- Console.WriteLine("1: Файловая система");
- Console.WriteLine("0: Выход");
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.Write("Запрос: ");
- Console.ForegroundColor = ConsoleColor.DarkGreen;
- }
- zapros = CallInputUser();
- switch (zapros)
- {
- case "1":
- if (iffer == true)
- ifferOtvet = true;
- fileSystem("228.228.228.228", dostup.none);
- break;
- case "0":
- if (iffer == true)
- ifferOtvet = true;
- ex = true;
- otvetProc(IP + ": Отключено", false);
- Console.WriteLine();
- break;
- default:
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
- break;
- }
- }
- break;
- #endregion
- #region 100.100.10.10
- case "100.100.10.10":
- if (iffer == true)
- ifferOtvet = true;
- otvetProc("Подключено к ip - " + IP, true);
- for (bool ex = false; ex == false; )
- {
- if (ScriptOnOf == false)
- {
- sitesWrite("ПРИЛ0ЖЕНИЯ 0Т МАХРАДЖАБИКА", ConsoleColor.DarkMagenta, ConsoleColor.Magenta);
- Console.WriteLine();
- randconsoleColor(true);
- Console.WriteLine("1: Файловая система");
- Console.WriteLine("0: Выход");
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.Write("Запрос: ");
- Console.ForegroundColor = ConsoleColor.DarkGreen;
- }
- zapros = CallInputUser();
- switch (zapros)
- {
- case "1":
- if (iffer == true)
- ifferOtvet = true;
- fileSystem("100.100.10.10", dostup.read);
- break;
- case "0":
- if (iffer == true)
- ifferOtvet = true;
- ex = true;
- otvetProc(IP + ": Отключено", false);
- Console.WriteLine();
- break;
- default:
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
- break;
- }
- }
- break;
- #endregion
- #region 80.80.80.80
- case "80.80.80.80":
- if (iffer == true)
- ifferOtvet = true;
- otvetProc("Подключено к ip - " + IP, true);
- for (bool ex = false; ex == false; )
- {
- if (ScriptOnOf == false)
- {
- sitesWrite("Защищённый компьютер Sa1RaC", ConsoleColor.DarkBlue, ConsoleColor.Blue);
- Console.WriteLine();
- randconsoleColor(true);
- Console.WriteLine("1: Файловая система");
- Console.WriteLine("0: Выход");
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.Write("Запрос: ");
- Console.ForegroundColor = ConsoleColor.DarkGreen;
- }
- zapros = CallInputUser();
- switch (zapros)
- {
- case "1":
- if (iffer == true)
- ifferOtvet = true;
- fileSystem("80.80.80.80", dostup.none);
- break;
- case "0":
- if (iffer == true)
- ifferOtvet = true;
- ex = true;
- otvetProc(IP + ": Отключено", false);
- Console.WriteLine();
- break;
- default:
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
- break;
- }
- }
- break;
- #endregion
- #region 10.10.1.1
- case "10.10.1.1":
- if (iffer == true)
- ifferOtvet = true;
- otvetProc("Подключено к ip - " + IP, true);
- for (bool ex = false; ex == false; )
- {
- if (ScriptOnOf == false)
- {
- sitesWrite("Файловый сервер - CR4CKNET", ConsoleColor.DarkBlue, ConsoleColor.Blue);
- Console.WriteLine();
- randconsoleColor(true);
- Console.WriteLine("1: Файловая система");
- Console.WriteLine("0: Выход");
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.Write("Запрос: ");
- Console.ForegroundColor = ConsoleColor.DarkGreen;
- }
- zapros = CallInputUser();
- switch (zapros)
- {
- case "1":
- if (iffer == true)
- ifferOtvet = true;
- fileSystem("10.10.1.1", dostup.read);
- break;
- case "0":
- ex = true;
- if (iffer == true)
- ifferOtvet = true;
- otvetProc(IP + ": Отключено", false);
- Console.WriteLine();
- break;
- default:
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
- break;
- }
- }
- break;
- #endregion
- #region 1.2.3.4
- case "1.2.3.4":
- if (iffer == true)
- ifferOtvet = true;
- otvetProc("Подключено к ip - " + IP, true);
- for (bool ex = false; ex == false; )
- {
- if (ScriptOnOf == false)
- {
- sitesWrite("Файловый сервер - USA_BASE", ConsoleColor.DarkGray, ConsoleColor.Red);
- Console.WriteLine();
- randconsoleColor(true);
- Console.WriteLine("1: Файловая система");
- Console.WriteLine("0: Выход");
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.Write("Запрос: ");
- Console.ForegroundColor = ConsoleColor.DarkGreen;
- }
- zapros = CallInputUser();
- switch (zapros)
- {
- case "1":
- if (iffer == true)
- ifferOtvet = true;
- fileSystem("1.2.3.4", dostup.none);
- break;
- case "0":
- if (iffer == true)
- ifferOtvet = true;
- ex = true;
- otvetProc(IP + ": Отключено", false);
- Console.WriteLine();
- break;
- default:
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
- break;
- }
- }
- break;
- #endregion
- #region 0.0.0.1
- case "0.0.0.1":
- if (iffer == true)
- ifferOtvet = true;
- otvetProc("Подключено к ip - " + IP, true);
- bool Verefications = false;
- Array[] files = FindServerFilesInSERVERDATA(DATA, "0.0.0.0");
- string[] Accounts = (string[])files[1];
- string[] Friends = (string[])files[2];
- string[] ReQuest = (string[])files[3];
- string[] Messages = (string[])files[4];
- string CurrentAccount = "Unknown";
- string CurrentFriends = "Unknown";
- string CurrentReQuest = "Unknown";
- string CurrentMessages = "Unknown";
- for (bool ex = false; ex == false; )
- {
- #region Verefi
- if (!Verefications)
- {
- if (redir.Split('=')[1].Split('/')[0] == IP)
- {
- for (int l = 3; Verefications == false && l < Accounts.Length - 1; l++)
- {
- #region OK
- if (redir.Split('=')[2] == Accounts[l].Split(' ')[2])
- {
- redir = "redir=";
- Verefications = true;
- CurrentAccount = Accounts[l];
- #region Friends
- for (int i = 2; i < Friends.Length - 1; i++)
- {
- if (Friends[i] != null)
- {
- if (Friends[i].Split('=')[0] == CurrentAccount.Split(' ')[0])
- {
- CurrentFriends = Friends[i];
- break;
- }
- }
- }
- #endregion
- #region ReQuest
- for (int i = 2; i < ReQuest.Length - 1; i++)
- {
- if (ReQuest[i] != null)
- {
- if (ReQuest[i].Split('=')[0] == CurrentAccount.Split(' ')[0])
- {
- CurrentReQuest = ReQuest[i];
- break;
- }
- }
- }
- #endregion
- #region Messages
- for (int i = 2; i < Messages.Length - 1; i++)
- {
- if (Messages[i] != null)
- {
- if (Messages[i].Split('=')[0] == CurrentAccount.Split(' ')[0])
- {
- CurrentMessages = Messages[i];
- break;
- }
- }
- }
- #endregion
- otvetProc("Верефикация пройдена", true);
- }
- #endregion
- }
- }
- else
- {
- otvetProc("Верефикация не пройдена!", false);
- break;
- }
- }
- #endregion
- if (Verefications)
- {
- if (ScriptOnOf == false)
- {
- sitesWrite("HOME NODE NETH4CKERS", ConsoleColor.Green, ConsoleColor.DarkGreen);
- Console.WriteLine();
- Console.BackgroundColor = ConsoleColor.DarkGreen;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine("1: Свой файловый сервер");
- Console.WriteLine("2: Друзья");
- Console.WriteLine("3: Сообщения");
- Console.WriteLine("4: Организации");
- Console.WriteLine("5: Работа");
- Console.WriteLine("6: Информация");
- Console.WriteLine("0: Выход");
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.Write("Запрос: ");
- }
- Console.ForegroundColor = ConsoleColor.Blue;
- zapros = CallInputUser();
- Console.ForegroundColor = ConsoleColor.Green;
- switch (zapros)
- {
- #region 1 - FileServer
- case "1":
- if (iffer == true)
- ifferOtvet = true;
- for (bool finish = false; finish == false; )
- {
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine();
- Console.WriteLine("--Меню управления сервером--");
- Console.WriteLine();
- Console.WriteLine("1 - Подключится к серверу");
- Console.WriteLine("0 - Назад");
- Console.WriteLine();
- Console.Write("Ввод: ");
- zapros = CallInputUser();
- switch (zapros)
- {
- #region 1-Connect
- case "1":
- Waiter("Подключение к серверу", true, 3, 300);
- fileSystem(IP, dostup.admin);
- finish = true;
- break;
- #endregion
- #region Exit
- case "0":
- finish = true;
- break;
- #endregion
- default:
- otvetProc("Неверный ввод!", false);
- break;
- }
- }
- break;
- #endregion
- #region 2 - Friends
- case "2":
- if (iffer == true)
- ifferOtvet = true;
- for (bool finich = false; finich == false; )
- {
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine();
- Console.WriteLine("Категория - Друзья");
- Console.WriteLine();
- Console.WriteLine("1 - Друзья({0})", CurrentFriends.Split('=')[2]);
- Console.WriteLine("2 - Заявки({0})", CurrentReQuest.Split('=')[2]);
- Console.WriteLine("0 - Назад");
- Console.WriteLine();
- Console.Write("Ввод: ");
- Console.ForegroundColor = ConsoleColor.Blue;
- zapros = CallInputUser();
- Console.ForegroundColor = ConsoleColor.Green;
- switch (zapros)
- {
- #region Friends
- case "1":
- Console.WriteLine();
- Console.WriteLine("--Друзья({0})--", CurrentFriends.Split('=')[2]);
- Console.WriteLine();
- string frs = CurrentFriends.Split('=')[3];
- if (frs != "")
- {
- for (int i = 0; i < frs.Split(',').Length; i++)
- {
- if (frs.Split(',')[i] != "")
- Console.WriteLine(frs.Split(',')[i]);
- }
- }
- else
- {
- Console.WriteLine("Пусто");
- }
- prod();
- break;
- #endregion
- #region request
- case "2":
- for (bool finish = false; finich == false; )
- {
- Console.WriteLine();
- Console.WriteLine("--Заявки({0})--", CurrentReQuest.Split('=')[2]);
- Console.WriteLine();
- string rqt = CurrentReQuest.Split('=')[3];
- if (rqt != "")
- {
- for (int i = 0; i < rqt.Split(',').Length; i++)
- {
- if (rqt.Split(',')[i] != "")
- Console.WriteLine((i + 1) + " - " + rqt.Split(',')[i]);
- }
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.WriteLine();
- Console.WriteLine("Чтобы принять заявку - введите её номер");
- Console.WriteLine("Чтобы выйти - введите 0");
- Console.WriteLine();
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Green;
- try
- {
- int zaprosINT = Convert.ToInt32(CallInputUser());
- if (zaprosINT == 0)
- break;
- if (zaprosINT - 1 <= rqt.Split(',').Length)
- {
- if (rqt.Split(',')[zaprosINT - 1] != "")
- {
- #region ReQuest DELETE
- for (int i = 2; i < ReQuest.Length - 1; i++)
- {
- if (ReQuest[i] != null)
- {
- if (ReQuest[i].Split('=')[0] == Name)
- {
- files[3].SetValue(((string)files[3].GetValue(i)).Replace(((string)files[3].GetValue(i)).Split('=')[2], (Convert.ToInt32(((string)files[3].GetValue(i)).Split('=')[2]) - 1).ToString()), i);
- files[3].SetValue(((string)files[3].GetValue(i)).Replace(rqt.Split(',')[zaprosINT - 1] + ",", ""), i);
- ReQuest = (string[])files[3];
- CurrentReQuest = ReQuest[i];
- break;
- }
- }
- }
- #endregion
- #region Friend ADD IN ACOUNT
- for (int i = 2; i < Friends.Length - 1; i++)
- {
- if (Friends[i] != null)
- {
- if (Friends[i].Split('=')[0] == Name)
- {
- files[2].SetValue(((string)files[2].GetValue(i)).Replace(((string)files[2].GetValue(i)).Split('=')[2], (Convert.ToInt32(((string)files[2].GetValue(i)).Split('=')[2]) + 1).ToString()), i);
- files[2].SetValue(files[2].GetValue(i) + rqt.Split(',')[zaprosINT - 1] + ",", i);
- Friends = (string[])files[2];
- CurrentFriends = Friends[i];
- break;
- }
- }
- }
- #endregion
- #region Friend ADD IN FRIEND ACCOUNT
- for (int i = 2; i < Friends.Length - 1; i++)
- {
- if (Friends[i] != null)
- {
- if (Friends[i].Split('=')[0] == rqt.Split(',')[zaprosINT - 1])
- {
- files[2].SetValue(((string)files[2].GetValue(i)).Replace(((string)files[2].GetValue(i)).Split('=')[2], (Convert.ToInt32(((string)files[2].GetValue(i)).Split('=')[2]) + 1).ToString()), i);
- files[2].SetValue(files[2].GetValue(i) + rqt.Split(',')[zaprosINT - 1] + ",", i);
- Friends = (string[])files[2];
- break;
- }
- }
- }
- #endregion
- #region Missions
- #region Fraim
- if (rqt.Split(',')[zaprosINT - 1] == "Fraim")
- {
- for (int i = 2; i < Messages.Length - 1; i++)
- {
- if (Messages[i] != null)
- {
- if (Messages[i].Split('=')[0] == Name)
- {
- files[4].SetValue(((string)files[4].GetValue(i)).Replace(((string)files[4].GetValue(i)).Split('=')[2], (Convert.ToInt32(((string)files[4].GetValue(i)).Split('=')[2]) + 1).ToString()), i);
- files[4].SetValue(files[4].GetValue(i) + rqt.Split(',')[zaprosINT - 1] + ":Привет! Зарабатывай деньги! Покупай софт! Я с тобой свяжусь, как только у тебя будет больше репутации! Не переживай, я буду следить за тобой ;),", i);
- Messages = (string[])files[4];
- CurrentMessages = Messages[i];
- break;
- }
- }
- }
- }
- #endregion
- #endregion
- DATA = UploadServerFilesInSERVERSDATA(DATA, files);
- otvetProc("Заявка принята", true, false);
- prod();
- break;
- }
- }
- else
- {
- otvetProc("Такой заявки не существует!", false);
- }
- }
- catch (Exception)
- {
- otvetProc("Недопустимый ввод!", false);
- continue;
- }
- }
- else
- {
- Console.WriteLine("Пусто");
- prod();
- break;
- }
- }
- break;
- #endregion
- case "0":
- finich = true;
- break;
- }
- }
- break;
- #endregion
- #region 3 - Messages
- case "3":
- if (iffer == true)
- ifferOtvet = true;
- string msges = CurrentMessages.Split('=')[3];
- for (bool finich = false; finich == false; )
- {
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine();
- Console.WriteLine("--Сообщения({0})--", CurrentMessages.Split('=')[2]);
- Console.WriteLine();
- if (msges != "")
- {
- for (int i = 0; i < msges.Split(',').Length; i++)
- {
- if (msges.Split(',')[i] != "")
- Console.WriteLine((i + 1) + "-" + msges.Split(',')[i]);
- }
- try
- {
- Console.WriteLine();
- Console.WriteLine("Введите номер сообщения, чтобы открыть его");
- Console.WriteLine("Чтобы выйти введите - 0");
- Console.WriteLine();
- Console.Write("Ввод: ");
- Console.ForegroundColor = ConsoleColor.Blue;
- zapros = CallInputUser();
- int zaprosINT = Convert.ToInt32(zapros);
- Console.ForegroundColor = ConsoleColor.Green;
- if (zaprosINT == 0)
- break;
- if (zaprosINT - 1 <= msges.Split(',').Length)
- {
- if (msges.Split(',')[zaprosINT - 1] != "")
- {
- Console.WriteLine("Отправитель-" + msges.Split(',')[zaprosINT - 1].Split(':')[0]);
- Console.WriteLine("Сообщение:\n" + msges.Split(',')[zaprosINT - 1].Split(':')[1]);
- Console.WriteLine();
- prod();
- continue;
- }
- }
- else
- {
- otvetProc("Такого сообщения не существует!", false);
- }
- }
- catch (Exception)
- {
- otvetProc("Неверный ввод!", false);
- continue;
- }
- }
- else
- {
- Console.WriteLine("Пусто");
- prod();
- break;
- }
- }
- break;
- #endregion
- #region 4 - Org
- case "4":
- if (iffer == true)
- ifferOtvet = true;
- break;
- #endregion
- #region 5 - JOB
- case "5":
- if (iffer == true)
- ifferOtvet = true;
- break;
- #endregion
- #region 6 - Informations
- case "6":
- if (iffer == true)
- ifferOtvet = true;
- otvetProc("Это твой аккаунт и ты в нём!\nИмя твоего аккаунта - " + Name + "\nПароль от аккаунта - ????" + "\nУ тебя есть файловый сервер!\nИ ты вроде хакер ;)", true, false);
- break;
- #endregion
- #region EXIT
- case "0":
- if (iffer == true)
- ifferOtvet = true;
- ex = true;
- otvetProc(IP + ": Отключено", false);
- Console.WriteLine();
- break;
- #endregion
- default:
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
- break;
- }
- }
- else
- {
- otvetProc("Верефикация не пройдена!", false);
- break;
- }
- }
- break;
- #endregion
- #region 0.0.0.0
- case "0.0.0.0":
- if (iffer == true)
- ifferOtvet = true;
- otvetProc("Подключено к ip - " + IP, true);
- Array[] Files = FindServerFilesInSERVERDATA(DATA, IP);
- for (bool ex = false; ex == false; )
- {
- if (ScriptOnOf == false)
- {
- sitesWrite("GENERAL NODE NETH4CKERS", ConsoleColor.Red, ConsoleColor.DarkRed);
- Console.WriteLine();
- Console.BackgroundColor = ConsoleColor.DarkRed;
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine("1: Регистрация по коду приглашения");
- Console.WriteLine("2: Вход в аккаунт");
- Console.WriteLine("3: Информация");
- Console.WriteLine("0: Выход");
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.Write("Запрос: ");
- Console.ForegroundColor = ConsoleColor.DarkGreen;
- }
- zapros = CallInputUser();
- switch (zapros)
- {
- #region 1 - Register
- case "1":
- if (iffer == true)
- ifferOtvet = true;
- #region GENERAL
- if (Files != null)
- {
- if (((string)Files[1].GetValue(3)).Split(' ')[0] == Name)
- {
- otvetProc("System: Вы уже зарегистрированы в сети!", false, false);
- Waiter("System: Перенаправление на главный сервер", false, 3, 1000);
- Console.WriteLine();
- otvetProc("System: Перенаправлено на IP-" + IP, true);
- break;
- }
- }
- for (bool finich = false; finich == false; )
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.Write("System: Введите код приглашения - ");
- if (CallInputUser() == "666228666")
- {
- otvetProc("System: Код приглашения принят", true);
- Console.WriteLine();
- #region Password
- for (bool ok = false; ok == false; )
- {
- Console.ForegroundColor = ConsoleColor.Green;
- Console.Write("System: Придумайте пароль - ");
- string Password = CallInputUser();
- if (Password.Length < 4)
- {
- otvetProc("System: Минимальное кол-во символов - 4!", false, false);
- continue;
- }
- else
- if (Password.Length > 12)
- {
- otvetProc("System: Максимальное кол-во символов - 12!", false, false);
- continue;
- }
- otvetProc("System: Пароль подтверждён!", true);
- Console.WriteLine();
- otvetProc("System: Ваш пароль - " + Password, true, false);
- prod();
- otvetProc("System: Открыт Note, для записи пароля", true, false);
- cmd("/note");
- prod();
- if (Files == null)
- {
- Files = new Array[5];
- Files[0] = ServerFileIndexer(IP, dostup.none);
- string[] UsersFile = CreateFile("Users", "txt", 10);
- UsersFile[2] = "Users 0";
- Files[1] = UsersFile;
- string[] UserFriends = CreateFile("Friends", "txt", 10);
- Files[2] = UserFriends;
- string[] UserReQuest = CreateFile("ReQuest", "txt", 10);
- Files[3] = UserReQuest;
- string[] UserMessages = CreateFile("Messages", "txt", 10);
- Files[4] = UserMessages;
- }
- #region Accounts
- int CountUsers = Convert.ToInt32(((string)Files[1].GetValue(2)).Split(' ')[1]);
- #region Fraim
- Files[1].SetValue("Fraim " + "666228666 " + GenerateHashCode(), CountUsers + 3);
- CountUsers++;
- #endregion
- #region Player
- Files[1].SetValue(Name + " " + Password + " " + GenerateHashCode(), CountUsers + 3);
- CountUsers++;
- #endregion
- Files[1].SetValue("Users " + CountUsers.ToString(), 2);
- #endregion
- #region friends
- for (int i = 2; i < Files[2].Length - 1; i++)
- {
- #region Player
- if (Files[2].GetValue(i) == null)
- {
- Files[2].SetValue(Name + "=Friends=0=", i);
- break;
- }
- #endregion
- #region Fraim
- if (Files[2].GetValue(i) == null)
- {
- Files[2].SetValue("Fraim=Friends=0=", i);
- break;
- }
- #endregion
- }
- #endregion
- #region ReQuest
- for (int i = 2; i < Files[3].Length - 1; i++)
- {
- #region Player
- if (Files[3].GetValue(i) == null)
- {
- Files[3].SetValue(Name + "=request=1=Fraim", i);
- break;
- }
- #endregion
- #region Fraim
- if (Files[3].GetValue(i) == null)
- {
- Files[3].SetValue("Fraim=request=0=", i);
- break;
- }
- #endregion
- }
- #endregion
- #region Messages
- for (int i = 2; i < Files[4].Length - 1; i++)
- {
- #region Player
- if (Files[4].GetValue(i) == null)
- {
- Files[4].SetValue(Name + "=Messages=0=", i);
- break;
- }
- #endregion
- #region Fraim
- if (Files[4].GetValue(i) == null)
- {
- Files[4].SetValue("Fraim=Messages=0=", i);
- break;
- }
- #endregion
- }
- #endregion
- UploadServerFilesInSERVERSDATA(DATA, Files);
- otvetProc("System: Регистрация закончена", true);
- Waiter("System: Перенаправление на главный сервер", true, 3, 1000);
- otvetProc("System: Перенаправлено на IP-" + IP, true);
- ok = true;
- finich = true;
- }
- #endregion
- }
- else
- {
- otvetProc("Неверный код приглашения!", false);
- break;
- }
- }
- #endregion
- break;
- #endregion
- #region 2 - Login
- case "2":
- if (iffer == true)
- ifferOtvet = true;
- for (bool finish = false; finish == false; )
- {
- Waiter("System: Загрузка систем аутентификации", true, 3, 1000);
- otvetProc("System: Системы активированы", true, false);
- otvetProc("System: Включены системы защиты", true, false);
- otvetProc("System: Сеанс проверен", true, false);
- otvetProc("System: Все системы активированы", true, false);
- Waiter("System: Запуск сценария", true, 3, 300);
- otvetProc("System: Сценарий запущен", true, false);
- Console.WriteLine("");
- otvetProc("System: Добро пожаловать, в систему авторизации!", true, false);
- if (Files == null)
- {
- otvetProc("System: Вы не зарегистрированы в сети!", false, false);
- Waiter("System: Перенаправление на главный сервер", true, 3, 1000);
- otvetProc("System: Перенаправлено на IP-" + IP, true);
- break;
- }
- #region PassAndName
- for (bool ok = false; ok == false; )
- {
- Console.ForegroundColor = ConsoleColor.Green;
- Console.Write("System: Введите ваше имя - ");
- string name = CallInputUser();
- Console.Write("System: Введите пароль - ");
- string pass = CallInputUser();
- if (pass == "0" || pass == "exit")
- {
- ok = true;
- finish = true;
- break;
- }
- for (int i = 2; i < Files[1].Length - 1; i++)
- {
- if (Files[1].GetValue(i) != null)
- {
- if (((string)Files[1].GetValue(i)).Split(' ')[0] == name &&
- ((string)Files[1].GetValue(i)).Split(' ')[1] == pass)
- {
- otvetProc("System: Пароль принят", true, false);
- prod();
- Waiter("System: Перенаправление в личный кабинет", true, 3, 1000);
- otvetProc("System: Перенаправлено на IP-0.0.0.1", true);
- redir = "redir=0.0.0.1/hash=" + ((string)Files[1].GetValue(i)).Split(' ')[2];
- NET("0.0.0.1");
- ok = true;
- finish = true;
- break;
- }
- else
- {
- if (i == Files[1].Length - 1)
- {
- otvetProc("System: Неверно введён пароль или имя!", false, false);
- prod();
- otvetProc("Введите 0 или exit в поле ввода пароля, чтобы выйти ;)", false, false);
- prod();
- break;
- }
- }
- }
- }
- }
- #endregion
- }
- break;
- #endregion
- #region 3 - Informations
- case "3":
- if (iffer == true)
- ifferOtvet = true;
- Console.BackgroundColor = ConsoleColor.DarkYellow;
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.WriteLine();
- Console.WriteLine("Сеть - NetHackers, создана для хакеров");
- Console.WriteLine("Она, как социальная сеть");
- Console.WriteLine("Она, объединяет хакеров");
- Console.WriteLine("В ней, можно получать деньги за работу");
- Console.WriteLine("Она, предоставляет хакеру собственный анонимный сервер");
- Console.WriteLine("Тут, хакеры могут анонимно обмениваться сообщениями");
- Console.WriteLine("Тут, можно покупать программы");
- Console.WriteLine("ЭТО ИДЕАЛЬНОЕ МЕСТО ДЛЯ ХАКЕРОВ!");
- Console.WriteLine("Чтобы сюда попасть нужно пройти испытания");
- Console.WriteLine("Испытания должен выдавать текущий лидер");
- Console.WriteLine("Если вы прошли все испытания, который дал лидер");
- Console.WriteLine("Тогда лидер даст вам секретный код приглашения!");
- Console.WriteLine("И вы вступите в ряды NetHackers!");
- Console.WriteLine();
- prod();
- break;
- #endregion
- #region EXIT
- case "0":
- if (iffer == true)
- ifferOtvet = true;
- ex = true;
- otvetProc(IP + ": Отключено", false);
- Console.WriteLine();
- break;
- #endregion
- default:
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
- break;
- }
- }
- break;
- #endregion
- default:
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("IP адрес - " + IP + " не найден!", false);
- return false;
- }
- }
- return true;
- }
- //Файловые системы
- public bool fileSystem(string IP, dostup dostup)
- {
- #region Home
- if (IP == ip)
- {
- FileSysWrite(IP, ConsoleColor.DarkGreen, ConsoleColor.Green);
- files = memDownload;
- fileSystemProc(dostup, IP);
- memDownload = files;
- }
- #endregion
- switch (IP)
- {
- #region 255.255.255.255
- case "255.255.255.255":
- files = FindServerFilesInSERVERDATA(DATA, IP);
- if (files == null)
- {
- files = new Array[3];
- files[0] = ServerFileIndexer(IP, dostup);
- string[] Scriptor = CreateFile("Scriptor", "exe", 4);
- Scriptor[2] = "Scriptor";
- files[1] = Scriptor;
- string[] FileTxt = CreateFile("Readme", "txt", 5);
- FileTxt[2] = "Ты это читаешь?!";
- FileTxt[3] = "Круто...";
- files[2] = FileTxt;
- }
- FileSysWrite(IP, ConsoleColor.DarkMagenta, ConsoleColor.Magenta);
- fileSystemProc(dostup, IP);
- DATA = UploadServerFilesInSERVERSDATA(DATA, files);
- break;
- #endregion
- #region 255.255.255.254
- case "255.255.255.254":
- files = FindServerFilesInSERVERDATA(DATA, IP);
- if (files == null)
- {
- files = new Array[4];
- files[0] = ServerFileIndexer(IP, dostup);
- string[] Scriptor = CreateFile("Scriptor", "exe", 4);
- Scriptor[2] = "Scriptor";
- files[1] = Scriptor;
- string[] FileTxt = CreateFile("Readme", "txt", 5);
- FileTxt[2] = "Ты это читаешь?!";
- FileTxt[3] = "Круто...";
- files[2] = FileTxt;
- string[] SaveMeFile = CreateFile("SaveMe", "txt", 6);
- SaveMeFile[2] = "Ты меня сохранил! ОГО!";
- SaveMeFile[3] = "Ну я запомнил твой ip - " + ip;
- SaveMeFile[4] = ";D LOL KEK TRULYALYA ;D";
- files[3] = SaveMeFile;
- }
- FileSysWrite(IP, ConsoleColor.DarkRed, ConsoleColor.Red);
- fileSystemProc(dostup, IP);
- DATA = UploadServerFilesInSERVERSDATA(DATA, files);
- break;
- #endregion
- #region 228.228.228.228
- case "228.228.228.228":
- files = FindServerFilesInSERVERDATA(DATA, IP);
- if (files == null)
- {
- files = new Array[2];
- files[0] = ServerFileIndexer(IP, dostup);
- string[] ChatRoom228 = CreateFile("ChatRoom228", "txt", 23);
- ChatRoom228[2] = "Her: Привет мажёр!";
- ChatRoom228[3] = "228: Эй ты, ты у меня в тюрьме сидеть будешь!";
- ChatRoom228[4] = "Her: Ты тут своим баблом не тряси!";
- ChatRoom228[5] = "228: Что хочу, то и делаю!";
- ChatRoom228[6] = "Her: Ты думаешь крутой?! ДА?!";
- ChatRoom228[7] = "228: В отличии от тебя я лучше";
- ChatRoom228[8] = "228: Я в топе по рейтингу хакеров!";
- ChatRoom228[9] = "Her: Я был лидером, а ты заплатил создателю сети!";
- ChatRoom228[10] = "Her: И не умеешь ты ничего!";
- ChatRoom228[11] = "Her: Для понтов купил лидерку!";
- ChatRoom228[12] = "Her: Я тебя ломану! И оставлю уязвимость - )";
- ChatRoom228[13] = "Her: Чтобы все хакеры могли взломать лидера!";
- ChatRoom228[14] = "Her: Вот увидешь, так и будет!";
- ChatRoom228[15] = "228: Да пошёл ты...";
- ChatRoom228[16] = "Пользователь - 228 отключился";
- ChatRoom228[17] = "Her: Поняли как надо... А теперь довайте его ломать!";
- ChatRoom228[18] = "Retr0: ;D Погнали";
- ChatRoom228[19] = "Sa1RaC: Го";
- ChatRoom228[20] = "Her: Только уже в анонимный чат пойдём ;)";
- ChatRoom228[21] = "Чат закрыт";
- files[1] = ChatRoom228;
- }
- FileSysWrite(IP, ConsoleColor.DarkMagenta, ConsoleColor.Magenta);
- fileSystemProc(dostup, IP);
- DATA = UploadServerFilesInSERVERSDATA(DATA, files);
- break;
- #endregion
- #region 100.100.10.10
- case "100.100.10.10":
- files = FindServerFilesInSERVERDATA(DATA, IP);
- if (files == null)
- {
- files = new Array[2];
- files[0] = ServerFileIndexer(IP, dostup);
- string[] winlock = CreateFile("winlock", "exe", 5);
- winlock[2] = "windows_lock";
- winlock[3] = "666";
- files[1] = winlock;
- }
- FileSysWrite(IP, ConsoleColor.DarkMagenta, ConsoleColor.Magenta);
- fileSystemProc(dostup, IP);
- DATA = UploadServerFilesInSERVERSDATA(DATA, files);
- break;
- #endregion
- #region 80.80.80.80
- case "80.80.80.80":
- files = FindServerFilesInSERVERDATA(DATA, IP);
- if (files == null)
- {
- files = new Array[2];
- files[0] = ServerFileIndexer(IP, dostup);
- string[] Secured = CreateFile("Secured", "txt", 13);
- Secured[2] = "Мой пароль от игры Pokemon BOBO - 123456";
- Secured[3] = "Это я так, чтобы запомнить";
- Secured[4] = "И зачем я всё это пишу";
- Secured[5] = "Сам с собой говорю...";
- Secured[6] = "У меня самая защищённая система";
- Secured[7] = "Я защищаю свой ПК по WIFI. Я про ХаКеР";
- Secured[8] = "И этот пароль Retr0 точно не забрутит";
- Secured[9] = "Я знаю, что он хочет взломать мой ПК";
- Secured[10] = "Но у него это не выйдет и он не получит пароль!!!";
- Secured[11] = "Я опять сам с собой разговариваю...";
- Secured[12] = "Надо заканчивать..";
- files[1] = Secured;
- }
- FileSysWrite(IP, ConsoleColor.DarkMagenta, ConsoleColor.Magenta);
- fileSystemProc(dostup, IP);
- DATA = UploadServerFilesInSERVERSDATA(DATA, files);
- break;
- #endregion
- #region 10.10.1.1
- case "10.10.1.1":
- files = FindServerFilesInSERVERDATA(DATA, IP);
- if (files == null)
- {
- files = new Array[2];
- files[0] = ServerFileIndexer(IP, dostup);
- string[] ddoser = CreateFile("ddoser", "exe", 4);
- ddoser[2] = "ddos";
- files[1] = ddoser;
- }
- FileSysWrite(IP, ConsoleColor.DarkGreen, ConsoleColor.Green);
- fileSystemProc(dostup, IP);
- DATA = UploadServerFilesInSERVERSDATA(DATA, files);
- break;
- #endregion
- #region 1.2.3.4
- case "1.2.3.4":
- files = FindServerFilesInSERVERDATA(DATA, IP);
- if (files == null)
- {
- files = new Array[3];
- files[0] = ServerFileIndexer(IP, dostup);
- files[1] = CreateFile("Unknown", "null", 3);
- }
- FileSysWrite(IP, ConsoleColor.DarkGreen, ConsoleColor.Green);
- fileSystemProc(dostup, IP);
- DATA = UploadServerFilesInSERVERSDATA(DATA, files);
- break;
- #endregion
- #region 0.0.0.1
- case "0.0.0.1":
- files = FindServerFilesInSERVERDATA(DATA, IP);
- if (files == null)
- {
- files = new Array[10];
- files[0] = ServerFileIndexer(IP, Program.dostup.none);
- string[] ReadmeFile = CreateFile("Readme", "txt", 9);
- ReadmeFile[2] = "Этот файловый сервер ваш!";
- ReadmeFile[3] = "Да, да!";
- ReadmeFile[4] = "ТОЛЬКО ВАШ! (если конечно ваш аккаунт не взломают ;))";
- ReadmeFile[5] = "Сейчас вы можете хранить только 10 файлов!";
- ReadmeFile[6] = "Улучшайте ваш сервер, чтобы хранить больше файлов!";
- ReadmeFile[7] = "-System";
- files[1] = ReadmeFile;
- }
- FileSysWrite(IP, ConsoleColor.DarkRed, ConsoleColor.Red);
- fileSystemProc(dostup, IP);
- DATA = UploadServerFilesInSERVERSDATA(DATA, files);
- break;
- #endregion
- #region 0.0.0.0
- case "0.0.0.0":
- files = FindServerFilesInSERVERDATA(DATA, IP);
- if (files == null)
- {
- files = new Array[5];
- files[0] = ServerFileIndexer(IP, dostup);
- string[] UsersFile = CreateFile("Users", "txt", 10);
- UsersFile[2] = "Users 0";
- files[1] = UsersFile;
- string[] UserFriends = CreateFile("Friends", "txt", 10);
- files[2] = UserFriends;
- string[] UserReQuest = CreateFile("ReQuest", "txt", 10);
- files[3] = UserReQuest;
- string[] UserMessages = CreateFile("Messages", "txt", 10);
- files[4] = UserMessages;
- }
- FileSysWrite(IP, ConsoleColor.DarkRed, ConsoleColor.Red);
- fileSystemProc(dostup, IP);
- DATA = UploadServerFilesInSERVERSDATA(DATA, files);
- break;
- #endregion
- default:
- if (ip != IP)
- {
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("ОШИБКА! ФАЙЛОВАЯ СИСТЕМА ДАННОГО IP АДРЕСА НЕДОСТУПНА!", false);
- return false;
- }
- break;
- }
- return true;
- }
- //Пишет заголовок главного экрана шлюза
- public void sitesWrite(string siteName, ConsoleColor back_c, ConsoleColor fore_c)
- {
- Console.WriteLine();
- Console.Write(" ");
- Console.BackgroundColor = back_c;
- Console.ForegroundColor = fore_c;
- Console.WriteLine(siteName);
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Gray;
- }
- //Пишет заголовок главного экрана файловой системы
- public void FileSysWrite(string ip, ConsoleColor back_c, ConsoleColor fore_c)
- {
- if (ScriptOnOf == false)
- {
- Waiter("Подключение к файловой системе...", true, 3, 1000);
- Console.WriteLine();
- Console.BackgroundColor = back_c;
- Console.ForegroundColor = fore_c;
- Console.Write("ФАЙЛОВАЯ СИСТЕМА IP - " + ip);
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Gray;
- }
- else
- {
- otvetProc("Подключено к файловой системе", true);
- }
- }
- //Команды запросов для файловых систем
- /// <summary>
- /// Процессы над файлами
- /// </summary>
- /// <param name="dostup">Уровень доступа</param>
- /// <param name="files">Массив файлов</param>
- public void fileSystemProc(dostup dostup, string IP)
- {
- string zapros = "";
- bool SQLED = false;
- if (ScriptOnOf == false)
- {
- Podskaz(2);
- }
- for (bool ex = false; ex == false; )
- {
- if (SQLED == true)
- {
- if (iffer == true)
- ifferOtvet = true;
- otvetProc("ДОСТУП READ ПОЛУЧЕН", true);
- dostup = Program.dostup.read;
- SQLED = false;
- }
- if (!ScriptOnOf)
- {
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.Write("\nЗапрос:");
- Console.ForegroundColor = ConsoleColor.DarkGreen;
- zapros = CallInputUser();
- Console.ForegroundColor = ConsoleColor.Gray;
- }
- else
- {
- zapros = CallInputUser();
- }
- #region Injected
- switch (zapros)
- {
- #region !
- case "!":
- switch (IP)
- {
- case "1.2.3.4":
- SQLED = true;
- break;
- }
- continue;
- #endregion
- #region @
- case "@":
- switch (IP)
- {
- case "1.2.3.4":
- SQLED = true;
- break;
- }
- continue;
- #endregion
- #region #
- case "#":
- switch (IP)
- {
- case "1.2.3.4":
- SQLED = true;
- break;
- }
- continue;
- #endregion
- #region $
- case "$":
- switch (IP)
- {
- case "1.2.3.4":
- SQLED = true;
- break;
- case "80.80.80.80":
- SQLED = true;
- continue;
- }
- continue;
- #endregion
- #region %
- case "%":
- switch (IP)
- {
- case "1.2.3.4":
- SQLED = true;
- break;
- }
- continue;
- #endregion
- #region ^
- case "^":
- switch (IP)
- {
- case "1.2.3.4":
- SQLED = true;
- break;
- }
- continue;
- #endregion
- #region &
- case "&":
- switch (IP)
- {
- case "1.2.3.4":
- SQLED = true;
- break;
- }
- continue;
- #endregion
- #region ?
- case "?":
- switch (IP)
- {
- case "1.2.3.4":
- SQLED = true;
- break;
- }
- continue;
- #endregion
- #region *
- case "*":
- switch (IP)
- {
- case "1.2.3.4":
- SQLED = true;
- break;
- case "80.80.80.80":
- SQLED = true;
- continue;
- }
- continue;
- #endregion
- #region (
- case "(":
- switch (IP)
- {
- case "1.2.3.4":
- SQLED = true;
- break;
- }
- continue;
- #endregion
- #region )
- case ")":
- switch (IP)
- {
- case "1.2.3.4":
- SQLED = true;
- break;
- case "228.228.228.228":
- SQLED = true;
- break;
- }
- continue;
- #endregion
- #region -
- case "-":
- switch (IP)
- {
- case "1.2.3.4":
- SQLED = true;
- break;
- }
- continue;
- #endregion
- #region +
- case "+":
- switch (IP)
- {
- case "1.2.3.4":
- SQLED = true;
- break;
- case "80.80.80.80":
- SQLED = true;
- continue;
- }
- continue;
- #endregion
- #region =
- case "=":
- switch (IP)
- {
- case "1.2.3.4":
- SQLED = true;
- break;
- case "80.80.80.80":
- SQLED = true;
- continue;
- }
- continue;
- #endregion
- }
- #endregion
- try
- {
- #region comands
- if (zapros != "")
- {
- if (zapros[0] == '/')
- {
- cmd(zapros);
- continue;
- }
- }
- #endregion
- #region dc
- if (zapros == "dc")
- {
- if (!ScriptOnOf)
- {
- otvetProc("Выход из файловой системы...", false);
- Thread.Sleep(rand.Next(3000));
- }
- else
- {
- otvetProc("Отключено от файловой системы", false);
- }
- ex = true;
- if (iffer == true)
- ifferOtvet = true;
- break;
- }
- #endregion
- #region opera
- if (dostup != Program.dostup.none)
- {
- #region Dostup Read
- #region save
- if (zapros.Split(' ')[0] == "save" && IP != ip)
- {
- int otvet = 0;
- string FileNameAndExtension = "";
- string memfileName = "";
- foreach (string[] file in files)
- {
- if (file != null)
- {
- if (zapros.Split(' ')[1] == file[0] || zapros.Split(' ')[1] == file[0] + "." + file[1])
- {
- for (int m = 0; m < memDownload.Length; m++)
- {
- if (memDownload[m] != null)
- {
- if (memDownload[m].GetValue(0).ToString() == file[0] && memDownload[m].GetValue(1).ToString() == file[1])
- {
- otvet = 3;
- break;
- }
- }
- if (memDownload[m] == null)
- {
- string[] newFile = new string[file.Length];
- file.CopyTo(newFile, 0);
- memDownload[m] = newFile;
- otvet = 1;
- FileNameAndExtension = memDownload[m].GetValue(0) + "." + memDownload[m].GetValue(1);
- break;
- }
- if (m == memDownload.Length && otvet == 0)
- {
- otvet = 2;
- break;
- }
- }
- }
- }
- }
- if (otvet != 1 || otvet != 3 && iffer == true)
- ifferOtvet = false;
- else
- ifferOtvet = true;
- if (otvet == 1)
- {
- otvetProc("Сохранение...", true);
- if (!ScriptOnOf)
- Thread.Sleep(rand.Next(5000));
- otvetProc("Файл - " + FileNameAndExtension + ", успешно сохранён!", true);
- }
- if (otvet == 2)
- {
- otvetProc("Ошибка сохранения!", false);
- otvetProc("Нехватает памяти на вашем компьютере!", false);
- }
- if (otvet == 3)
- {
- otvetProc("Файл с таким именем уже существует на вашем компьютере!", false);
- }
- if (otvet == 0)
- {
- otvetProc("Неудача. Файл не найден!", false);
- }
- continue;
- }
- #endregion
- #region dir
- if (zapros == "dir")
- {
- int vsego = 0;
- Console.WriteLine("Файлы:");
- foreach (string[] file in files)
- {
- if (IP != ip)
- {
- if (file != null && file[1] != "sys")
- {
- Console.WriteLine(file[0] + "." + file[1]);
- vsego++;
- }
- }
- else
- {
- if (file != null)
- {
- Console.WriteLine(file[0] + "." + file[1]);
- vsego++;
- }
- }
- }
- if (vsego == 0)
- {
- Console.WriteLine("Пусто");
- }
- continue;
- }
- #endregion
- #endregion
- #region Dostup Write
- if (dostup != Program.dostup.read)
- {
- #region rename
- if (zapros.Split(' ')[0] == "Rename" ||
- zapros.Split(' ')[0] == "rename" ||
- zapros.Split(' ')[0] == "RENAME" &&
- zapros.Split(' ')[1] != "" &&
- zapros.Split(' ')[2] != "")
- {
- try
- {
- bool ok = false;
- string s1 = zapros.Split(' ')[1];
- string s2 = zapros.Split(' ')[2];
- s2 = s2.Replace(".", "");
- #region Proverka s2
- switch (s2[0])
- {
- case '1':
- s2 = "file_" + s2;
- break;
- case '2':
- s2 = "file_" + s2;
- break;
- case '3':
- s2 = "file_" + s2;
- break;
- case '4':
- s2 = "file_" + s2;
- break;
- case '5':
- s2 = "file_" + s2;
- break;
- case '6':
- s2 = "file_" + s2;
- break;
- case '7':
- s2 = "file_" + s2;
- break;
- case '8':
- s2 = "file_" + s2;
- break;
- case '9':
- s2 = "file_" + s2;
- break;
- case '0':
- s2 = "file_" + s2;
- break;
- }
- #endregion
- for (int i = 0; i < files.Length; i++)
- {
- if (files[i] != null)
- {
- if (files[i].GetValue(0).ToString() == s1 ||
- files[i].GetValue(0).ToString() + "." + files[i].GetValue(1).ToString() == s1)
- {
- if (files[i].GetValue(0).ToString() != IP &&
- files[i].GetValue(1).ToString() != "sys")
- {
- if (iffer == true)
- ifferOtvet = true;
- files[i].SetValue(s2, 0);
- otvetProc("Файл - " + s1 + " - переименнован в - " + s2, true);
- ok = true;
- break;
- }
- else
- {
- if (dostup != Program.dostup.admin)
- {
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("Файл защищён! Необходимые права - admin", false);
- break;
- }
- }
- }
- }
- }
- if (!ok)
- {
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("Файл - " + zapros.Split(' ')[1] + " - не найден!", false);
- }
- }
- catch (Exception)
- {
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("Файл ну удалось переименновать!", false);
- }
- continue;
- }
- #endregion
- #region Copy
- if (zapros.Split(' ')[0] == "Copy" ||
- zapros.Split(' ')[0] == "copy" ||
- zapros.Split(' ')[0] == "COPY" &&
- zapros.Split(' ')[1] != "")
- {
- Array[] newfiles = CopyFile(zapros.Split(' ')[1], files);
- if (newfiles != null)
- {
- if (iffer == true)
- ifferOtvet = true;
- files = newfiles;
- }
- else
- {
- if (iffer == true)
- ifferOtvet = false;
- }
- continue;
- }
- #endregion
- #region rm
- if (zapros.Split(' ')[0] == "rm")
- {
- bool okey = false;
- for (int i = 0; i < files.Length; i++)
- {
- if (files[i] != null)
- {
- #region RM *
- if (zapros.Split(' ')[1] == "*")
- {
- if (files[i].GetValue(0).ToString() != IP &&
- files[i].GetValue(1).ToString() != "sys")
- {
- if (iffer == true)
- ifferOtvet = true;
- okey = true;
- otvetProc("Файл -" + files[i].GetValue(0).ToString() + "." + files[i].GetValue(1).ToString() + " удалён!", true);
- files[i] = null;
- }
- else
- {
- if (iffer == true)
- ifferOtvet = false;
- otvetProc(files[i].GetValue(0).ToString() + "." + files[i].GetValue(1).ToString() + " - Этот файл невозможно удалить!", false);
- }
- }
- #endregion
- #region RM FILE
- else
- {
- if (zapros.Split(' ')[1] == files[i].GetValue(0).ToString() ||
- zapros.Split(' ')[1] == files[i].GetValue(0).ToString() + "." + files[i].GetValue(1).ToString())
- {
- if (files[i].GetValue(0).ToString() != IP &&
- files[i].GetValue(1).ToString() != "sys")
- {
- if (iffer == true)
- ifferOtvet = true;
- okey = true;
- otvetProc("Файл -" + files[i].GetValue(0).ToString() + "." + files[i].GetValue(1).ToString() + " удалён!", true);
- files[i] = null;
- }
- else
- {
- if (iffer == true)
- ifferOtvet = false;
- otvetProc(files[i].GetValue(0).ToString() + "." + files[i].GetValue(1).ToString() + " - Этот файл невозможно удалить!", false);
- }
- }
- }
- #endregion
- }
- }
- if (!okey)
- {
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("Файл, который вы хотите удалить не найден или его не удалось удалить!", false);
- }
- continue;
- }
- #endregion
- #region Upload
- if (zapros.Split(' ')[0] == "UPLOAD" ||
- zapros.Split(' ')[0] == "Upload" ||
- zapros.Split(' ')[0] == "upload" &&
- zapros.Split(' ')[1] != "")
- {
- if (ip != IP)
- {
- string zap1 = zapros.Split(' ')[0];
- string zap2 = zapros.Split(' ')[1];
- string zap3 = null;
- if (SearhCharCountInString(zap2, '.') != 0)
- {
- zap3 = zapros.Split('.')[1];
- zap2 = zap2.Replace("." + zap3, "");
- }
- string[] UploadedFile = SearchFileInMemory(zap2, zap3, memDownload);
- if (UploadedFile != null)
- {
- if (iffer == true)
- ifferOtvet = true;
- files = UploadINStore(files, UploadedFile);
- otvetProc("Файл - " + zapros.Replace(zap1 + " ", "") + " - загружен на сервер!", true);
- }
- else
- {
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("Неудалось найти файл! Возможно вы ввели неправильно имя файла!", false);
- }
- }
- else
- {
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("Нельзя загрузить файл на свой же компьютер!", false);
- }
- continue;
- }
- #endregion
- }
- else
- {
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("Нет доступа для выполнения этой операции!\nМинимально требуемый доступ - write", false);
- continue;
- }
- #endregion
- #endregion
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
- continue;
- }
- else
- {
- if (iffer == true)
- ifferOtvet = false;
- dialog("НЕТ ДОСТУПА!");
- continue;
- }
- }
- catch (Exception)
- {
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("ОШИБКА ЗАПРОСА!", false);
- continue;
- }
- }
- }
- //Опции
- public dostup options(dostup publicDostup)
- {
- string zapros = "";
- for (bool ex = false; ex == false; )
- {
- if (ScriptOnOf == false)
- {
- Console.BackgroundColor = ConsoleColor.DarkGreen;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine("Настройки:");
- Console.WriteLine();
- Console.BackgroundColor = ConsoleColor.Black;
- Console.WriteLine("1: Параметры доступа для всех пользователей");
- if (podskz_of_on == true)
- {
- Console.WriteLine("2: Подсказки включены (2 - чтобы отключить)");
- }
- else
- {
- Console.WriteLine("2: Подсказки отключены (2 - чтобы включить)");
- }
- Console.WriteLine("3: Выход из настроек");
- Console.Write("Ввод: ");
- }
- zapros = CallInputUser();
- if (zapros != "" && zapros != " ")
- {
- switch (zapros)
- {
- #region 1 DOSTUP
- case "1":
- string vvod = "";
- for (bool exit = false; exit == false; )
- {
- if (ScriptOnOf == false)
- {
- Console.WriteLine();
- otvetProc("Параметры доступа для всех пользователей:", true);
- otvetProc("Текущий параметр - " + publicDostup.ToString(), true);
- Console.WriteLine();
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine("1 - admin");
- Console.WriteLine("2 - user");
- Console.WriteLine("3 - read");
- Console.WriteLine("4 - write");
- Console.WriteLine("5 - none");
- Console.WriteLine();
- otvetProc("6 - Назад", true);
- Console.ForegroundColor = ConsoleColor.Green;
- Console.Write("Ввод: ");
- Console.BackgroundColor = ConsoleColor.Black;
- vvod = CallInputUser();
- Console.BackgroundColor = ConsoleColor.DarkGreen;
- }
- else
- {
- vvod = CallInputUser();
- }
- if (vvod != "" && vvod != " ")
- {
- switch (vvod)
- {
- case "1":
- Console.WriteLine();
- otvetProc("Параметры доступа изменены на права admin", true);
- exit = true;
- publicDostup = dostup.admin;
- break;
- case "2":
- Console.WriteLine();
- otvetProc("Параметры доступа изменены на права user", true);
- exit = true;
- publicDostup = dostup.user;
- break;
- case "3":
- Console.WriteLine();
- otvetProc("Параметры доступа изменены на права read", true);
- exit = true;
- publicDostup = dostup.read;
- break;
- case "4":
- Console.WriteLine();
- otvetProc("Параметры доступа изменены на права write", true);
- exit = true;
- publicDostup = dostup.write;
- break;
- case "5":
- Console.WriteLine();
- otvetProc("Параметры доступа изменены на права none - нет прав", true);
- exit = true;
- publicDostup = dostup.none;
- break;
- case "6":
- exit = true;
- ex = true;
- break;
- }
- }
- else
- {
- otvetProc("Неверно введён параметр!", false);
- }
- }
- break;
- #endregion
- #region 2 PODSKAZ
- case "2":
- podskz_of_on = podskz_of_on != true;
- if (podskz_of_on == true)
- otvetProc("Подсказки включены!", true);
- else
- otvetProc("Подсказки отключены!", true);
- ex = true;
- break;
- #endregion
- #region 3 exit
- case "3":
- ex = true;
- break;
- #endregion
- }
- }
- else
- {
- otvetProc("ТАКОГО ПАРАМЕТРА НЕСУЩЕСТВУЕТ!", false);
- }
- }
- return publicDostup;
- }
- #endregion
- #region CMD
- /// <summary>
- /// Командная строка
- /// </summary>
- /// <param name="script">false - режим скрипт отключён, true - режим скрипт включён</param>
- public void cmd()
- {
- if (ScriptOnOf == false)
- {
- Podskaz(1);
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.Write("КОМАНДА:");
- Console.ForegroundColor = ConsoleColor.DarkGreen;
- comand = CallInputUser();
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Gray;
- }
- else
- {
- comand = CallInputUser();
- }
- try
- {
- if (comand != "" && comand != " " && comand != null)
- {
- if (comand[0] == '/')
- {
- comand = comand.Replace("/", "");
- #region Script
- if (comand.Split(' ')[0] == "Script" || comand.Split(' ')[0] == "script" || comand.Split(' ')[0] == "SCRIPT")
- {
- if (comand == "script" || comand == "Script" || comand == "SCRIPT")
- {
- bool NotFoud = true;
- Console.WriteLine();
- Console.WriteLine("Скрипты: ");
- foreach (string[] Script in memDownload)
- {
- if (Script != null)
- {
- if (Script[1] == "script")
- {
- if (iffer == true)
- ifferOtvet = true;
- NotFoud = false;
- Console.WriteLine(Script[0] + "." + Script[1]);
- }
- }
- }
- if (NotFoud == true)
- {
- Console.WriteLine("Пусто");
- }
- Console.WriteLine();
- }
- else
- {
- if (ScriptSearhMemory(comand.Replace(comand.Split(' ')[0] + ' ', "")))
- {
- if (iffer == true)
- ifferOtvet = true;
- ScriptOnOf = true;
- scriptTH = new Thread(ScriptRUN);
- scriptTH.IsBackground = true;
- scriptTH.Start();
- while (ScriptOnOf == true)
- {
- Thread.Sleep(1000);
- }
- Thread.Sleep(1000);
- }
- }
- return;
- }
- #endregion
- #region Note
- if (comand == "note" || comand == "Note" || comand == "NOTE")
- {
- if (iffer == true)
- ifferOtvet = true;
- process = "Note";
- otvetProc("Программа Note запущена", true);
- th_program = new Thread(NoteRun);
- th_program.IsBackground = true;
- th_program.Start();
- return;
- }
- #endregion
- #region Home
- if (comand == "home")
- {
- NET(ip);
- return;
- }
- #endregion
- #region EXE
- if (comand != "exe")
- {
- if (comand.Split(' ')[0] == "exe")
- {
- foreach (string[] file in memDownload)
- {
- if (file != null)
- {
- if (file[1] == "exe")
- {
- if (file[0] == comand.Split(' ')[1] || file[0] + ".exe" == comand.Split(' ')[1])
- {
- if (iffer == true)
- ifferOtvet = true;
- #region winlock
- if (file[2] == "windows_lock")
- {
- otvetProc("Программа " + file[0] + " запущена", true);
- currProgram = file;
- th_program = new Thread(startPrograms);
- th_program.IsBackground = true;
- th_program.Start();
- true_and_false = true;
- if (currSavePos != 0)
- {
- Console.WriteLine();
- otvetProc("ДОСТУП ЗАБЛОКИРОВАН!", false);
- for (bool ex = false; ex == false; )
- {
- if (SP != null)
- {
- if (SP.Consolezapros() == 1)
- {
- ex = true;
- Console.WriteLine();
- otvetProc("Доступ востановлен", true);
- }
- }
- }
- }
- return;
- }
- #endregion
- #region ddoser
- if (file[2] == "ddos")
- {
- otvetProc("Программа " + file[0] + " запущена", true);
- currProgram = file;
- th_program = new Thread(startPrograms);
- th_program.IsBackground = true;
- th_program.Start();
- true_and_false = true;
- return;
- }
- #endregion
- #region Scriptor
- if (file[2] == "Scriptor")
- {
- otvetProc("Программа " + file[0] + " запущена", true);
- currProgram = file;
- ProverkaObmenTH = new Thread(ProverkaObmen);
- ProverkaObmenTH.IsBackground = true;
- ProverkaObmenTH.Start();
- th_program = new Thread(startPrograms);
- th_program.IsBackground = true;
- th_program.Start();
- MessageObmen = file[2] + " run";
- return;
- }
- #endregion
- }
- }
- }
- }
- if (currProgram == null)
- {
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("Программа не найдена!", false);
- return;
- }
- }
- }
- else
- {
- int vsego = 0;
- Console.WriteLine();
- Console.WriteLine("Программы: ");
- foreach (string[] file in memDownload)
- {
- if (file != null && file[1] == "exe")
- {
- Console.WriteLine(file[0] + "." + file[1]);
- vsego++;
- }
- }
- if (vsego == 0)
- {
- if (iffer == true)
- ifferOtvet = false;
- Console.WriteLine("Пусто");
- return;
- }
- else
- {
- if (iffer == true)
- ifferOtvet = true;
- Console.WriteLine();
- return;
- }
- }
- #endregion
- #region connect
- if (comand.Split(' ')[0] == "connect" || comand.Split(' ')[0] == "Connect")
- {
- try
- {
- if (comand.Split(' ')[1] == ip)
- {
- CurrIP = ip;
- NET(ip);
- CurrIP = "";
- return;
- }
- string IP = comand.Split(' ')[1];
- CurrIP = IP;
- NET(IP);
- CurrIP = "";
- return;
- }
- catch (Exception)
- {
- otvetProc("Неверно введён ip адресс!", false);
- return;
- }
- }
- #endregion
- #region IP
- if (comand == "ip" || comand == "IP" || comand == "Ip")
- {
- if (iffer == true)
- ifferOtvet = true;
- otvetProc(ip, true);
- return;
- }
- #endregion
- #region help
- if (comand == "help" || comand == "help 1" || comand == "help 2" ||
- comand == "help 3" || comand == "help 4" || comand == "help 5")
- {
- if (iffer == true)
- ifferOtvet = true;
- Help(comand);
- return;
- }
- #endregion
- #region clear
- if (comand == "clear")
- {
- if (iffer == true)
- ifferOtvet = true;
- Console.Clear();
- otvetProc("Консоль очищенна", true);
- return;
- }
- #endregion
- #region SaveAndLoad
- if (comand == "save")
- {
- if (iffer == true)
- ifferOtvet = true;
- SaveGame();
- otvetProc("Сохранено!", true);
- return;
- }
- if (comand == "load")
- {
- if (LoadGame() != 1)
- {
- if (iffer == true)
- ifferOtvet = true;
- otvetProc("Не выбран файл с сохранением!", false);
- }
- return;
- }
- #endregion
- #region Exit
- if (comand == "exit" || comand == "Exit" || comand == "EXIT")
- {
- if (iffer == true)
- ifferOtvet = true;
- return;
- }
- #endregion
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("НЕВЕРНО ВВЕДЕНА КОМАНДА!", false);
- }
- else
- {
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("НЕВЕРНО ВВЕДЕНА КОМАНДА!", false);
- }
- }
- else
- {
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("НЕВЕРНО ВВЕДЕНА КОМАНДА!", false);
- }
- }
- catch (Exception)
- {
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("ОШИБКА ВВОДА! Исключение перехвачено!", false);
- }
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- }
- /// <summary>
- /// Командная строка на сервере
- /// </summary>
- /// <param name="incom">Запрос от сервера выполнить команду</param>
- public void cmd(string incom)
- {
- if (ScriptOnOf == false)
- {
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Gray;
- comand = incom;
- }
- else
- {
- comand = CallInputUser(); ;
- }
- try
- {
- if (comand != "" && comand != " " && comand != null)
- {
- if (comand[0] == '/')
- {
- comand = comand.Replace("/", "");
- #region Script
- if (comand.Split(' ')[0] == "Script" || comand.Split(' ')[0] == "script" || comand.Split(' ')[0] == "SCRIPT")
- {
- if (comand == "script" || comand == "Script" || comand == "SCRIPT")
- {
- bool NotFoud = true;
- Console.WriteLine();
- Console.WriteLine("Скрипты: ");
- foreach (string[] Script in memDownload)
- {
- if (Script != null)
- {
- if (Script[1] == "script")
- {
- if (iffer == true)
- ifferOtvet = true;
- NotFoud = false;
- Console.WriteLine(Script[0] + "." + Script[1]);
- }
- }
- }
- if (NotFoud == true)
- {
- Console.WriteLine("Пусто");
- }
- Console.WriteLine();
- }
- else
- {
- if (ScriptSearhMemory(comand.Replace(comand.Split(' ')[0] + ' ', "")))
- {
- if (iffer == true)
- ifferOtvet = true;
- ScriptOnOf = true;
- scriptTH = new Thread(ScriptRUN);
- scriptTH.IsBackground = true;
- scriptTH.Start();
- while (ScriptOnOf == true)
- {
- Thread.Sleep(1000);
- }
- Thread.Sleep(1000);
- }
- }
- return;
- }
- #endregion
- #region Note
- if (comand == "note" || comand == "Note" || comand == "NOTE")
- {
- if (iffer == true)
- ifferOtvet = true;
- process = "Note";
- otvetProc("Программа Note запущена", true);
- th_program = new Thread(NoteRun);
- th_program.IsBackground = true;
- th_program.Start();
- return;
- }
- #endregion
- #region IP
- if (comand == "ip" || comand == "IP" || comand == "Ip")
- {
- if (iffer == true)
- ifferOtvet = true;
- otvetProc(ip, true);
- return;
- }
- #endregion
- #region help
- if (comand == "help" || comand == "help 1" || comand == "help 2" ||
- comand == "help 3" || comand == "help 4")
- {
- if (iffer == true)
- ifferOtvet = true;
- Help(comand);
- return;
- }
- #endregion
- #region clear
- if (comand == "clear")
- {
- if (iffer == true)
- ifferOtvet = true;
- Console.Clear();
- otvetProc("Консоль очищенна", true);
- return;
- }
- #endregion
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("НЕВЕРНО ВВЕДЕНА КОМАНДА!", false);
- }
- else
- {
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("НЕВЕРНО ВВЕДЕНА КОМАНДА!", false);
- }
- }
- else
- {
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("НЕВЕРНО ВВЕДЕНА КОМАНДА!", false);
- }
- }
- catch (Exception)
- {
- if (iffer == true)
- ifferOtvet = false;
- otvetProc("ОШИБКА ВВОДА! Исключение перехвачено!", false);
- }
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- }
- #endregion
- #region Script
- public bool ScriptComander(string comand)
- {
- try
- {
- GlobalScriptActions = comand.Split(' ')[0];
- string ScriptComand = comand.Replace(comand.Split(' ')[0] + ' ', "");
- #region WRITE
- if (GlobalScriptActions == "WRITE" || GlobalScriptActions == "write" || GlobalScriptActions == "Write")
- {
- Console.ForegroundColor = ConsoleColor.Yellow;
- #region STRING
- if (ScriptComand[0] == '"' || ScriptComand[0] == '\'' && ScriptComand[ScriptComand.Length - 1] == '"' || ScriptComand[ScriptComand.Length - 1] == '\'')
- {
- ScriptComand = ScriptComand.Remove(0, 1);
- ScriptComand = ScriptComand.Remove(ScriptComand.Length - 1, 1);
- Console.WriteLine(ScriptComand);
- }
- #endregion
- #region INT
- else
- {
- try
- {
- ScriptComand = ScriptComand.Trim();
- for (int currChar = 0; currChar < ScriptComand.Length; currChar++)
- {
- if (ScriptComand[currChar] != ' ')
- {
- #region +
- if (ScriptComand[currChar] == '+')
- {
- int a = Convert.ToInt32(ScriptComand.Split('+')[0]);
- int b = Convert.ToInt32(ScriptComand.Split('+')[1]);
- Console.WriteLine(a + "+" + b + "=" + (a + b));
- }
- #endregion
- #region -
- if (ScriptComand[currChar] == '-')
- {
- int a = Convert.ToInt32(ScriptComand.Split('-')[0]);
- int b = Convert.ToInt32(ScriptComand.Split('-')[1]);
- Console.WriteLine(a + "-" + b + "=" + (a - b));
- }
- #endregion
- #region *
- if (ScriptComand[currChar] == '*')
- {
- int a = Convert.ToInt32(ScriptComand.Split('*')[0]);
- int b = Convert.ToInt32(ScriptComand.Split('*')[1]);
- Console.WriteLine(a + "*" + b + "=" + (a * b));
- }
- #endregion
- #region /
- if (ScriptComand[currChar] == '/' || ScriptComand[currChar] == ':')
- {
- if (ScriptComand[currChar] == ':')
- {
- ScriptComand = ScriptComand.Replace(":", "/");
- }
- int a = Convert.ToInt32(ScriptComand.Split('/')[0]);
- int b = Convert.ToInt32(ScriptComand.Split('/')[1]);
- Console.WriteLine(a + "/" + b + "=" + (a / b));
- }
- #endregion
- }
- }
- }
- catch (Exception)
- {
- Console.WriteLine(ScriptComand);
- }
- }
- #endregion
- Console.ForegroundColor = ConsoleColor.Gray;
- ScriptMessage = "yes";
- }
- #endregion
- else
- {
- if (GlobalScriptActions == "CMD" || GlobalScriptActions == "Cmd" || GlobalScriptActions == "cmd")
- {
- otvetProc("Вызвана консоль", true);
- GlobalCommandScript = ScriptComand;
- scriptTH2 = new Thread(ScriptTH_2);
- scriptTH2.IsBackground = true;
- scriptTH2.Start();
- }
- if (GlobalScriptActions == "INPUT" || GlobalScriptActions == "Input" || GlobalScriptActions == "input")
- {
- otvetProc("Ввод - " + ScriptComand, true);
- GlobalCommandScript = ScriptComand;
- }
- if (GlobalScriptActions == "SERVER" || GlobalScriptActions == "Server" || GlobalScriptActions == "server")
- {
- GlobalCommandScript = ScriptComand;
- }
- }
- return true;
- }
- catch (Exception)
- {
- return false;
- }
- }
- public bool ScriptComandSender(string[] script)
- {
- try
- {
- for (int currLine = 2; currLine < script.Length - 1; currLine++)
- {
- #region null
- if (script[currLine].Split(' ')[0] == "" ||
- script[currLine].Split(' ')[0] == " " ||
- script[currLine].Split(' ')[0] == null)
- {
- continue;
- }
- #endregion
- #region IF
- if (script[currLine].Split(' ')[0] == "IF" || script[currLine].Split(' ')[0] == "If" || script[currLine].Split(' ')[0] == "if")
- {
- int ifferEnd = currLine;
- bool reverseIF = false;
- string ScriptComand = script[currLine].Replace(script[currLine].Split(' ')[0] + " ", "");
- if (ScriptComand[0] == '!')
- {
- reverseIF = true;
- ScriptComand = ScriptComand.TrimStart('!');
- }
- ScriptComand = ScriptComand.TrimStart('(');
- ScriptComand = ScriptComand.TrimEnd(')');
- #region End Find
- for (int i = currLine; i < script.Length - 1; i++)
- {
- if (script[i] == "End" || script[i] == "END" || script[i] == "end")
- {
- ifferEnd = i;
- break;
- }
- }
- #endregion
- iffer = true;
- ScriptMessage = "no";
- Thread.Sleep(10);
- ScriptComander(ScriptComand);
- int c = 0;
- while (ScriptMessage == "no")
- {
- Thread.Sleep(10);
- c++;
- if (c == 400)
- {
- if (script[currLine].Split(' ')[0] == "input")
- {
- otvetProc("ОШИБКА ВВОДА! - Возможно вы не подключены к серверу!", false);
- }
- break;
- }
- }
- #region REVERSE IF
- if (reverseIF)
- {
- if (!ifferOtvet)
- {
- otvetProc("Условие - " + "!(" + ScriptComand + ")" + " - выполнено!", true);
- iffer = false;
- ifferOtvet = false;
- reverseIF = false;
- string[] newScript = new string[((ifferEnd - currLine) - 1) + 3];
- newScript[0] = "newScript";
- newScript[1] = "script";
- newScript[newScript.Length - 1] = "end";
- for (int i = currLine + 1; i < ifferEnd; i++)
- {
- newScript[ifferEnd - currLine] = script[i];
- }
- ScriptMessage = "no";
- Thread.Sleep(10);
- ScriptComandSender(newScript);
- int rc = 0;
- while (ScriptMessage == "no")
- {
- Thread.Sleep(10);
- rc++;
- if (rc == 400)
- {
- if (script[currLine].Split(' ')[0] == "input")
- {
- otvetProc("ОШИБКА ВВОДА! - Возможно вы не подключены к серверу!", false);
- }
- break;
- }
- }
- }
- else
- {
- otvetProc("Условие - " + "!(" + ScriptComand + ")" + " - не выполнено!", false);
- }
- }
- else
- #endregion
- #region NORAML IF
- if (ifferOtvet)
- {
- otvetProc("Условие - " + ScriptComand + " - выполнено!", true);
- iffer = false;
- ifferOtvet = false;
- string[] newScript = new string[((ifferEnd - currLine) - 1) + 3];
- newScript[0] = "newScript";
- newScript[1] = "script";
- newScript[newScript.Length - 1] = "end";
- for (int i = currLine + 1; i < ifferEnd; i++)
- {
- newScript[ifferEnd - currLine] = script[i];
- }
- ScriptMessage = "no";
- Thread.Sleep(10);
- ScriptComandSender(newScript);
- int rc = 0;
- while (ScriptMessage == "no")
- {
- Thread.Sleep(10);
- rc++;
- if (rc == 400)
- {
- if (script[currLine].Split(' ')[0] == "input")
- {
- otvetProc("ОШИБКА ВВОДА! - Возможно вы не подключены к серверу!", false);
- }
- break;
- }
- }
- }
- else
- {
- otvetProc("Условие - " + ScriptComand + " - не выполнено!", false);
- }
- #endregion
- currLine = ifferEnd;
- iffer = false;
- ifferOtvet = false;
- reverseIF = false;
- }
- #endregion
- else
- {
- ScriptMessage = "no";
- Thread.Sleep(10);
- ScriptComander(script[currLine]);
- int c = 0;
- while (ScriptMessage == "no")
- {
- Thread.Sleep(10);
- c++;
- if (c == 400)
- {
- if (script[currLine].Split(' ')[0] == "input")
- {
- otvetProc("ОШИБКА ВВОДА! - Возможно вы не подключены к серверу!", false);
- }
- break;
- }
- }
- }
- }
- return true;
- }
- catch
- {
- return false;
- }
- }
- public bool ScriptSearhMemory(string FileNameScript)
- {
- try
- {
- #region Поиск Скрипта
- foreach (string[] ScriptFile in memDownload)
- {
- if (ScriptFile != null)
- {
- if (ScriptFile[0] == FileNameScript && ScriptFile[1] == "script" ||
- ScriptFile[0] + ".script" == FileNameScript && ScriptFile[1] == "script")
- {
- script = ScriptFile;
- break;
- }
- }
- }
- if (script == null)
- {
- otvetProc("Скрипт не найден!", false);
- return false;
- }
- else
- {
- Console.WriteLine();
- otvetProc("Скрипт " + FileNameScript + " найден.", true);
- return true;
- }
- #endregion
- }
- catch (Exception)
- {
- otvetProc("Ошибка поиска скрипта!", false);
- return false;
- }
- }
- public bool ScriptReader(string[] script, int mode)
- {
- ScriptOnOf = true;
- int EnterPointCount = 0;
- string ifferWait = "of";
- int ifferCurrLine = 0;
- try
- {
- #region Считывание скрипта
- for (int currLine = 2; currLine < script.Length - 1; currLine++)
- {
- if (script[currLine] != null)
- {
- #region CMD
- if (script[currLine].Split(' ')[0] == "CMD" ||
- script[currLine].Split(' ')[0] == "Cmd" ||
- script[currLine].Split(' ')[0] == "cmd")
- {
- if (EnterPointCount == 0)
- {
- EnterPointCount++;
- if (script[currLine].Split(' ')[1] == "0" ||
- script[currLine].Split(' ')[1] == "/help" ||
- script[currLine].Split(' ')[1] == "/help 1" ||
- script[currLine].Split(' ')[1] == "/help 2" ||
- script[currLine].Split(' ')[1] == "/help 3" ||
- script[currLine].Split(' ')[1] == "/help 4" ||
- script[currLine].Split(' ')[1] == "/ip" ||
- script[currLine].Split(' ')[1] == "/clear" ||
- script[currLine].Split(' ')[1] == "/note" ||
- script[currLine].Split(' ')[1] == "/Note" ||
- script[currLine].Split(' ')[1] == "/NOTE" ||
- script[currLine].Split(' ')[1] == "/script" ||
- script[currLine].Split(' ')[1] == "/Script" ||
- script[currLine].Split(' ')[1] == "/SCRIPT" ||
- script[currLine].Split(' ')[1] == "/exit" ||
- script[currLine].Split(' ')[1] == "/exe" ||
- script[currLine].Split(' ')[1] == "/save" ||
- script[currLine].Split(' ')[1] == "/load")
- {
- EnterPointCount--;
- }
- continue;
- }
- else
- {
- if (mode == 0)
- {
- otvetProc("У вас незакрытая точка входа! Вместо cmd используйте input!\nПример скрипта:\ncmd /help -- Выведется help и cmd закроется\ncmd /home -- cmd не закроется, а потребеут ввода\ninput 0 -- Отключение от сервера и cmd закроется\ncmd /clear -- очистит консоль и закроет cmd\nПродумывайте свой скрипт на перёд!", false);
- }
- else
- {
- MessageBox.Show("У вас незакрытая точка входа! Вместо cmd используйте input!\nПример скрипта:\ncmd /help -- Выведется help и cmd закроется\ncmd /home -- cmd не закроется, а потребеут ввода\ninput 0 -- Отключение от сервера и cmd закроется\ncmd /clear -- очистит консоль и закроет cmd\nПродумывайте свой скрипт на перёд!", "Script Reader");
- }
- }
- }
- #endregion
- #region INPUT
- if (script[currLine].Split(' ')[0] == "INPUT" ||
- script[currLine].Split(' ')[0] == "Input" ||
- script[currLine].Split(' ')[0] == "input")
- {
- if (EnterPointCount > 0)
- {
- if (script[currLine].Split(' ')[1] == "0" ||
- script[currLine].Split(' ')[1] == "/help" ||
- script[currLine].Split(' ')[1] == "/help 1" ||
- script[currLine].Split(' ')[1] == "/help 2" ||
- script[currLine].Split(' ')[1] == "/help 3" ||
- script[currLine].Split(' ')[1] == "/help 4" ||
- script[currLine].Split(' ')[1] == "/ip" ||
- script[currLine].Split(' ')[1] == "/clear" ||
- script[currLine].Split(' ')[1] == "/note" ||
- script[currLine].Split(' ')[1] == "/Note" ||
- script[currLine].Split(' ')[1] == "/NOTE" ||
- script[currLine].Split(' ')[1] == "/script" ||
- script[currLine].Split(' ')[1] == "/Script" ||
- script[currLine].Split(' ')[1] == "/SCRIPT" ||
- script[currLine].Split(' ')[1] == "/exit" ||
- script[currLine].Split(' ')[1] == "/exe" ||
- script[currLine].Split(' ')[1] == "/save" ||
- script[currLine].Split(' ')[1] == "/load")
- {
- EnterPointCount--;
- }
- continue;
- }
- else
- {
- if (mode == 0)
- {
- otvetProc("При использовании input в скрипте должна быть точка входа - cmd!\nПример скрипта:\ncmd /home\ninput 0", false);
- }
- else
- {
- MessageBox.Show("При использовании input в скрипте должна быть точка входа - cmd!\nПример скрипта:\ncmd /home\ninput 0", "Script Reader");
- }
- }
- }
- #endregion
- #region SERVER
- if (script[currLine].Split(' ')[0] == "SERVER" ||
- script[currLine].Split(' ')[0] == "server" ||
- script[currLine].Split(' ')[0] == "Server")
- {
- continue;
- }
- #endregion
- #region WRITER
- if (script[currLine].Split(' ')[0] == "WRITE" ||
- script[currLine].Split(' ')[0] == "Write" ||
- script[currLine].Split(' ')[0] == "write")
- {
- continue;
- }
- #endregion
- #region null
- if (script[currLine].Split(' ')[0] == "" ||
- script[currLine].Split(' ')[0] == " " ||
- script[currLine].Split(' ')[0] == null ||
- script[currLine].Split(' ')[0] == "END" ||
- script[currLine].Split(' ')[0] == "End" ||
- script[currLine].Split(' ')[0] == "end")
- {
- continue;
- }
- #endregion
- #region IF
- if (script[currLine].Split(' ')[0] == "IF" ||
- script[currLine].Split(' ')[0] == "If" ||
- script[currLine].Split(' ')[0] == "if")
- {
- if (ifferWait == "of")
- {
- ifferCurrLine = currLine;
- currLine++;
- string okey = "";
- string uslovie = script[ifferCurrLine].Replace(script[ifferCurrLine].Split(' ')[0] + " ", "");
- uslovie = uslovie.TrimStart('!');
- uslovie = uslovie.TrimStart('(');
- uslovie = uslovie.TrimEnd(')');
- int ifferEndCurLine = ifferCurrLine++;
- try
- {
- #region EndFind
- while (currLine < script.Length - 1)
- {
- #region END
- if (script[currLine] == "END" ||
- script[currLine] == "End" ||
- script[currLine] == "end")
- {
- ifferEndCurLine = currLine;
- okey += "ok";
- break;
- }
- #endregion
- currLine++;
- }
- #endregion
- currLine = ifferCurrLine;
- #region UslovieCorrect
- if (true)
- {
- #region CMD
- if (uslovie.Split(' ')[0] == "CMD" ||
- uslovie.Split(' ')[0] == "Cmd" ||
- uslovie.Split(' ')[0] == "cmd")
- {
- if (EnterPointCount == 0)
- {
- if (script[currLine].Split(' ')[1] == "0" ||
- script[currLine].Split(' ')[1] == "/help" ||
- script[currLine].Split(' ')[1] == "/help 1" ||
- script[currLine].Split(' ')[1] == "/help 2" ||
- script[currLine].Split(' ')[1] == "/help 3" ||
- script[currLine].Split(' ')[1] == "/help 4" ||
- script[currLine].Split(' ')[1] == "/ip" ||
- script[currLine].Split(' ')[1] == "/clear" ||
- script[currLine].Split(' ')[1] == "/note" ||
- script[currLine].Split(' ')[1] == "/Note" ||
- script[currLine].Split(' ')[1] == "/NOTE" ||
- script[currLine].Split(' ')[1] == "/script" ||
- script[currLine].Split(' ')[1] == "/Script" ||
- script[currLine].Split(' ')[1] == "/SCRIPT" ||
- script[currLine].Split(' ')[1] == "/exit" ||
- script[currLine].Split(' ')[1] == "/exe" ||
- script[currLine].Split(' ')[1] == "/save" ||
- script[currLine].Split(' ')[1] == "/load")
- {
- EnterPointCount--;
- okey += "ok";
- }
- else
- {
- if (mode == 0)
- {
- otvetProc("Ошибка условия! Условие не может быть точкой входа!!!", false);
- }
- else
- {
- MessageBox.Show("Ошибка условия! Условие не может быть точкой входа!!!", "Script Reader");
- }
- }
- }
- else
- {
- if (mode == 0)
- {
- otvetProc("У вас незакрытая точка входа! Вместо cmd используйте input!\nПример скрипта:\ncmd /help -- Выведется help и cmd закроется\ncmd /home -- cmd не закроется, а потребеут ввода\ninput 0 -- Отключение от сервера и cmd закроется\ncmd /clear -- очистит консоль и закроет cmd\nПродумывайте свой скрипт на перёд!", false);
- }
- else
- {
- MessageBox.Show("У вас незакрытая точка входа! Вместо cmd используйте input!\nПример скрипта:\ncmd /help -- Выведется help и cmd закроется\ncmd /home -- cmd не закроется, а потребеут ввода\ninput 0 -- Отключение от сервера и cmd закроется\ncmd /clear -- очистит консоль и закроет cmd\nПродумывайте свой скрипт на перёд!", "Script Reader");
- }
- }
- }
- #endregion
- #region INPUT
- if (uslovie.Split(' ')[0] == "INPUT" ||
- uslovie.Split(' ')[0] == "Input" ||
- uslovie.Split(' ')[0] == "input")
- {
- if (EnterPointCount > 0)
- {
- if (script[currLine].Split(' ')[1] == "0" ||
- script[currLine].Split(' ')[1] == "/help" ||
- script[currLine].Split(' ')[1] == "/help 1" ||
- script[currLine].Split(' ')[1] == "/help 2" ||
- script[currLine].Split(' ')[1] == "/help 3" ||
- script[currLine].Split(' ')[1] == "/help 4" ||
- script[currLine].Split(' ')[1] == "/ip" ||
- script[currLine].Split(' ')[1] == "/clear" ||
- script[currLine].Split(' ')[1] == "/note" ||
- script[currLine].Split(' ')[1] == "/Note" ||
- script[currLine].Split(' ')[1] == "/NOTE" ||
- script[currLine].Split(' ')[1] == "/script" ||
- script[currLine].Split(' ')[1] == "/Script" ||
- script[currLine].Split(' ')[1] == "/SCRIPT" ||
- script[currLine].Split(' ')[1] == "/exit" ||
- script[currLine].Split(' ')[1] == "/exe" ||
- script[currLine].Split(' ')[1] == "/save" ||
- script[currLine].Split(' ')[1] == "/load")
- {
- EnterPointCount--;
- }
- okey += "ok";
- }
- else
- {
- if (mode == 0)
- {
- otvetProc("При использовании input в скрипте должна быть точка входа - cmd!\nПример скрипта:\ncmd /home\ninput 0", false);
- }
- else
- {
- MessageBox.Show("При использовании input в скрипте должна быть точка входа - cmd!\nПример скрипта:\ncmd /home\ninput 0", "Script Reader");
- }
- }
- }
- #endregion
- #region SERVER
- if (uslovie.Split(' ')[0] == "SERVER" ||
- uslovie.Split(' ')[0] == "server" ||
- uslovie.Split(' ')[0] == "Server")
- {
- okey += "ok";
- }
- #endregion
- }
- #endregion
- #region CommandCorrect
- while (currLine != ifferEndCurLine)
- {
- #region null
- if (script[currLine].Split(' ')[0] == "" ||
- script[currLine].Split(' ')[0] == " " ||
- script[currLine].Split(' ')[0] == null)
- {
- continue;
- }
- #endregion
- #region CMD
- if (script[currLine].Split(' ')[0] == "CMD" ||
- script[currLine].Split(' ')[0] == "Cmd" ||
- script[currLine].Split(' ')[0] == "cmd")
- {
- okey += "ok";
- break;
- }
- #endregion
- #region INPUT
- if (script[currLine].Split(' ')[0] == "INPUT" ||
- script[currLine].Split(' ')[0] == "Input" ||
- script[currLine].Split(' ')[0] == "input")
- {
- okey += "ok";
- break;
- }
- #endregion
- #region WRITE
- if (script[currLine].Split(' ')[0] == "WRITE" ||
- script[currLine].Split(' ')[0] == "Write" ||
- script[currLine].Split(' ')[0] == "write")
- {
- okey += "ok";
- break;
- }
- #endregion
- #region SERVER
- if (script[currLine].Split(' ')[0] == "SERVER" ||
- script[currLine].Split(' ')[0] == "server" ||
- script[currLine].Split(' ')[0] == "Server")
- {
- okey += "ok";
- break;
- }
- #endregion
- currLine++;
- }
- #endregion
- currLine = ifferCurrLine;
- }
- catch (Exception)
- {
- currLine = ifferCurrLine;
- }
- if (okey != "okokok")
- {
- if (mode == 0)
- {
- otvetProc("Ошибка условий!\nВы неправильно задали условие или действие!\nПожалуйста проверьте свой скрипт на наличие ошибок!\nПример скрипта:\ncmd /home //Подключимся к своему ПК\nif (input 1) //Если сервер примит запрос(не даст ошибки)\ninput dir //То введём dir\ninput dc //Отключимся от файловой системы\ninput 0 //Введём 0 (отключимся от сервера)\nwrite 'Скрипт завершён' //Выводит сообщение на консоль\nend //Завершает условие(Обязательно нужно писать в конце условия!)", false);
- }
- else
- {
- MessageBox.Show("Ошибка условий!\nВы неправильно задали условие или действие!\nПожалуйста проверьте свой скрипт на наличие ошибок!\nПример скрипта:\ncmd /home //Подключимся к своему ПК\nif (input 1) //Если сервер примит запрос(не даст ошибки)\ninput dir //То введём dir\ninput dc //Отключимся от файловой системы\ninput 0 //Введём 0 (отключимся от сервера)\nwrite 'Скрипт завершён' //Выводит сообщение на консоль\nend //Завершает условие(Обязательно нужно писать в конце условия!)", "Script Reader");
- }
- }
- else
- {
- continue;
- }
- }
- else
- {
- if (mode == 0)
- {
- otvetProc("Ошибка условий! Нельзя вызвать условие в условиях!", false);
- }
- else
- {
- MessageBox.Show("Ошибка условий! Нельзя вызвать условие в условиях!", "Script Reader");
- }
- }
- }
- #endregion
- if (mode == 0)
- {
- otvetProc("В строке " + currLine + ", обнаружена ошибка!", false);
- }
- else
- {
- MessageBox.Show("В строке " + (currLine - 1) + ", обнаружена ошибка!", "Script Reader");
- }
- return false;
- }
- }
- #endregion
- if (mode == 0)
- {
- otvetProc("Скрипт " + script[0] + " прочитан успешно!", true);
- }
- else
- {
- MessageBox.Show("Скрипт " + script[0] + " прочитан успешно!", "Script Reader");
- }
- return true;
- }
- catch (Exception)
- {
- if (mode == 0)
- {
- otvetProc("Ошибка в чтении скрипта!", false);
- }
- else
- {
- MessageBox.Show("Ошибка в чтении скрипта!", "Script Reader");
- }
- return false;
- }
- }
- public void ScriptRUN()
- {
- if (ScriptReader(script, 0))
- {
- ScriptOnOf = true;
- if (ScriptComandSender(script))
- {
- Thread.Sleep(1000);
- otvetProc("Скрипт " + script[0] + " выполнен успешно!", true);
- Console.WriteLine();
- ScriptOnOf = false;
- script = null;
- scriptTH.Suspend();
- }
- else
- {
- otvetProc("Ошибка выполнения скрипта!", false);
- Console.WriteLine();
- ScriptOnOf = false;
- script = null;
- scriptTH.Suspend();
- }
- }
- else
- {
- ScriptOnOf = false;
- script = null;
- scriptTH.Suspend();
- }
- }
- public void ScriptTH_2()
- {
- if (GlobalScriptActions == "Cmd" || GlobalScriptActions == "CMD" || GlobalScriptActions == "cmd")
- {
- cmd();
- }
- }
- #endregion
- #region SaveAndLoadGame
- public void SaveGame()
- {
- #region XML SAVE
- XmlTextWriter xmlWriter = new XmlTextWriter("Save_" + Name, Encoding.Unicode);
- xmlWriter.Formatting = Formatting.Indented;
- xmlWriter.WriteStartDocument();
- xmlWriter.WriteStartElement("SAVE_HACKGAME");
- #region Global_Data
- xmlWriter.WriteStartElement("Global_Data");
- xmlWriter.WriteStartAttribute("SavePos");
- xmlWriter.WriteValue(currSavePos);
- xmlWriter.WriteEndAttribute();
- xmlWriter.WriteStartAttribute("Name");
- xmlWriter.WriteValue(Name);
- xmlWriter.WriteEndAttribute();
- xmlWriter.WriteStartAttribute("IP");
- xmlWriter.WriteValue(ip);
- xmlWriter.WriteEndAttribute();
- xmlWriter.WriteStartAttribute("DostupLocal");
- xmlWriter.WriteValue(publicDostup.ToString());
- xmlWriter.WriteEndAttribute();
- xmlWriter.WriteStartAttribute("Podskaz");
- xmlWriter.WriteValue(podskz_of_on);
- xmlWriter.WriteEndAttribute();
- xmlWriter.WriteEndElement();
- #endregion
- #region MEMORY
- xmlWriter.WriteStartElement("Memory");
- xmlWriter.WriteStartAttribute("Memory_Lenght");
- xmlWriter.WriteValue(memDownload.Length);
- xmlWriter.WriteEndAttribute();
- #region Files
- xmlWriter.WriteStartElement("Files");
- foreach (string[] File in memDownload)
- {
- if (File != null)
- {
- xmlWriter.WriteStartElement("FILE_" + File[0]);
- for (int currLine = 0; currLine < File.Length; currLine++)
- {
- if (File[currLine] != null)
- {
- xmlWriter.WriteStartAttribute("s" + currLine.ToString());
- xmlWriter.WriteValue(File[currLine]);
- xmlWriter.WriteEndAttribute();
- }
- }
- xmlWriter.WriteEndElement();
- }
- }
- xmlWriter.WriteEndElement();
- #endregion
- xmlWriter.WriteEndElement();
- #endregion
- #region SERVERS
- xmlWriter.WriteStartElement("SERVERS");
- xmlWriter.WriteStartElement("DATA");
- foreach (Array[] SERVER in DATA)
- {
- if (SERVER != null)
- {
- xmlWriter.WriteStartElement("SERVER_" + SERVER[0].GetValue(0).ToString());
- foreach (string[] FILE in SERVER)
- {
- if (FILE != null)
- {
- #region FILES
- xmlWriter.WriteStartElement("FILE_" + FILE[0]);
- for (int currLine = 0; currLine < FILE.Length; currLine++)
- {
- if (FILE[currLine] != null)
- {
- xmlWriter.WriteStartAttribute("s" + currLine.ToString());
- xmlWriter.WriteValue(FILE[currLine]);
- xmlWriter.WriteEndAttribute();
- }
- }
- xmlWriter.WriteEndElement();
- #endregion
- }
- }
- xmlWriter.WriteEndElement();
- }
- }
- xmlWriter.WriteEndElement();
- xmlWriter.WriteEndElement();
- #endregion
- xmlWriter.WriteEndElement();
- xmlWriter.WriteEndDocument();
- xmlWriter.Close();
- #endregion
- #region OLD SAVE
- /*
- * OLD VERSION SAVE:
- string[] savefile = new string[100];
- savefile[0] = currSavePos.ToString();
- savefile[1] = ip;
- savefile[2] = name;
- savefile[3] = memDownload.Length.ToString();
- savefile[4] = podskz_of_on.ToString();
- savefile[5] = publicDostup.ToString();
- foreach (string[] files in memDownload)
- {
- if (files != null)
- {
- for (int i = 0; i < files.Length; i++)
- {
- savefile[i + 6] = files[i];
- }
- }
- }
- File.WriteAllLines(Directory.GetCurrentDirectory() + "/SaveGame_" + name + ".save", savefile);
- */
- #endregion
- }
- public int LoadGame()
- {
- #region XML LOAD_SAVE
- OpenFileDialog ofd = new OpenFileDialog();
- ofd.Title = "Выберите файл с сохранением";
- ofd.InitialDirectory = Directory.GetCurrentDirectory();
- ofd.ShowDialog();
- try
- {
- if (ofd.FileName != null)
- {
- try
- {
- XmlDocument xDoc = new XmlDocument();
- xDoc.Load(ofd.FileName);
- foreach (XmlNode GLOBALnode in xDoc.ChildNodes)
- {
- if (GLOBALnode.Name == "SAVE_HACKGAME")
- {
- foreach (XmlNode Globalnode in GLOBALnode.ChildNodes)
- {
- #region Global_Data
- if (Globalnode.Name == "Global_Data")
- {
- foreach (XmlAttribute Atribut in Globalnode.Attributes)
- {
- switch (Atribut.Name)
- {
- case "SavePos":
- currSavePos = Convert.ToInt32(Atribut.Value);
- break;
- case "Name":
- Name = Atribut.Value;
- break;
- case "IP":
- ip = Atribut.Value;
- break;
- case "DostupLocal":
- publicDostup = StringToDostup(Atribut.Value);
- break;
- case "Podskaz":
- if (Atribut.Value == "false")
- {
- podskz_of_on = false;
- }
- else
- {
- podskz_of_on = true;
- }
- break;
- }
- }
- }
- #endregion
- #region Memory
- if (Globalnode.Name == "Memory")
- {
- foreach (XmlAttribute Atribute in Globalnode.Attributes)
- {
- if (Atribute.Name == "Memory_Lenght")
- {
- memDownload = new Array[Convert.ToInt32(Atribute.Value)];
- }
- }
- foreach (XmlNode Global_Memory_node in Globalnode.ChildNodes)
- {
- #region Files
- if (Global_Memory_node.Name == "Files")
- {
- foreach (XmlNode FileNode in Global_Memory_node.ChildNodes)
- {
- string[] file = CreateFile(FileNode.Attributes[0].Value, FileNode.Attributes[1].Value, FileNode.Attributes.Count);
- for (int i = 2; i < FileNode.Attributes.Count; i++)
- {
- file[i] = FileNode.Attributes[i].Value;
- }
- memDownload = UploadINStore(memDownload, file);
- }
- }
- #endregion
- }
- }
- #endregion
- #region SERVERS
- if (Globalnode.Name == "SERVERS")
- {
- foreach (XmlNode Global_ServersNode in Globalnode.ChildNodes)
- {
- #region DATA
- if (Global_ServersNode.Name == "DATA")
- {
- foreach (XmlNode ServerNode in Global_ServersNode.ChildNodes)
- {
- Array[] SERVER_FILES = new Array[ServerNode.ChildNodes.Count];
- foreach (XmlNode FilesNode in ServerNode)
- {
- string[] file = CreateFile(FilesNode.Attributes[0].Value, FilesNode.Attributes[1].Value, FilesNode.Attributes.Count);
- for (int i = 2; i < FilesNode.Attributes.Count; i++)
- {
- file[i] = FilesNode.Attributes[i].Value;
- }
- SERVER_FILES = UploadINStore(SERVER_FILES, file);
- }
- DATA = UploadServerFilesInSERVERSDATA(DATA, SERVER_FILES);
- }
- }
- #endregion
- }
- }
- #endregion
- }
- }
- }
- return 1;
- }
- catch (Exception)
- {
- otvetProc("Ошибка загрузки! Возможно файл сохранения повреждён!", false);
- return 0;
- }
- }
- else
- {
- otvetProc("Вы не выбрали сохранение!", false);
- return 0;
- }
- }
- catch (Exception)
- {
- otvetProc("Ошибка загрузки!", false);
- return 0;
- }
- #endregion
- #region XML LOAD_SAVE(OLD XML)
- /*
- OpenFileDialog ofd = new OpenFileDialog();
- ofd.Title = "Выберите файл с сохранением";
- ofd.InitialDirectory = Directory.GetCurrentDirectory();
- ofd.ShowDialog();
- try
- {
- if (ofd.FileName != null)
- {
- try
- {
- XmlTextReader xmlReader = new XmlTextReader(ofd.FileName);
- xmlReader.WhitespaceHandling = WhitespaceHandling.None;
- int Memory_Lenght;
- while (xmlReader.Read())
- {
- switch (xmlReader.Name)
- {
- #region Global_Data
- case "Global_Data":
- currSavePos = Convert.ToInt32(xmlReader.GetAttribute("SavePos"));
- Name = xmlReader.GetAttribute("Name");
- ip = xmlReader.GetAttribute("IP");
- switch (xmlReader.GetAttribute("DostupLocal"))
- {
- case "admin":
- publicDostup = dostup.admin;
- break;
- case "user":
- publicDostup = dostup.user;
- break;
- case "read":
- publicDostup = dostup.read;
- break;
- case "write":
- publicDostup = dostup.write;
- break;
- case "none":
- publicDostup = dostup.none;
- break;
- }
- if (xmlReader.GetAttribute("Podskaz") == "false")
- {
- podskz_of_on = false;
- }
- else
- {
- podskz_of_on = true;
- }
- break;
- #endregion
- #region Memory
- case "Memory":
- Memory_Lenght = Convert.ToInt32(xmlReader.GetAttribute("Memory_Lenght"));
- memDownload = new Array[Memory_Lenght];
- break;
- #endregion
- #region Files
- case "Files":
- try
- {
- while (xmlReader.Read())
- {
- if (xmlReader.AttributeCount != 0)
- {
- string[] file = new string[xmlReader.AttributeCount];
- for (int i = 0; i < xmlReader.AttributeCount; i++)
- {
- file[i] = xmlReader.GetAttribute(i);
- }
- if (file != null)
- {
- for (int i = 0; i < memDownload.Length; i++)
- {
- if (memDownload[i] == null)
- {
- memDownload[i] = file;
- break;
- }
- }
- }
- }
- else
- {
- break;
- }
- }
- }
- catch (Exception)
- {
- otvetProc("Ошибка в чтении памяти из сохранения!", false);
- return 0;
- }
- break;
- #endregion
- #region DATA
- case "DATA":
- try
- {
- while (xmlReader.Read())
- {
- if (!xmlReader.IsEmptyElement)
- {
- Array[] FILES = new Array[100];
- while (xmlReader.Read())
- {
- if (xmlReader.AttributeCount != 0)
- {
- string[] file = new string[xmlReader.AttributeCount];
- for (int i = 0; i < xmlReader.AttributeCount; i++)
- {
- file[i] = xmlReader.GetAttribute(i);
- }
- if (file != null)
- {
- for (int i = 0; i < FILES.Length; i++)
- {
- if (FILES[i] == null)
- {
- FILES[i] = file;
- break;
- }
- }
- }
- }
- else
- {
- break;
- }
- }
- int counter = 0;
- for (int i = 0; i < FILES.Length; i++)
- {
- if (FILES[i] != null)
- {
- counter++;
- }
- }
- Array[] Files = new Array[counter];
- FILES.CopyTo(Files, 0);
- DATA = UploadServerFilesInSERVERSDATA(DATA, Files);
- }
- else
- {
- break;
- }
- }
- }
- catch
- {
- otvetProc("Ошибка загрузки данных серверов из сохранения", false);
- }
- break;
- #endregion
- }
- }
- xmlReader.Close();
- return 1;
- }
- catch (Exception)
- {
- otvetProc("Ошибка загрузки! Возможно файл сохранения повреждён!", false);
- return 0;
- }
- }
- else
- {
- otvetProc("Вы не выбрали сохранение!", false);
- return 0;
- }
- }
- catch (Exception)
- {
- otvetProc("Ошибка загрузки!", false);
- return 0;
- }
- */
- #endregion
- #region OLD LOAD_SAVE
- /*
- try
- {
- OpenFileDialog ofd = new OpenFileDialog();
- ofd.Title = "Выберите файл с сохранением";
- ofd.InitialDirectory = Directory.GetCurrentDirectory();
- ofd.ShowDialog();
- string[] loadfile = File.ReadAllLines(ofd.FileName);
- if (loadfile == null)
- {
- return 0;
- }
- else
- {
- currSavePos = Convert.ToInt32(loadfile[0]);
- ip = loadfile[1];
- Name = loadfile[2];
- memDownload = new Array[Convert.ToInt32(loadfile[3])];
- if (loadfile[4] == "False")
- {
- podskz_of_on = false;
- }
- else
- {
- podskz_of_on = true;
- }
- if (loadfile[5] != null)
- {
- switch (loadfile[5])
- {
- case "admin":
- publicDostup = dostup.admin;
- break;
- case "user":
- publicDostup = dostup.user;
- break;
- case "read":
- publicDostup = dostup.read;
- break;
- case "write":
- publicDostup = dostup.write;
- break;
- case "none":
- publicDostup = dostup.none;
- break;
- }
- }
- string[] file;
- for (int i = 6; i < loadfile.Length; i++)
- {
- if (loadfile[i] == "txt" || loadfile[i] == "exe" || loadfile[i] == "script")
- {
- file = new string[10];
- for (int l = 0; l < file.Length; l++)
- {
- file[l] = loadfile[l + i - 1];
- if (loadfile[l + i - 1] == "end")
- {
- for (int files = 0; files < memDownload.Length; files++)
- {
- if (memDownload[files] != file)
- {
- if (memDownload[files] == null)
- {
- memDownload[files] = file;
- break;
- }
- }
- }
- break;
- }
- }
- }
- }
- return 1;
- }
- }
- catch
- {
- otvetProc("ОШИБКА ЗАГРУЗКИ!", false);
- return 0;
- }
- */
- #endregion
- }
- #endregion
- #region HELP
- public void Help(string comand)
- {
- bool ok = false;
- if (comand == "help" || comand == "help 1")
- {
- Console.BackgroundColor = ConsoleColor.DarkYellow;
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.WriteLine();
- Console.WriteLine("/help - основная помощь");
- Console.WriteLine("/help 2 - помощь в запросах на файловые системы");
- Console.WriteLine("/help 3 - Помощь в параметрах доступа");
- Console.WriteLine("/help 4 - Уязвимые запросы");
- Console.WriteLine("/help 5 - Помощь в Скриптах");
- Console.WriteLine("/clear - очистить консоль");
- Console.WriteLine("/note - Блокнот для записи данных");
- Console.WriteLine("/connect 'ip' - подключение к удалённому шлюзу");
- Console.WriteLine("/exe 'программа' - запуск программы");
- Console.WriteLine("/ip - узнать свой ip адрес");
- Console.WriteLine("/home - Просмотр локального сервера (ВАШ ПК)");
- Console.WriteLine("/save - сохранение игры (ТЕСТОВАЯ КОМАНДА!)");
- Console.WriteLine("/load - загрузка игры (ТЕСТОВАЯ КОМАНДА!)");
- Console.WriteLine();
- Console.BackgroundColor = ConsoleColor.Black;
- Console.ForegroundColor = ConsoleColor.Gray;
- ok = true;
- }
- if (comand == "help 2")
- {
- podskz_of_on = true;
- Podskaz(2);
- podskz_of_on = false;
- ok = true;
- }
- if (comand == "help 3")
- {
- podskz_of_on = true;
- Podskaz(3);
- podskz_of_on = false;
- ok = true;
- }
- if (comand == "help 4")
- {
- podskz_of_on = true;
- Podskaz(4);
- podskz_of_on = false;
- ok = true;
- }
- if (comand == "help 5")
- {
- podskz_of_on = true;
- Podskaz(5);
- podskz_of_on = false;
- ok = true;
- }
- if (ok == true)
- {
- ok = false;
- return;
- }
- }
- #endregion
- #region Подсказки
- /// <summary>
- /// Подсказки
- /// </summary>
- /// <param name="num">1 - подсказка о /, 2 - подскаска о запросах в файловых системах, 3 - о доступе, 4 - о уязвимых запросах</param>
- public void Podskaz(int num)
- {
- switch (num)
- {
- case 5:
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.BackgroundColor = ConsoleColor.DarkYellow;
- Console.WriteLine();
- Console.WriteLine("Помощь по скриптам:");
- Console.WriteLine("Чтобы писать скрипты нужно иметь программу Scriptor");
- Console.WriteLine("Если она у вас имеется, то запустите её - /exe Scriptor");
- Console.WriteLine("Дальше вам нужно написать скрипт");
- Console.WriteLine("Команды:");
- Console.WriteLine("Команда - write 'TEXT' - выводит сообщение (Обязательно в одинарных кавычках!)");
- Console.WriteLine("Команда - write 1+1 - выводит арефметический ответ");
- Console.WriteLine("Команда - cmd /'консольная команда' - выполняет консольную команду");
- Console.WriteLine("Команда - input 'TEXT' - вводит (TEXT) в строку запроса - (выполняется при открытой точке входа)");
- Console.WriteLine("Условия:");
- Console.WriteLine("if (input 0) - условие (если сервер успешно принял запрос(0), тогда выполняются команды)");
- Console.WriteLine("write 'Выход выполнен' - команды которые выполняются если условие выполнено");
- Console.WriteLine("end - закрывает if");
- Console.WriteLine("Обратное условие:");
- Console.WriteLine("if !(input 0) - условие (если сервер успешно принял запрос(0), тогда команды не выполняются)");
- Console.WriteLine("write 'Выход выполнен' - команды которые выполняются если условие не выполнено");
- Console.WriteLine("end - закрывает if");
- Console.WriteLine();
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- break;
- case 4:
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.BackgroundColor = ConsoleColor.DarkYellow;
- Console.WriteLine();
- Console.WriteLine("Все запросы, которые часто уязвимы:");
- Console.WriteLine("! @ # $ % ^ & * ( ) _ - + =");
- Console.WriteLine();
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- break;
- case 3:
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.BackgroundColor = ConsoleColor.DarkYellow;
- Console.WriteLine();
- Console.WriteLine("Права доступа - admin - может изменять настройки и имеет доступ ко всему.");
- Console.WriteLine("Права доступа - user - имеет доступ к файлам, не имеет доступ к системным файлам.");
- Console.WriteLine("Права доступа - read - имеют доступ сохранять или просматривать файл (не системный)");
- Console.WriteLine("Права доступа - write - имеют доступ записывать, создавать файлы (редко используемые)");
- Console.WriteLine("Права доступа - none - нет доступа к файловой системе.");
- Console.WriteLine();
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- break;
- case 2:
- if (podskz_of_on == true)
- {
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.BackgroundColor = ConsoleColor.DarkYellow;
- Console.WriteLine();
- Console.WriteLine("Используйте запрос \"dir\" для того, чтобы посмотреть какие файлы находяться в файловой системе.");
- Console.WriteLine("Используйте запрос \"rm \"Имя файла\" для того, чтобы удалить файл в текущей дериктории.");
- Console.WriteLine("Используйте запрос \"rm *\" для того, чтобы удалить все файлы в текущей дериктории.");
- Console.WriteLine("Используйте запрос \"dc\", чтобы отключиться от файловой системы.");
- Console.WriteLine("Используйте запрос \"save 'Имя файла'\", чтобы загрузить файл себе на компьютер.");
- Console.WriteLine("Используйте запрос \"copy 'Имя файла'\", чтобы сделать копию файла.");
- Console.WriteLine("Используйте запрос \"upload 'Имя файла'\", чтобы загрузить на сервер файл");
- Console.WriteLine("Используйте запрос \"rename 'Имя файла' 'Новое имя файла'\", чтобы переименновать файл.");
- Console.WriteLine("В ЗАПРОСАХ МОЖНО УКАЗЫВАТЬ КОМАНДЫ! НАПРИМЕР - '/help' или '/note' - но не все!.");
- Console.WriteLine();
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- }
- break;
- case 1:
- if (podskz_of_on == true)
- {
- Console.WriteLine();
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.BackgroundColor = ConsoleColor.DarkYellow;
- Console.WriteLine("Подсказка: Команды начинаются со знака \"/\"");
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- }
- break;
- }
- }
- #endregion
- #region Свой разговор
- /// <summary>
- /// Твой разговор
- /// </summary>
- /// <param name="s">Текст</param>
- /// <param name="otv">true - ожидание ввода</param>
- /// <param name="name">Имя писавшего</param>
- public void pers(string s, bool otv, string name)
- {
- Console.ForegroundColor = ConsoleColor.Green;
- Console.BackgroundColor = ConsoleColor.Black;
- Console.Write(name + ":");
- Console.ForegroundColor = ConsoleColor.Green;
- Console.BackgroundColor = ConsoleColor.DarkGreen;
- SlowVvod(s);
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- if (otv == true)
- prod();
- }
- /// <summary>
- /// Твой разговор
- /// </summary>
- /// <param name="s">Текст</param>
- /// <param name="name">Имя писавшего</param>
- public void pers(string s, string name)
- {
- Console.ForegroundColor = ConsoleColor.Green;
- Console.BackgroundColor = ConsoleColor.Black;
- Console.Write(name + ":");
- Console.ForegroundColor = ConsoleColor.Green;
- Console.BackgroundColor = ConsoleColor.DarkGreen;
- SlowVvod(s);
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- }
- /// <summary>
- /// Твой разговор
- /// </summary>
- /// <param name="s">Текст</param>
- /// <param name="otv">true - ожидание ввода</param>
- public void pers(string s, bool otv)
- {
- Console.ForegroundColor = ConsoleColor.Green;
- Console.BackgroundColor = ConsoleColor.DarkGreen;
- SlowVvod(s);
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- if (otv == true)
- prod();
- }
- /// <summary>
- /// Твой разговор
- /// </summary>
- /// <param name="s">Текст</param>
- public void pers(string s)
- {
- Console.ForegroundColor = ConsoleColor.Green;
- Console.BackgroundColor = ConsoleColor.DarkGreen;
- SlowVvod(s);
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- }
- #endregion
- #region Чужой разговор
- /// <summary>
- /// Диалог
- /// </summary>
- /// <param name="s">Текст</param>
- /// <param name="otv">true - ожидание ввода</param>
- /// <param name="name">Имя того кто писал диалог</param>
- public void dialog(string s, bool otv, string name, ConsoleColor color)
- {
- Console.ForegroundColor = color;
- Console.BackgroundColor = ConsoleColor.Black;
- Console.Write(name + ":");
- Console.ForegroundColor = color;
- switch (color)
- {
- case ConsoleColor.Blue:
- Console.BackgroundColor = ConsoleColor.DarkBlue;
- break;
- case ConsoleColor.Cyan:
- Console.BackgroundColor = ConsoleColor.Cyan;
- break;
- case ConsoleColor.Gray:
- Console.BackgroundColor = ConsoleColor.DarkGray;
- break;
- case ConsoleColor.Green:
- Console.BackgroundColor = ConsoleColor.DarkGreen;
- break;
- case ConsoleColor.Magenta:
- Console.BackgroundColor = ConsoleColor.DarkMagenta;
- break;
- case ConsoleColor.Red:
- Console.BackgroundColor = ConsoleColor.DarkRed;
- break;
- case ConsoleColor.Yellow:
- Console.BackgroundColor = ConsoleColor.DarkYellow;
- break;
- }
- SlowVvod(s);
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- if (otv == true)
- prod();
- }
- /// <summary>
- /// Диалог
- /// </summary>
- /// <param name="s">Текст</param>
- /// <param name="otv">true - ожидание ввода</param>
- /// <param name="name">Имя того кто писал диалог</param>
- public void dialog(string s, bool otv, string name)
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.BackgroundColor = ConsoleColor.Black;
- Console.Write(name + ":");
- Console.ForegroundColor = ConsoleColor.Red;
- Console.BackgroundColor = ConsoleColor.DarkRed;
- SlowVvod(s);
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- if (otv == true)
- prod();
- }
- /// <summary>
- /// Диалог
- /// </summary>
- /// <param name="s">Текст</param>
- /// <param name="name">Имя того кто писал диалог</param>
- public void dialog(string s, string name)
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.BackgroundColor = ConsoleColor.Black;
- Console.Write(name + ":");
- Console.ForegroundColor = ConsoleColor.Red;
- Console.BackgroundColor = ConsoleColor.DarkRed;
- SlowVvod(s);
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- }
- /// <summary>
- /// Диалог
- /// </summary>
- /// <param name="s">Текст</param>
- /// <param name="otv">true - ожидание ввода</param>
- public void dialog(string s, bool otv)
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.BackgroundColor = ConsoleColor.DarkRed;
- if (ScriptOnOf)
- Console.WriteLine(s);
- else
- SlowVvod(s);
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- if (otv == true)
- prod();
- }
- /// <summary>
- /// Диалог
- /// </summary>
- /// <param name="s">Текст</param>
- public void dialog(string s)
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.BackgroundColor = ConsoleColor.DarkRed;
- if (ScriptOnOf)
- Console.WriteLine(s);
- else
- SlowVvod(s);
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- }
- #endregion
- #region Ожидание
- public void SlowVvod(string s)
- {
- if (!ScriptOnOf)
- {
- foreach (char ch in s)
- {
- Console.Write(ch);
- Thread.Sleep(30);
- }
- Console.WriteLine();
- }
- else
- {
- Console.WriteLine(s);
- }
- }
- #region Continue
- public void prod()
- {
- if (!ScriptOnOf)
- {
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.BackgroundColor = ConsoleColor.DarkYellow;
- Console.Write("Нажмите для ввода");
- Console.ReadKey(true);
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- Console.SetCursorPosition(0, Console.CursorTop);
- do
- {
- Console.Write(" ");
- Console.CursorLeft++;
- } while (Console.CursorLeft == 1);
- Console.SetCursorPosition(0, Console.CursorTop);
- }
- }
- public void prod(string text)
- {
- if (!ScriptOnOf)
- {
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.BackgroundColor = ConsoleColor.DarkYellow;
- Console.Write(text);
- Console.ReadKey(true);
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- Console.SetCursorPosition(0, Console.CursorTop);
- do
- {
- Console.Write(" ");
- Console.CursorLeft++;
- } while (Console.CursorLeft == 1);
- Console.SetCursorPosition(0, Console.CursorTop);
- }
- }
- public void prod(ConsoleColor textColor)
- {
- if (!ScriptOnOf)
- {
- Console.ForegroundColor = textColor;
- Console.BackgroundColor = ConsoleColor.Black;
- Console.Write("Нажмите для ввода");
- Console.ReadKey(true);
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- Console.SetCursorPosition(0, Console.CursorTop);
- do
- {
- Console.Write(" ");
- Console.CursorLeft++;
- } while (Console.CursorLeft == 1);
- Console.SetCursorPosition(0, Console.CursorTop);
- }
- }
- public void prod(string text, ConsoleColor textColor)
- {
- if (!ScriptOnOf)
- {
- Console.ForegroundColor = textColor;
- Console.BackgroundColor = ConsoleColor.Black;
- Console.Write(text);
- Console.ReadKey(true);
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- Console.SetCursorPosition(0, Console.CursorTop);
- do
- {
- Console.Write(" ");
- Console.CursorLeft++;
- } while (Console.CursorLeft == 1);
- Console.SetCursorPosition(0, Console.CursorTop);
- }
- }
- public void prod(ConsoleColor textColor, ConsoleColor backColor)
- {
- if (!ScriptOnOf)
- {
- Console.ForegroundColor = textColor;
- Console.BackgroundColor = backColor;
- Console.Write("Нажмите для ввода");
- Console.ReadKey(true);
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- Console.SetCursorPosition(0, Console.CursorTop);
- do
- {
- Console.Write(" ");
- Console.CursorLeft++;
- } while (Console.CursorLeft == 1);
- Console.SetCursorPosition(0, Console.CursorTop);
- }
- }
- public void prod(string text, ConsoleColor textColor, ConsoleColor backColor)
- {
- if (!ScriptOnOf)
- {
- Console.ForegroundColor = textColor;
- Console.BackgroundColor = backColor;
- Console.Write(text);
- Console.ReadKey(true);
- Console.ForegroundColor = ConsoleColor.Gray;
- Console.BackgroundColor = ConsoleColor.Black;
- Console.SetCursorPosition(0, Console.CursorTop);
- do
- {
- Console.Write(" ");
- Console.CursorLeft++;
- } while (Console.CursorLeft == 1);
- Console.SetCursorPosition(0, Console.CursorTop);
- }
- }
- #endregion
- #region Waiter
- public void Waiter(int count, int time)
- {
- if (!ScriptOnOf)
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.Write("Ожидание");
- Thread.Sleep(time);
- for (int j = 0, i = 0; i <= count; i++)
- {
- if (j == 3)
- {
- j = 0;
- Console.CursorLeft -= 3;
- Console.Write(" ");
- Console.CursorLeft -= 3;
- }
- else
- {
- Console.Write(".");
- j++;
- Thread.Sleep(time);
- }
- }
- Console.CursorLeft = 0;
- Console.Write(" ");
- Console.CursorLeft = 0;
- Console.ForegroundColor = ConsoleColor.Gray;
- }
- }
- public void Waiter(bool green_true, int count, int time)
- {
- if (!ScriptOnOf)
- {
- if (green_true)
- Console.ForegroundColor = ConsoleColor.Green;
- else
- Console.ForegroundColor = ConsoleColor.Red;
- Console.Write("Ожидание");
- Thread.Sleep(time);
- for (int j = 0, i = 0; i <= count; i++)
- {
- if (j == 3)
- {
- j = 0;
- Console.CursorLeft -= 3;
- Console.Write(" ");
- Console.CursorLeft -= 3;
- }
- else
- {
- Console.Write(".");
- j++;
- Thread.Sleep(time);
- }
- }
- Console.CursorLeft = 0;
- Console.Write(" ");
- Console.CursorLeft = 0;
- Console.ForegroundColor = ConsoleColor.Gray;
- }
- }
- public void Waiter(string text, int count, int time)
- {
- if (!ScriptOnOf)
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.Write(text);
- Thread.Sleep(time);
- for (int j = 0, i = 0; i <= count; i++)
- {
- if (j == 3)
- {
- j = 0;
- Console.CursorLeft -= 3;
- Console.Write(" ");
- Console.CursorLeft -= 3;
- }
- else
- {
- Console.Write(".");
- j++;
- Thread.Sleep(time);
- }
- }
- Console.CursorLeft = 0;
- Console.Write(" ");
- Console.CursorLeft = 0;
- Console.ForegroundColor = ConsoleColor.Gray;
- }
- }
- public void Waiter(string text, bool green_true, int count, int time)
- {
- if (!ScriptOnOf)
- {
- if (green_true)
- Console.ForegroundColor = ConsoleColor.Green;
- else
- Console.ForegroundColor = ConsoleColor.Red;
- Console.Write(text);
- Thread.Sleep(time);
- for (int j = 0, i = 0; i <= count; i++)
- {
- if (j == 3)
- {
- j = 0;
- Console.CursorLeft -= 3;
- Console.Write(" ");
- Console.CursorLeft -= 3;
- }
- else
- {
- Console.Write(".");
- j++;
- Thread.Sleep(time);
- }
- }
- Console.CursorLeft = 0;
- Console.Write(" ");
- Console.CursorLeft = 0;
- Console.ForegroundColor = ConsoleColor.Gray;
- }
- }
- #endregion
- #endregion
- #region INPUT
- public string CallInputUser()
- {
- if (ScriptOnOf == false)
- {
- input = Console.ReadLine();
- }
- else
- if (ScriptOnOf == true)
- {
- Thread.Sleep(100);
- input = GlobalCommandScript;
- int c = 0;
- while (ScriptMessage == "yes")
- {
- Thread.Sleep(100);
- c++;
- if (c == 400)
- break;
- }
- ScriptMessage = "yes";
- }
- return input;
- }
- #endregion
- #region Ответ от операций
- /// <summary>
- /// Ответ о успешном завершении или о ошибке
- /// </summary>
- /// <param name="s">Сообщение выводимое в консоль</param>
- /// <param name="ok">Если false, тогда ошибка, если true, тогда положительный результат</param>
- public void otvetProc(string s, bool ok)
- {
- Thread.Sleep(10);
- if (ok == false)
- {
- Console.BackgroundColor = ConsoleColor.DarkRed;
- Console.ForegroundColor = ConsoleColor.Red;
- SlowVvod(s);
- Console.ResetColor();
- }
- else
- {
- Console.BackgroundColor = ConsoleColor.DarkGreen;
- Console.ForegroundColor = ConsoleColor.Green;
- SlowVvod(s);
- Console.ResetColor();
- }
- }
- /// <summary>
- /// Ответ о успешном завершении или о ошибке
- /// </summary>
- /// <param name="s">Сообщение выводимое в консоль</param>
- /// <param name="ok">Если false, тогда ошибка, если true, тогда положительный результат</param>
- /// <param name="nule">Если false, тогда без фона, есди true, тогда с фоном</param>
- public void otvetProc(string s, bool ok, bool backOn)
- {
- Thread.Sleep(10);
- if (ok == false)
- {
- if (backOn)
- Console.BackgroundColor = ConsoleColor.DarkRed;
- Console.ForegroundColor = ConsoleColor.Red;
- SlowVvod(s);
- Console.ResetColor();
- }
- else
- {
- if (backOn)
- Console.BackgroundColor = ConsoleColor.DarkGreen;
- Console.ForegroundColor = ConsoleColor.Green;
- SlowVvod(s);
- Console.ResetColor();
- }
- }
- #endregion
- #region Случайный цвет
- public void randconsoleColor(bool background)
- {
- do
- {
- if (background == true)
- {
- switch (rand.Next(0, 7))
- {
- case 0:
- Console.BackgroundColor = ConsoleColor.DarkBlue;
- break;
- case 1:
- Console.BackgroundColor = ConsoleColor.DarkCyan;
- break;
- case 2:
- Console.BackgroundColor = ConsoleColor.DarkGray;
- break;
- case 3:
- Console.BackgroundColor = ConsoleColor.DarkGreen;
- break;
- case 4:
- Console.BackgroundColor = ConsoleColor.DarkMagenta;
- break;
- case 5:
- Console.BackgroundColor = ConsoleColor.DarkRed;
- break;
- case 6:
- Console.BackgroundColor = ConsoleColor.DarkYellow;
- break;
- default:
- Console.BackgroundColor = ConsoleColor.Black;
- break;
- }
- }
- switch (rand.Next(0, 8))
- {
- case 0:
- Console.ForegroundColor = ConsoleColor.Blue;
- break;
- case 1:
- Console.ForegroundColor = ConsoleColor.Cyan;
- break;
- case 2:
- Console.ForegroundColor = ConsoleColor.Gray;
- break;
- case 3:
- Console.ForegroundColor = ConsoleColor.Green;
- break;
- case 4:
- Console.ForegroundColor = ConsoleColor.Magenta;
- break;
- case 5:
- Console.ForegroundColor = ConsoleColor.Red;
- break;
- case 6:
- Console.ForegroundColor = ConsoleColor.White;
- break;
- case 7:
- Console.ForegroundColor = ConsoleColor.Yellow;
- break;
- default:
- Console.ForegroundColor = ConsoleColor.Black;
- break;
- }
- } while (Console.BackgroundColor == Console.ForegroundColor);
- }
- #endregion
- #region Programs
- public string GenerateHashCode()
- {
- string HashCode = "";
- char[] abc = new char[]
- { 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p',
- 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l',
- 'z', 'x', 'c', 'v', 'b', 'n', 'm'
- };
- for (int i = 0; i < 16; i++)
- {
- string c = abc[rand.Next(0, abc.Length)].ToString();
- if (rand.Next(0, 2) == 1)
- c = c.ToUpper();
- HashCode += c;
- }
- return HashCode;
- }
- public string GenerateHashCode(int lenght)
- {
- string HashCode = "";
- char[] abc = new char[]
- { 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p',
- 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l',
- 'z', 'x', 'c', 'v', 'b', 'n', 'm'
- };
- for (int i = 0; i < lenght; i++)
- {
- string c = abc[rand.Next(0, abc.Length)].ToString();
- if (rand.Next(0, 2) == 1)
- c = c.ToUpper();
- HashCode += c;
- }
- return HashCode;
- }
- /// <summary>
- /// Возвращает созданный файл
- /// </summary>
- /// <param name="s0">Имя файла</param>
- /// <param name="s1">Расширение</param>
- /// <param name="CountElements">Кол-во элементов в файле(строк)</param>
- /// <returns></returns>
- public string[] CreateFile(string s0, string s1, int CountElements)
- {
- if (CountElements >= 3)
- {
- string[] file = new string[CountElements];
- file[0] = s0;
- file[1] = s1;
- file[file.Length - 1] = "end";
- return file;
- }
- return null;
- }
- /// <summary>
- /// Сохраняет массив сервера в массив серверов и возвращает массив серверов
- /// </summary>
- /// <param name="DATA">Массив серверов</param>
- /// <param name="files">Массив сервера</param>
- /// <returns></returns>
- public Array[] UploadServerFilesInSERVERSDATA(Array[] DATA, Array[] files)
- {
- for (int i = 0; i < DATA.Length; i++)
- {
- Array[] FILES = (Array[])DATA[i];
- if (FILES != null)
- {
- if (FILES[0].GetValue(0) == files[0].GetValue(0))
- {
- DATA[i] = files;
- break;
- }
- }
- else
- {
- DATA[i] = files;
- break;
- }
- }
- return DATA;
- }
- /// <summary>
- /// Получает массив файлов из массива серверов - фильтруя по IP адресу массив серверов
- /// </summary>
- /// <param name="DATA">Массив серверов</param>
- /// <param name="IP">IP адрес нужного сервера</param>
- /// <returns></returns>
- public Array[] FindServerFilesInSERVERDATA(Array[] DATA, string IP)
- {
- foreach (Array[] FILES in DATA)
- {
- if (FILES != null)
- {
- foreach (string[] file in FILES)
- {
- if (file != null)
- {
- if (file[0] == IP && file[1] == "sys")
- {
- return FILES;
- }
- }
- }
- }
- }
- return null;
- }
- /// <summary>
- /// Возвращает системный файл с настройками сервера
- /// </summary>
- /// <param name="IP">IP адрес сервера</param>
- /// <param name="Dostup">Доступ к серверу по умолчанию</param>
- /// <returns></returns>
- public string[] ServerFileIndexer(string IP, dostup Dostup)
- {
- string[] ServerFile = new string[3]
- {
- IP,
- "sys",
- DostupToString(Dostup),
- };
- return ServerFile;
- }
- /// <summary>
- /// Возвращает переведённое перечисление dostup в тип string
- /// </summary>
- /// <param name="Dostup">Значение типа dostup</param>
- /// <returns></returns>
- public string DostupToString(dostup Dostup)
- {
- string dostup = "none";
- switch (Dostup)
- {
- case Program.dostup.admin:
- dostup = "admin";
- break;
- case Program.dostup.user:
- dostup = "user";
- break;
- case Program.dostup.write:
- dostup = "write";
- break;
- case Program.dostup.read:
- dostup = "read";
- break;
- case Program.dostup.none:
- dostup = "none";
- break;
- }
- return dostup;
- }
- /// <summary>
- /// Возвращает переведённое перечисление string в тип dostup
- /// </summary>
- /// <param name="Dostup">Значение типа string</param>
- /// <returns></returns>
- public dostup StringToDostup(string Dostup)
- {
- dostup dostup = Program.dostup.none;
- switch (Dostup)
- {
- case "admin":
- dostup = Program.dostup.admin;
- break;
- case "user":
- dostup = Program.dostup.user;
- break;
- case "write":
- dostup = Program.dostup.write;
- break;
- case "read":
- dostup = Program.dostup.read;
- break;
- }
- return dostup;
- }
- /// <summary>
- /// Возвращает значение int - число символа char в строке
- /// </summary>
- /// <param name="s">Строка в который нужно найти символ(количество символа)</param>
- /// <param name="ch">Символ который нужно найти(количество символа в строке)</param>
- /// <returns></returns>
- public int SearhCharCountInString(string s, char ch)
- {
- int count = 0;
- foreach (char c in s)
- {
- if (c == ch)
- {
- count++;
- }
- }
- return count;
- }
- /// <summary>
- /// Возвращает файл который необходимо найти в массиве файлов
- /// </summary>
- /// <param name="filename">Имя файла</param>
- /// <param name="expand">Расширение файла</param>
- /// <param name="mem">Массив файлов(память)</param>
- /// <returns></returns>
- public string[] SearchFileInMemory(string filename, string expand, Array[] mem)
- {
- try
- {
- foreach (string[] file in mem)
- {
- if (file != null)
- {
- if (expand != null)
- {
- if (file[0] == filename && file[1] == expand)
- {
- return file;
- }
- }
- else
- {
- if (file[0] == filename)
- {
- return file;
- }
- }
- }
- }
- return null;
- }
- catch (Exception)
- {
- return null;
- }
- }
- /// <summary>
- /// Копирует файл который находится в массиве файлов и возвращает массив файлов с скопированным файлом
- /// </summary>
- /// <param name="fileName">Имя файла(.расширение - необезательно)</param>
- /// <param name="mem">Массив файлов(память)</param>
- /// <returns></returns>
- public Array[] CopyFile(string fileName, Array[] mem)
- {
- string[] fileCopy = new string[100];
- string[] newFileCopy = null;
- string ok = "0";
- int Counter = 1;
- bool raschir = true;
- try
- {
- #region FindFile
- for (int i = 0; i < mem.Length; i++)
- {
- if (mem[i] != null)
- {
- if (mem[i].GetValue(0).ToString() == fileName)
- {
- fileCopy = (string[])mem[i];
- ok = "1";
- break;
- }
- if (raschir == true)
- {
- try
- {
- if (fileName.Split('.') != null)
- {
- if (mem[i].GetValue(0).ToString() + "." + fileName.Split('.')[1] == fileName)
- {
- fileCopy = (string[])mem[i];
- ok = "1";
- break;
- }
- }
- }
- catch (Exception)
- {
- raschir = false;
- continue;
- }
- }
- }
- }
- #endregion
- if (ok == "0")
- {
- otvetProc("Файл не найден!", false);
- return null;
- }
- if (fileCopy != null)
- {
- int s = 0;
- for (int i = 0; i < fileCopy.Length; i++)
- {
- if (fileCopy[i] != null)
- {
- s++;
- }
- }
- newFileCopy = new string[s];
- for (int i = 0; i < s; i++)
- {
- newFileCopy[i] = fileCopy[i];
- }
- fileCopy = null;
- newFileCopy[0] += "_" + Counter.ToString();
- ok += "1";
- }
- if (ok == "11")
- {
- for (int i = 0; i < mem.Length; i++)
- {
- if (mem[i] != null)
- {
- if (mem[i].GetValue(0).ToString() == newFileCopy[0] && mem[i].GetValue(1).ToString() == newFileCopy[1])
- {
- newFileCopy[0] = newFileCopy[0].Replace("_" + Counter.ToString(), "_" + (Counter + 1).ToString());
- Counter++;
- }
- }
- }
- for (int i = 0; i < mem.Length; i++)
- {
- if (mem[i] == null)
- {
- mem[i] = newFileCopy;
- ok += "1";
- break;
- }
- }
- if (ok == "111")
- {
- otvetProc("Файл - " + fileName + ", успешно скопирован!", true);
- return mem;
- }
- }
- else
- {
- otvetProc("Ошибка при копировании файла", false);
- }
- }
- catch (Exception)
- {
- otvetProc("Ошибка при копировании файла", false);
- }
- return null;
- }
- /// <summary>
- /// Кладёт файл в массив файлов и возвращает этот массив файлов
- /// </summary>
- /// <param name="store">Массив файлов(память)</param>
- /// <param name="file">Файл который нужно положить в массив файлов</param>
- /// <returns></returns>
- public Array[] UploadINStore(Array[] store, String[] file)
- {
- for (int curCellMem = 0; curCellMem < store.Length; curCellMem++)
- {
- if (store[curCellMem] != null)
- {
- if (store[curCellMem].GetValue(0).ToString() == file[0] &&
- store[curCellMem].GetValue(1).ToString() == file[1])
- {
- store[curCellMem] = file;
- return store;
- }
- }
- else
- {
- store[curCellMem] = file;
- return store;
- }
- if (curCellMem == (store.Length - 1))
- {
- Array[] Store = new Array[store.Length + 1];
- store.CopyTo(Store, 0);
- Store[curCellMem + 1] = file;
- return Store;
- }
- }
- return store;
- }
- public void ProverkaObmen()
- {
- while (true)
- {
- if (SP != null)
- {
- while (SP != null)
- {
- try
- {
- #region File Obmen
- if (SP.FileObmen != null)
- {
- if (FileObmen != null)
- {
- if (SP.FileObmen != FileObmen)
- {
- FileObmen = SP.FileObmen;
- UploadINStore(memDownload, FileObmen);
- continue;
- }
- }
- else
- {
- FileObmen = SP.FileObmen;
- UploadINStore(memDownload, FileObmen);
- continue;
- }
- }
- #endregion
- #region Message Obmen
- if (SP.MessageObmen != null)
- {
- if (MessageObmen != null)
- {
- if (SP.MessageObmen != MessageObmen)
- {
- MessageObmen = SP.MessageObmen;
- continue;
- }
- }
- else
- {
- MessageObmen = SP.MessageObmen;
- continue;
- }
- }
- #endregion
- }
- catch (Exception)
- {
- break;
- }
- }
- ProverkaObmenTH.Abort();
- }
- }
- }
- public void NoteRun()
- {
- ProverkaObmenTH = new Thread(ProverkaObmen);
- ProverkaObmenTH.IsBackground = true;
- ProverkaObmenTH.Start();
- SP = new StartPrograms(memDownload);
- Application.Run(SP);
- }
- public void startPrograms()
- {
- process = currProgram[0];
- SP = new StartPrograms(currProgram, memDownload, ips);
- Application.Run(SP);
- SP = null;
- th_program.Abort();
- }
- public void otvetPrograms(int otvet)
- {
- programsOtvet = otvet;
- }
- public int zaprosPrograms()
- {
- return programsOtvet;
- }
- public string[] zaprosIpPrograms()
- {
- return ips;
- }
- #endregion
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement