コード例 #1
0
 public Diceware(Wordlist wordlist, int Length, string delimitter)
 {
     SelectedWordlist = wordlist;
     PasswordLength   = Length <= 0 ? 1: Length;
     WordDelimitter   = delimitter.Trim().Equals(string.Empty) ? " " : delimitter;
     WordList         = GetWordList();
 }
コード例 #2
0
ファイル: HitsDB.xaml.cs プロジェクト: weres123/openbullet-1
        private void sendToRecheck_Click(object sender, RoutedEventArgs e)
        {
            if (hitsListView.SelectedItems.Count == 0)
            {
                Globals.LogError(Components.HitsDB, "No hits selected!", true); return;
            }
            var first       = (Hit)hitsListView.SelectedItem;
            var partialName = "Recheck-" + BlockBase.MakeValidFileName(first.ConfigName);

            // Choose list name
            var fileName = BlockBase.GetFirstAvailableFileName("Wordlists\\", partialName, "txt");

            // Write to disk
            var path = $@"{Directory.GetCurrentDirectory()}\Wordlists\{fileName}";

            using (var sw = new StreamWriter(path))
            {
                foreach (Hit selected in hitsListView.SelectedItems)
                {
                    sw.WriteLine(selected.Data);
                }
            }

            // Import it
            var listName = fileName.Substring(0, fileName.Length - 4);
            var wordlist = new Wordlist(listName, path, Globals.environment.RecognizeWordlistType(first.Data), "");

            Globals.mainWindow.WordlistManagerPage.AddWordlist(wordlist);

            var runner = Globals.mainWindow.CurrentRunnerPage;

            if (runner == null)
            {
                MessageBox.Show("Please select a Runner from the manager first!");
                return;
            }
            else if (runner.vm.Busy)
            {
                MessageBox.Show("The selected Runner is busy, please choose another one!");
                return;
            }

            try
            {
                runner.vm.SetWordlist(Globals.mainWindow.WordlistManagerPage.GetList(listName));
            }
            catch { }

            // Try to select the config referring to the first selected hit
            try
            {
                var cfg = Globals.mainWindow.ConfigsPage.ConfigManagerPage.vm.ConfigsList.First(c => c.Name == first.ConfigName).Config;
                runner.vm.SetConfig(cfg, false);
                runner.vm.BotsNumber = Math.Min(cfg.Settings.SuggestedBots, hitsListView.SelectedItems.Count);
            }
            catch { }

            // Switch to Runner
            Globals.mainWindow.menuOptionRunner_MouseDown(this, null);
        }
コード例 #3
0
        private void importWordlistButton_MouseDown(object sender, MouseButtonEventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();

            ofd.Filter      = "Wordlist file | *.txt";
            ofd.FilterIndex = 1;
            ofd.ShowDialog();
            try
            {
                // Build the wordlist object
                var wordlist = new Wordlist(Path.GetFileNameWithoutExtension(ofd.FileName), ofd.FileName, OB.Settings.Environment.WordlistTypes.First().Name, "");

                // Get the first line
                var first = File.ReadLines(wordlist.Path).First();

                // Set the correct wordlist type
                wordlist.Type = OB.Settings.Environment.RecognizeWordlistType(first);

                // Add the wordlist to the runner
                ((Runner)Caller).SetWordlist(wordlist);

                ((MainDialog)Parent).Close();
            }
            catch { }
        }
コード例 #4
0
 private void AddToWordlist(string word, Wordlist list)
 {
     if (!string.IsNullOrWhiteSpace(word))
     {
         list?.Add(word);
     }
 }
コード例 #5
0
        private void wordlistListViewDrop(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
                foreach (var file in files.Where(x => x.EndsWith(".txt")).ToArray())
                {
                    try
                    {
                        // Build the wordlist object
                        var path = file;
                        var cwd  = Directory.GetCurrentDirectory();
                        if (path.StartsWith(cwd))
                        {
                            path = path.Substring(cwd.Length + 1);
                        }
                        var wordlist = new Wordlist(Path.GetFileNameWithoutExtension(file), path, SB.Settings.Environment.WordlistTypes.First().Name, "");

                        // Get the first line
                        var first = File.ReadLines(wordlist.Path).First(l => !string.IsNullOrWhiteSpace(l));

                        // Set the correct wordlist type
                        wordlist.Type = SB.Settings.Environment.RecognizeWordlistType(first);

                        // Add the wordlist to the manager
                        AddWordlist(wordlist);
                    }
                    catch { }
                }
            }
        }
コード例 #6
0
        private RegexRecognizer CreateVariableRecognizer(Core.Resources.IResourceDataAccessor accessor,
                                                         System.Globalization.CultureInfo actualCulture)
        {
            Wordlist wl = new Wordlist();

            // TODO also create the recognizer if no variables are defined/available?

            using (System.IO.Stream data = accessor.ReadResourceData(_Culture, Core.Resources.LanguageResourceType.Variables, true))
            {
                if (data != null)
                {
                    wl.Load(data);
                }
            }

            if (wl.Count == 0)
            {
                return(null);
            }

            // TODO set context restrictions of the recognizer
            RegexRecognizer recog = new RegexRecognizer(TokenType.Variable, 100, "VAR", "DEFAULT_VAR_REGOCNIZER");
            CharacterSet    first;
            string          rx = wl.GetRegularExpression(out first);

            recog.Add(rx, first);

            recog.OnlyIfFollowedByNonwordCharacter =
                Core.CultureInfoExtensions.UseBlankAsWordSeparator(actualCulture);

            return(recog);
        }
コード例 #7
0
 /// <summary>
 /// Creates a DataPool by loading lines from a given <paramref name="wordlist"/>.
 /// </summary>
 public WordlistDataPool(Wordlist wordlist)
 {
     Wordlist     = wordlist;
     DataList     = File.ReadLines(wordlist.Path);
     Size         = DataList.Count();
     WordlistType = wordlist.Type.Name;
 }
コード例 #8
0
        private void ReadFromExcel(ExcelPackage package, List <LanguageResourceBundle> newLanguageResourceBundles)
        {
            foreach (var workSheet in package.Workbook.Worksheets)
            {
                var column01 = workSheet.Cells[1, 1].Value;
                var column02 = workSheet.Cells[1, 2].Value;
                var column03 = workSheet.Cells[1, 3].Value;
                var column04 = workSheet.Cells[1, 4].Value;

                if (!AreColumnsValid(column01, column02, column03, column04))
                {
                    throw new Exception(PluginResources.Excel_spreadsheet_not_in_correct_format);
                }

                var abbreviations     = new Wordlist();
                var ordinalFollowers  = new Wordlist();
                var variables         = new Wordlist();
                var segmentationRules = new SegmentationRules();

                ReadFromExcel(workSheet, abbreviations, ordinalFollowers, variables, segmentationRules);

                var newLanguageResourceBundle =
                    new LanguageResourceBundle(CultureInfoExtensions.GetCultureInfo(workSheet.Name))
                {
                    Abbreviations     = abbreviations,
                    OrdinalFollowers  = ordinalFollowers,
                    Variables         = variables,
                    SegmentationRules = segmentationRules
                };

                newLanguageResourceBundles.Add(newLanguageResourceBundle);
            }
            ExcludeWhatIsNotNeeded(newLanguageResourceBundles);
            AddNewBundles(newLanguageResourceBundles);
        }
コード例 #9
0
        public Wordlist SelectedLanguage(string language)
        {
            Wordlist wordList = Wordlist.English;

            switch (language)
            {
            case "Chinese Simplified":
                wordList = Wordlist.ChineseSimplified;
                break;

            case "Chinese Traditional":
                wordList = Wordlist.ChineseTraditional;
                break;

            case "English":
                wordList = Wordlist.English;
                break;

            case "French":
                wordList = Wordlist.French;
                break;

            case "Japanese":
                wordList = Wordlist.Japanese;
                break;

            case "Spanish":
                wordList = Wordlist.Spanish;
                break;
            }

            return(wordList);
        }
コード例 #10
0
        private void sendToRecheck_Click(object sender, RoutedEventArgs e)
        {
            if (hitsListView.SelectedItems.Count == 0)
            {
                Globals.LogError(Components.HitsDB, "No hits selected!", true); return;
            }
            var first       = (Hit)hitsListView.SelectedItem;
            var partialName = "Recheck-" + first.ConfigName;
            var wordlist    = new Wordlist(partialName, "NULL", Globals.environment.RecognizeWordlistType(first.Data), "", true, true);

            var manager = Globals.mainWindow.RunnerManagerPage.vm;

            manager.CreateRunner();
            var runner = manager.Runners.Last().Page;

            Globals.mainWindow.ShowRunner(runner);

            runner.vm.SetWordlist(wordlist);
            runner.vm.DataPool = new DataPool(hitsListView.SelectedItems.Cast <Hit>().Select(h => h.Data));

            // Try to select the config referring to the first selected hit
            try
            {
                var cfg = Globals.mainWindow.ConfigsPage.ConfigManagerPage.vm.ConfigsList.First(c => c.Name == first.ConfigName).Config;
                runner.vm.SetConfig(cfg, false);
                runner.vm.BotsNumber = Math.Min(cfg.Settings.SuggestedBots, hitsListView.SelectedItems.Count);
            }
            catch { }

            // Switch to Runner
            Globals.mainWindow.menuOptionRunner_MouseDown(this, null);
        }
コード例 #11
0
        public static void test()
        {
            //getting the mnemonic with a custom wordlist (generated by overriding the Italian one)
            Wordlist wl = getItalianWordlist();

            int[]    arr = Enumerable.Range(0, wl.WordCount - 1).ToArray();
            String[] ewl = wl.GetWords(arr);
            ewl[0]  = "dry";
            ewl[1]  = "drive";
            ewl[2]  = "brown";
            ewl[3]  = "parade";
            ewl[4]  = "drastic";
            ewl[5]  = "shine";
            ewl[6]  = "embrace";
            ewl[7]  = "hard";
            ewl[8]  = "report";
            ewl[9]  = "loan";
            ewl[10] = "fold";
            ewl[11] = "iron";

            Wordlist wlCustom = new Wordlist(ewl, ' ', "custom");

            Mnemonic mnemo        = new Mnemonic("dry brown drive parade drastic shine embrace hard report loan fold iron", wlCustom);
            ExtKey   hdroot       = mnemo.DeriveExtKey();
            var      firstprivkey = hdroot.Derive(new KeyPath("m/0'/0/0"));
            var      firstpubKey  = firstprivkey.Neuter().PubKey;
            String   address      = firstpubKey.GetAddress(Network.Main).ToString();

            Console.WriteLine(address); // --> 1AE1LyUWpfb32dReDuGezvdMGXHiFnq4jH
        }
コード例 #12
0
        private void sendToRecheck_Click(object sender, RoutedEventArgs e)
        {
            if (hitsListView.SelectedItems.Count == 0)
            {
                OB.Logger.LogError(Components.HitsDB, "No hits selected!", true); return;
            }
            var first       = (Hit)hitsListView.SelectedItem;
            var partialName = "Recheck-" + first.ConfigName;
            var wordlist    = new Wordlist(partialName, "NULL", OB.Settings.Environment.RecognizeWordlistType(first.Data), "", true, true);

            var manager = OB.RunnerManager;

            manager.Create();
            var page   = manager.RunnersCollection.Last().View;
            var runner = manager.RunnersCollection.Last().ViewModel;

            OB.MainWindow.ShowRunner(page);

            runner.SetWordlist(wordlist);
            runner.DataPool = new DataPool(hitsListView.SelectedItems.Cast <Hit>().Select(h => h.Data).ToList());

            // Try to select the config referring to the first selected hit
            try
            {
                var cfg = OB.ConfigManager.ConfigsCollection.First(c => c.Name == first.ConfigName).Config;
                runner.SetConfig(cfg, false);
                runner.BotsAmount = Math.Min(cfg.Settings.SuggestedBots, hitsListView.SelectedItems.Count);
            }
            catch { }

            // Switch to Runner
            OB.MainWindow.menuOptionRunner_MouseDown(this, null);
        }
コード例 #13
0
        private void wordlistListViewDrop(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
                foreach (var file in files.Where(x => x.EndsWith(".txt")).ToArray())
                {
                    try
                    {
                        // Build the wordlist object
                        var wordlist = new Wordlist(Path.GetFileNameWithoutExtension(file), file, Globals.environment.WordlistTypes.First().Name, "");

                        // Get the first line
                        var first = File.ReadLines(wordlist.Path).First();

                        // Set the correct wordlist type
                        wordlist.Type = Globals.environment.RecognizeWordlistType(first);

                        // Add the wordlist to the manager
                        AddWordlist(wordlist);
                    }
                    catch { }
                }
            }
        }
コード例 #14
0
        public static string GetMnemonic(PrivateKeyNotWallet key, Wordlist wordlist)
        {
            var mnemonic = new Mnemonic(wordlist, key.PrivateKey.GetBytes());

            Debug.Assert(mnemonic.Words.Length == 24);
            return(mnemonic.ToString());
        }
コード例 #15
0
ファイル: Wallet.cs プロジェクト: RotesMonbin/UnityBlockChain
        private void InitialiseSeed(Wordlist wordlist, WordCount wordCount, string seedPassword = null)
        {
            var mneumonic = new Mnemonic(wordlist, wordCount);

            Seed  = mneumonic.DeriveSeed((string)seedPassword).ToHex();
            Words = mneumonic.Words;
        }
コード例 #16
0
        public async Task <IActionResult> Wordlist()
        {
            var wordlist = db.Wordlist.Include(l => l.Words).FirstOrDefault();

            if (!(wordlist is Wordlist))
            {
                wordlist = new Wordlist()
                {
                    Title = "Standaard"
                };
                db.Add(wordlist);
                await db.SaveChangesAsync();
            }
            else
            {
                foreach (var word in wordlist.Words)
                {
                    db.Remove(word);
                }
                await db.SaveChangesAsync();
            }

            var words = System.IO.File.ReadAllLines("woordenlijst.txt");

            foreach (var w in words)
            {
                var word = new Word(w, wordlist.Id);
                db.Add(word);
            }
            await db.SaveChangesAsync();

            return(RedirectToAction("Index", "Home"));
        }
コード例 #17
0
        private void CreateMnemonicCustom()
        {
            Wordlist mWordlist = new Wordlist();
            var      mnemonic  = new MnemonicEx1(Wordlist.English, NWordCount.Twelve);

            if (mnemonic == null)
            {
                return;
            }

            var res = mWordlist.GetSentence(mnemonic._Indices);

            if (string.IsNullOrWhiteSpace(res))
            {
                return;
            }

            var clearres      = res.Replace("\0", " ").Split(' ');
            var resPrivatekey = mnemonic.PrivateKeyAddress;
            var showDialog    = new DialogShowWords();

            res = res.Replace("\0", " ");
            showDialog.mSeed = res;
            showDialog.Show(MainActivity.fm, "seed");

            MainActivity.Preferences.Edit().PutString("mnemonic", res).Apply();
            MainActivity.Preferences.Edit().PutString("PrKey", resPrivatekey).Apply();
        }
コード例 #18
0
        public static string[] GetWordlist(int sortBy, string listName)
        {
            int count = 1;

            wordlist = Wordlist.LoadList(listName);
            string[] words = new string[1 + wordlist.Count()];

            for (int i = 0; i < wordlist.Languages.Length; i++)
            {
                words[0] += wordlist.Languages[i] + "\t";
            }

            Action <string[]> showtrans = (x) =>
            {
                for (int i = 0; i < x.Length; i++)
                {
                    words[count] += x[i] + "\t";
                }

                count++;
            };

            wordlist.List(sortBy, showtrans);

            return(words);
        }
コード例 #19
0
ファイル: Program.cs プロジェクト: tomrus88/CASC-Bruteforcer
        static void Main(string[] args)
        {
            Console.WriteLine("Hashing devices found ::");
            foreach (var AcceleratorDevice in AcceleratorDevice.All)
            {
                Console.WriteLine($"  {AcceleratorDevice}");
            }

            Console.WriteLine("");

            if (args == null || args.Length == 0)
            {
                throw new ArgumentException("No arguments supplied");
            }

            IHash hash;

            switch (args[0].ToLowerInvariant())
            {
            case "salsa":
                hash = new Salsa20();
                break;

            case "jenkins":
                hash = new Jenkins96();
                break;

            case "benchmark":
                BenchmarkJenkins(args);
                return;

            case "wordlist":
                hash = new Wordlist();
                break;

            case "variation":
                hash = new VarientGen();
                break;

            case "mix":
                hash = new MixMatch();
                break;

            case "markov":
                hash = new MarkovChain();
                break;

            default:
                throw new ArgumentException("Invalid hash type");
            }

            // override console exit event
            CleanExitHandler.Attach();

            hash.LoadParameters(args);
            hash.Start();

            Console.ReadLine();
        }
コード例 #20
0
ファイル: Wallet.cs プロジェクト: HopeWallet/Hope-Desktop
        private void InitialiseSeed(Wordlist wordlist, WordCount wordCount, string seedPassword = null)
        {
            var mneumonic = new Mnemonic(wordlist, wordCount);

            Seed  = mneumonic.DeriveSeed(seedPassword);
            Words = mneumonic.Words;
            IsMneumonicValidChecksum = mneumonic.IsValidChecksum;
        }
コード例 #21
0
ファイル: Spawn.cs プロジェクト: Plackpegasus/Wortblitz-Unity
    // Start is called before the first frame update
    void Start()
    {
        camWidth = Camera.main.pixelWidth;
        GameObject gameManager = GameObject.Find("Game Manager");

        wordlist    = gameManager.GetComponent <Wordlist>();
        scoreScript = gameManager.GetComponent <Score>();
    }
コード例 #22
0
        private string GetLanguage(Language lang)
        {
            string name   = Wordlist.GetLanguageFileName(lang);
            var    client = new System.Net.Http.HttpClient();
            string data   = client.GetAsync("https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/" + name + ".txt").Result.Content.ReadAsStringAsync().Result;

            return(data.Replace("\n", "\\n"));
        }
コード例 #23
0
 public WordlistRecognizer(Core.Tokenization.TokenType t, int priority, string tokenClassName, string recognizerName, Wordlist w)
     : base(t, priority, tokenClassName, recognizerName)
 {
     if (w == null)
     {
         throw new ArgumentNullException("w");
     }
     _List = w;
 }
コード例 #24
0
        private Wordlist AddItemsToWordlist(Wordlist listOne, Wordlist listTwo)
        {
            if (listTwo != null)
            {
                listOne?.Items.ToList().ForEach(newItem => listTwo.Add(newItem));
            }

            return(listTwo?.Count > 0 ? listTwo : null);
        }
コード例 #25
0
        public static string GetMnemonicFromEncrypted(PrivateKeyNotWallet key, Wordlist wordlist, string password, Network network)
        {
            var encryptedString = EncryptedPrivateKeyFormat.Encrypt(key, password, network);
            var encrypted       = Encoders.Base58Check.DecodeData(encryptedString);
            var mnemonic        = new Mnemonic(wordlist, encrypted);

            Debug.Assert(mnemonic.Words.Length == 28);
            return(mnemonic.ToString());
        }
コード例 #26
0
 public void AddWordlistToDB(Wordlist wordlist)
 {
     // Add it to the DB
     Globals.LogInfo(Components.WordlistManager, "Adding Wordlist '" + wordlist.Name + " at position '" + wordlist.Path + "' with type '" + wordlist.Type + "' and purpose '" + wordlist.Purpose + "' to the DB");
     using (var db = new LiteDatabase(Globals.dataBaseFile))
     {
         db.GetCollection <Wordlist>("wordlists").Insert(wordlist);
     }
 }
コード例 #27
0
        public DialogEditWordlist(Wordlist wordlist)
        {
            WordList = wordlist;
            InitializeComponent();

            foreach (string i in SB.Settings.Environment.GetWordlistTypeNames())
            {
                wordlistType.Items.Add(i);
            }
        }
コード例 #28
0
        //[Fact]
        public void GenerateHardcodedBIP39Dictionary()
        {
            StringBuilder builder = new StringBuilder();

            foreach (var lang in new[] { Language.ChineseSimplified, Language.ChineseTraditional, Language.English, Language.Japanese, Language.Spanish, Language.French })
            {
                string name = Wordlist.GetLanguageFileName(lang);
                builder.AppendLine("dico.Add(\"" + name + "\",\"" + GetLanguage(lang) + "\");");
            }
            var dico = builder.ToString();
        }
コード例 #29
0
 public void AddWordlist(Wordlist wordlist)
 {
     try
     {
         vm.Add(wordlist);
     }
     catch (Exception e)
     {
         SB.Logger.LogError(Components.WordlistManager, e.Message);
     }
 }
コード例 #30
0
 public HdKeyStorage(
     string mnemonic,
     Wordlist wordList       = null,
     SecureString passPhrase = null,
     Network network         = Network.MainNet)
 {
     Version = CurrentVersion;
     Seed    = new Mnemonic(mnemonic, wordList)
               .DeriveSeed(passPhrase.ToUnsecuredString());
     Network = network;
 }
コード例 #31
0
        public void WordSolver_Solve()
        {
            Wordlist list = new Wordlist(new string[] { "car", "cart", "tar", "ape", "pen", "dino" });
            WordSolver solver = new WordSolver(list);
            var result = solver.Solve(new char[] { 'c', 'a', 'r', 't', 'p', 'e' });

            Assert.AreEqual(4, result.Length);
            Assert.IsTrue(result.Any(x => x.Word.Equals("car")));
            Assert.IsTrue(result.Any(x => x.Word.Equals("cart")));
            Assert.IsTrue(result.Any(x => x.Word.Equals("tar")));
            Assert.IsTrue(result.Any(x => x.Word.Equals("ape")));
        }