private string BuildMaskJobArguments(Job job, TempFilePaths paths)
        {
            var filePaths = BuildFilePaths(paths);
            var c         = job.Command;

            return($"{BuildOptions(c)} --skip={c.Skip} --limit={c.Limit} -m {c.M} "
                   + $" --outfile=\"{paths.OutputFile}\" "
                   + $"{filePaths} {c.TemplateOptions.Mask}");
        }
        private string BuildWordlistJobArguments(Job job, TempFilePaths paths)
        {
            var c         = job.Command;
            var filePaths = BuildFilePaths(paths);;

            return($"{BuildOptions(c)} --skip={c.Skip} --limit={c.Limit} -m {c.M} "
                   + BuildR(c.TemplateOptions.Wordlist)
                   + $" --outfile=\"{paths.OutputFile}\" " +
                   $"{filePaths} \"{Path.Combine(SettingsProvider.CurrentSettings.WordlistPath, c.TemplateOptions.Wordlist.Wordlist)}\"");
        }
        private string BuildTemplateJobArguments(Job job, TempFilePaths paths)
        {
            string command;

            switch (job.TemplateType)
            {
            case TemplateType.Mask:
                command = job.Command.TemplateOptions.Mask.ToString();
                break;

            case TemplateType.Wordlist:
                command = BuildR(job.Command.TemplateOptions.Wordlist)
                          + $" \"{Path.Combine(SettingsProvider.CurrentSettings.WordlistPath, job.Command.TemplateOptions.Wordlist.Wordlist)}\"";
                break;

            default:
                throw new ArgumentException($"Кривой template_type для задачи, с таким не работаем: {job.TemplateType}");
            }

            return($"{BuildOptions(job.Command)} {command}");
        }
 public string BuildFilePaths(TempFilePaths paths) => paths.PotFile == null
                         ? $" \"{paths.HashFile}\" "
                         : $"--potfile-path=\"{paths.PotFile}\" \"{paths.HashFile}\" ";
        private string BuildHashlistJobArguments(Job job, TempFilePaths paths)
        {
            var c = job.Command;

            return($"{BuildOptions(c)} -m {c.M} {BuildFilePaths(paths)}");
        }
 public string BuildArguments(Job job, TempFilePaths paths) => maps[job.Type](job, paths);