Перебор паролей

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by medved6216, 26 Mar 2011.

  1. medved6216

    medved6216 New Member

    Joined:
    26 Mar 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Перебор паролей [Delphi]

    Не могу написать программу(delphi) перебора пароля, знаю что пароль семизначный и состоит из латинских букв(без регистра) и цифр. В голове вертится код, но не могу его перевести в жизнь. Помогайте. Сразу скажу, что пароль нужен для прокси. Хотя словарик мне бы не помешал, я искал, но не нашел.

    P.S.: взломал сетку wi-fi, там стоит сервак isa+trafficFilter pro. Удалось ломануть сервак и выгрузить все логины на доступ в интернет, там есть безлимитки и мне они как раз и нужны. Знаю, что пароль сгенерирован программой.
     
    #1 medved6216, 26 Mar 2011
    Last edited: 30 Mar 2011
  2. rudi

    rudi Active Member

    Joined:
    3 Jun 2010
    Messages:
    487
    Likes Received:
    184
    Reputations:
    5
    ну если у тебя что то не получается
    ты народу хоть исходники покажи
    пальцем в небо никто тыкать не будет
     
  3. medved6216

    medved6216 New Member

    Joined:
    26 Mar 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Code:
    const
      m='qwertyuioplkjhgfdsa0123456789';
    
    Var
      i,j:integer;
      s,str:string;
    begin
    str:='';
      for j:=1 to 7 do
      begin
        for i:=1 to length(m) do
        begin
          s:=str+m[i];
          smemo1.Lines.Add(s);
        end;
      str:=s;
      end;
    end;
    В ответ получаю:
    А мне надо, чтобы программа выдавала 8041810176 комбинация.
    Ну, а если полностью, то параллельно она должна проверять, по полученному списку, доступ в интернет по прокси(но это я сам могу решить).
     
  4. k0tt0d

    k0tt0d Member

    Joined:
    19 Nov 2009
    Messages:
    49
    Likes Received:
    20
    Reputations:
    4
    medved6216, код должен быть примерно такой
    Code:
    const
      m='qwertyuioplkjhgfdsa0123456789';
    Var
      i1,i2,i3,i4,i5,i6,i7:integer;
    begin
      for i1:=1 to length(m) do
      for i2:=1 to length(m) do
      for i3:=1 to length(m) do
      for i4:=1 to length(m) do
      for i5:=1 to length(m) do
      for i6:=1 to length(m) do
      for i7:=1 to length(m) do smemo1.Lines.Add(m[i1]+m[i2]+m[i3]+m[i4]+m[i5]+m[i6]+m[i7]);
    end;
    итого это будет length(m) в 7 степени паролей, то есть для данного m=29 число паролей = 17 249 876 309. Так что лучше ищи словарь:)
     
  5. AlexTheC0d3r

    AlexTheC0d3r Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18

    кодеры, вы в курсе сколько на memo.lines.add() уходит времени?
     
  6. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Ну подумаешь, приблизительно 2-3 мс :D
     
  7. jnpe

    jnpe Banned

    Joined:
    10 Dec 2010
    Messages:
    157
    Likes Received:
    42
    Reputations:
    19
    держи на vbs-е .... когда то давным давно писал =)

    Dim a,b,c,d,e,f,i,m,n,o,p,q,s
    DimMyArray
    MyArray=Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9")
    Dimfso,Text
    Setfso=CreateObject("Scripting.FileSystemObject")
    SetText=fso.CreateTextFile("c:\pass7.txt")
    x=MyArray(h)
    for a=0 to 35
    m=MyArray(a)
    for b=0 to 35
    n=MyArray(b)
    for c=0 to 35
    o=MyArray(c)
    for d=0 to 35
    p=MyArray(d)
    for e=0 to 35
    q=MyArray(e)
    for f=0 to 35
    pass=x+m+n+o+p+q+MyArray(f)
    Text.WriteLinepass
    next
    next
    next
    next
    next
    next
    next
    Text.Close
     
  8. k0tt0d

    k0tt0d Member

    Joined:
    19 Nov 2009
    Messages:
    49
    Likes Received:
    20
    Reputations:
    4
    в курсе, там есть слова "примерно такой"
    причем там же объясняется бессмысленность этого кода
     
  9. X-rus

    X-rus Member

    Joined:
    22 Dec 2010
    Messages:
    88
    Likes Received:
    22
    Reputations:
    4
    Алгоритм перестановки же.

    КЛИК

    Хотя, здесь нужен другой алгоритм. Вот здесь он есть и алгоритм перестановки тоже. Всё на Delphi.

    КЛИК
     
    #9 X-rus, 27 Mar 2011
    Last edited: 28 Mar 2011
  10. medved6216

    medved6216 New Member

    Joined:
    26 Mar 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    уже второй день генерирую словарь))) Как сделается, поделюсь)
     
  11. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    198
    Likes Received:
    12
    Reputations:
    1
    medved6216
    Мб помочь? :)
    Могу на шарпах многопоточную прогу замутить, я думаю быстрее будет.

    Взялся писать, через пару мин думаю будет!
    Мысль пошла дальше. Пишу на Си под Linux ^^

    Я врун. Вчера так и не сделал. Седня написал, генерю.
    Уже сгенерил 2 чего то там из 27(или 28) чего то там. Файл огромный :).
     
    #11 Jakeroid, 28 Mar 2011
    Last edited: 29 Mar 2011
  12. medved6216

    medved6216 New Member

    Joined:
    26 Mar 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Я сегодня утром сбросил(надобность машину перезагрузить была) Кое-что подправил) Сейчас уже наверстал упущенное и уже сделал сверх)
     
  13. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    198
    Likes Received:
    12
    Reputations:
    1
    Я сгенерил за минут 10.
    На машине:
    Athlon x2 215
    2gb RAM

    Файл вышел 126 гигов.
    Код на Си.

    Code:
    #include <stdio.h>
    
    #include <stdlib.h>
    
    
    int main()
    
    {
        char sym[] = { "qwertyuioplkjhgfdsa0123456789" };
        int i1, i2, i3, i4, i5, i6, i7;
        int counter = 1;
        int _lenght = strlen(sym);
        FILE* pFile;
        pFile = fopen("/home/jakeroid/passwords.txt", "w");
        for (i1 = 0; i1 < _lenght; i1++)
            for (i2 = 0; i2 < _lenght; i2++)
                for(i3 = 0; i3 < _lenght; i3++)
                    for(i4 = 0; i4 < _lenght; i4++)
                        for(i5 = 0; i5 < _lenght; i5++)
                            for(i6 = 0; i6 < _lenght; i6++)
                                for (i7 = 0; i7 < _lenght; i7++)
                                {
                                    char str[9] = {sym[i1], sym[i2], sym[i3], sym[i4], sym[i5], sym[i6], sym[i7], '\n'};
                                    fputs(str, pFile);
                                    if (i1 >= counter)
                                    {
                                        printf("%d, > %d\n", i1, counter);
                                        counter++;
                                    }
    
                                }
        fclose(pFile);
    
        return 0;
    
    }
     
    2 people like this.
  14. medved6216

    medved6216 New Member

    Joined:
    26 Mar 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    ты использовал: qwertyuioplkjhgfdsa0123456789
    а я: abcdefghijklmnopqrstuvwxyz0123456789
    29 символов и 36 символов.У тебя получаеться 17249876309 комбинаций, а у меня 78364164096, разница 61114287787 комбинаций ) Ну всё равно быстро) Друг, давай, чтобы не делать одно и тоже, нужно ещё сгененрировать словарь из русских букв и чисел(если конечно интересно). Ну там писец долго будет) Хотя я, на всякий случай, твой код на Си сохранил))) Если у тебя файл уже получился 126 гигов, сколько у меня получиться интересно)
     
    #14 medved6216, 30 Mar 2011
    Last edited: 30 Mar 2011
  15. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    198
    Likes Received:
    12
    Reputations:
    1
    Я могу разбивать файлы, например по 1кк пассов.
    А не долго это все потом перебираться будет?

    Да, про русские буквы... У мну нету места на харде для такого файла... И как я потом его залью? Архивировать два дня?:)
     
  16. medved6216

    medved6216 New Member

    Joined:
    26 Mar 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Ту стоит подумать))) Перебирать будет долго) Но можно попробовать в несколько потоков пустить) Скажем в 100. И к тому же перебор не полный, а только до попадания. Вопрос в размера очень проблемный) Ладно, пока посмотрю, что получиться с этим словарем) и кстати места он у меня занимает, не более 5 гб пока) потому, что я смотрю по жестким дискам и в оперативке, но не вижу больших изменений.
     
  17. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 medved6216 размер файла легко вычислить)
    1) кол-во комбинаций будет равно:
    кол-во символов возвести в степень длинный строки.
    2) размер файла будет равен кол-во комбинаций умноженное на (длинну строку + 2)
    2 - винда. 1 - никсы.

    Вот и выходит. Если тебе надо русские символы большие и маленькие + цифры, то
    33*2 + 10 = 76 символов.
    для длинны строки = 7 символов, выходит 14645194571776 комбинаций.
    Значит всего выходит минимум 117161556574208 байт будет весить этот файл.
    117161556574208 = 106,5 терабайта ) выходит )
     
    1 person likes this.
  18. #andrew#

    #andrew# Elder - Старейшина

    Joined:
    24 Aug 2010
    Messages:
    45
    Likes Received:
    7
    Reputations:
    11
    Code:
    #include <fstream>
    #include <string>
    
    int main()
    {
    	std::string s = "abcdefghijklmnopqrstuvwxyz";
    	std::ofstream fout("5letters.txt");
    	for (int i1 = 0; i1 < s.size(); ++i1)
    	{
    		for (int i2 = 0; i2 < s.size(); ++i2)
    		{
    			for (int i3 = 0; i3 < s.size(); ++i3)
    			{
    				for (int i4 = 0; i4 < s.size(); ++i4)
    				{
    					for (int i5 = 0; i5 < s.size(); ++i5)
    					{
    						fout << s[i1] << s[i2] << s[i3] << s[i4] << s[i5] << "\n";
    					}
    				}
    			}
    		}
    	}
    	return 0;
    }
    
    вот, когда-то писал на с++,словарь паролей из 5 букв,ну думаю если понадобится,тут не трудно сделать,чтобы генерация была на 6-7 букв...дописать пару строк и усе,тока весить будет много!
     
  19. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    198
    Likes Received:
    12
    Reputations:
    1
    2 medved6216
    5 гб? Что-то медленно очень как-то...
     
  20. medved6216

    medved6216 New Member

    Joined:
    26 Mar 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    ну пока идут буквы aasm*** ) Ещё не долго осталось, посмотрим, хватит ли моих 2 терабайта)