VisualBasic 6: CRC32

Статус
В этой теме нельзя размещать новые ответы.

Шумадан

Хабарра!!11
Регистрация
6 Фев 2008
Сообщения
1.746
Реакции
2.209
Ребята, помогите опознать функцию и правильно её определить.
Есть код, декомпилированный с апликухи


ещё листинг в опкодах
 
Последнее редактирование модератором:
где взять взять список оп-кодов с нормальными описаниями? всё что находил - какие-то обрывки с минимум описательной информации
 
Вот хороший пример получения правильного CRC32 Для просмотра ссылки Войди или Зарегистрируйся
Скинь свое приложение и что тебе надо сделать - под хайд... на днях. Покапаюсь может помогу конкретным советом.
 
Вот хороший пример получения правильного CRC32 Для просмотра ссылки Войди или Зарегистрируйся
Скинь свое приложение и что тебе надо сделать - под хайд... на днях. Покапаюсь может помогу конкретным советом.
интересно, как я это пропустил, сам алгоритм очень похож. саму аппликуху навряд ли тебе могу скинуть, да и, в принципе, я привёл листинг в пермой соообщении.

Код:
Private crc32Table() As Long

Private Sub Class_initialize()

    ' This is the official polynomial used by CRC32 in PKZip.
    ' Often the polynomial is shown reversed (04C11DB7).
    Dim dwPolynomial As Long
    dwPolynomial = &HEDB88320
    Dim i As Integer, j As Integer

    ReDim crc32Table(256)
    Dim dwCrc As Long

    For i = 0 To 255
        dwCrc = i
        For j = 8 To 1 Step -1
            If (dwCrc And 1) Then
                dwCrc = ((dwCrc And &HFFFFFFFE) \ 2&) And &H7FFFFFFF
                dwCrc = dwCrc Xor dwPolynomial
            Else
                dwCrc = ((dwCrc And &HFFFFFFFE) \ 2&) And &H7FFFFFFF
            End If
        Next j
        crc32Table(i) = dwCrc
    Next i

End Sub

The CRC32 Calculation

Dim crc32Result As Long
crc32Result = &HFFFFFFFF
    
Dim i As Integer
Dim iLookup As Integer

[For Each [Byte] in [Buffer]]

      iLookup = (crc32Result And &HFF) Xor [Byte]
      crc32Result = ((crc32Result And &HFFFFFF00) \ &H100) _
          And 16777215 ' nasty shr 8 with vb :/
      crc32Result = crc32Result Xor crc32Table(iLookup)

[Next]

Crc32 = Not (crc32Result)
 
Код:
The CRC32 Calculation

Dim crc32Result As Long
crc32Result = &HFFFFFFFF
     
Dim i As Integer
Dim iLookup As Integer

[For Each [Byte] in [Buffer]]

      iLookup = (crc32Result And &HFF) Xor [Byte]
      crc32Result = ((crc32Result And &HFFFFFF00) \ &H100) _
          And 16777215 ' nasty shr 8 with vb :/
      crc32Result = crc32Result Xor crc32Table(iLookup)

[Next]

Crc32 = Not (crc32Result)
 
спасибо, попробую, ещё есть проблема, толи алгоритм всё таки отличается, толи есть ещё онлайн проверка, но пару версий функции всё таки дали не тот результат, что нужно
 
спасибо, попробую, ещё есть проблема, толи алгоритм всё таки отличается, толи есть ещё онлайн проверка, но пару версий функции всё таки дали не тот результат, что нужно
А не проще закаментить условие с проверкой црц32 ?
 
А не проще закаментить условие с проверкой црц32 ?
нет, не проще, там очень много других вкусняжек зашито, пока отложил это дело. напомню, код, который я привёл - декомпилирован с exe (p-code) :crazy:
 
опять добрался к этой проге, накидал немного обратных кодов, у кого есть идеи касательно других и реверсингу?


часть кодов тут


Альтернативный вопрос: у меня есть большой exe, там есть та функция crc32, как вместо декомпайлинга превратить exe в маленькую dll с той функцией, мне этого будет достаточно
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху