Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# и базы данных, ADO.NET

Войти
Регистрация
Восстановить пароль
 
Geomatika
0 / 0 / 0
Регистрация: 29.06.2016
Сообщений: 5
#1

Что делать если нужен компьютер NASA ? - C#

05.01.2017, 14:48. Просмотров 183. Ответов 3
Метки нет (Все метки)

Доброго времени суток.
Я тут планирую пенгатон взять под контроль.
Нужно небольшая хелпа, сталкнулся с такой проблемой: код производит брутфорс всех вариаций произвольного алфавита и сохраняет их в Queue, последовательно возвращая, проверяя и удаляя первый элемент Queue и далее плюсуя в конец Queue остальные вариации равные длине алфавита, в моем случае 36(латинский алфавит + цифры). Тобишь, если по русски, каждый проход цикла изменения в Queue таковы: -1+36=+35. Так вот. На 1 695 815 попытке, проверяя вариации 4 символьного пароля уважаемый Компилятор выкидывает исключение OutOfMemoryException, оно и не удивительно, ведь на данном этапе в Queue находится 59 353 529 вариантов пароля.
Осознавая, что это перебор только 4 циферного пароля, а он, простите за выражение, должен доходить до 36 символьного....я понимаю, что никакие хранилища данных не смогут уместить этот объем, ибо он будет в миллионы(или миллиарды) раз больше числа 59 353 529.
Честно говоря, насколько мне хватает моих рассуждений, я понимаю что это невозможно, ибо к каждому элементу нужно плюсовать вариации, дабы они не потерялись. Но, я все же хочу услышать Ваше мнение, может кто-то знает какой-нибудь интересный ход, который поможет мне накидать кораблей в пентагонский главный компьютер.



ЗЫ. Возможно некоторым покажется, что я занимаюсь ерундой, но мне интересно изучить брутфорс вдоль и поперек. Прикрепляю пару скринов и фрагмент кода, для тех, кто не любит читать длинный нудный пост. Заранее спасибо за уделенное внимание.
Фрагмент кода
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
            StreamReader sr = new StreamReader(road);
            char[] alphabet = "abcdefghijklmnopqrstuvwxyz0123456789".Distinct().ToArray();
            int score = 1;
            string password;
            string truepas = sr.ReadToEnd();
            Queue<string> q = new Queue<string>();
            q.Enqueue(String.Empty);
            while ((password = q.Dequeue()) != "99999999999999999999999999999999999999999999")
            {
                foreach (char ch in alphabet)
                {
                    q.Enqueue(password + ch);
                }
                if (password==truepas)
                {
                    goto F1; 
                }
                else
                {
                    Console.WriteLine("Неудачная попытка номер {0} : {1}", score, password);
                    score++;
                }
            }
        F1: Console.WriteLine("Пароль {0} найден с {1} попытки", password, score);
            Console.ReadKey();

Номер попытки/пароль:
Что делать если нужен компьютер NASA ?
Значения перем. при исключении:
Что делать если нужен компьютер NASA ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2017, 14:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что делать если нужен компьютер NASA ? (C#):

Что делать со значением первичного ключа только что созданной таблицы? - C#
Здравствуйте. Есть таблица, в качестве первичного ключа у которой колонка ID, из которой мне нужно получать последнюю записанную сущность....

.NET 4.x В каком направлении стоит думать в случае, если хочу URL делать короче в отображении - C#
Есть такая задача. В приложении на языке c# в таблицу в формате xsl выдаются определенные данные, в том числе в один из столбцов урлы. Урлы...

Что делать новичку? - C#
Народ, что делать? Решил изучать C#, а в нете куча книг, где 300 стр. описывают, как перетащить кнопку на форму. Я хочу начать писать в...

Что делать с recordset? - C#
Как я могу изменит такой код? SQL = &quot;SELECT * FROM tbl_TestStations&quot; Record1.Open SQL, MyData, adOpenStatic, adLockOptimistic ...

Как быть, что делать? - C#
Программа не может элементарно посчитать три числа нужный элемент кода: 107, 108, 117 строки using System; using...

MVVM + DI + IOC = а что делать с дочерними VM? - C#
допустим есть Company, у него есть список Employee, у каждого список Addresses... есть окно, список Company, справа список Employee, а...

3
OwenGlendower
Модератор
Эксперт .NET
7416 / 6392 / 2379
Регистрация: 17.03.2014
Сообщений: 12,398
Записей в блоге: 1
05.01.2017, 15:01 #2
Geomatika, чтобы перебрать все комбинации совершенно не нужно все их хранить.

Цитата Сообщение от Geomatika Посмотреть сообщение
уважаемый Компилятор выкидывает исключение OutOfMemoryException
[Режим зануды ВКЛ] Среда исполнения, а не компилятор. [Режим зануды ВЫКЛ]
0
Geomatika
0 / 0 / 0
Регистрация: 29.06.2016
Сообщений: 5
05.01.2017, 15:05  [ТС] #3
Цитата Сообщение от OwenGlendower Посмотреть сообщение
чтобы перебрать все комбинации совершенно не нужно все их хранить.
принцип в том, что бы добавить к имеющемся паролю возможные вариации, далее проверить каждую и к каждой добавить далее вариации, некое дерево получается, если прервать одну из цепей дальше пути не будет, а он необходим.
0
magirus
Супер-модератор
Эксперт по компьютерным сетямЭксперт Windows
26935 / 15193 / 888
Регистрация: 15.09.2009
Сообщений: 66,199
Записей в блоге: 77
05.01.2017, 15:08 #4
я Вам рекомендую правила почитать. закрыто.
0
05.01.2017, 15:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2017, 15:08
Привет! Вот еще темы с ответами:

Не работает запрос уже незнаю что делать - C#
string commstr = &quot;INSERT INTO movie (Title, Published,Previewed,Year,TypeID) VALUES(&quot; + &quot;'&quot; + textBox1.Text + &quot;'&quot; + &quot;,&quot; + &quot;'&quot; +...

HttpWebRequest - не передается свойство KeepAlive, что делать ? - C#
HttpWebRequest - не передается свойство KeepAlive, что делать ? public string post(string url, CookieContainer cookieCont, string...

Что делать если компьютер заблокирован вирусом? - Удаление вирусов
Что делать Если экран компьютера заблокирован вирусом? На экране монитора вместо рабочего стола появляется окно с сообщением о посещении...

Что делать если компьютер зависает после 5 - 10 мин игры в Dayz ? - Компьютерное железо
Что делать если компьютер зависает после 5 - 10 мин игры в Dayz ? Я играю в Dayz и в друг у меня намертво зависает комп помогает только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Закрытая тема Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru