Алгоритм шифрования скрипта в Mob файлах.
#19
А вот и на VB:
Код:
Public Sub ScriptCrypt(ByRef Script() As Byte, ByVal Key As Long)

Dim Tmp As Double
Dim i As Long
Dim TmpLng As Long
Tmp = Key

For i = 0 To UBound(Script)

   Tmp = Tmp * 214013 + 2531011
'-------------------------------------------------
      Do While Tmp > 2199023255552#
        Tmp = Tmp - 2199023255552#
      Loop
      Do While Tmp > 274877906944#
        Tmp = Tmp - 274877906944#
      Loop
      Do While Tmp > 34359738368#
        Tmp = Tmp - 34359738368#
      Loop
      Do While Tmp > 4294967296#
        Tmp = Tmp - 4294967296#
      Loop
' Это все приведение Double к DWORD
' экспериментируюя с количиством циклов
' и со значениями можно добиться большего быстродействия
'-------------------------------------------------

   TmpLng = CLng(Int(Tmp / 65536))
   TmpLng = TmpLng Mod 256
   
   Script(i) = Script(i) Xor CByte(TmpLng)

Next

End Sub

проверил быстродействие: около 20 - 50 ms (миллисекунд) на 7 кб скрипта
Спасибо Jet'у помог очень...
Что есть то есть, того что было не вернуть, не изменить ни дня.
Черный Обелиск "Дом желтого сна (часть 2)"
Ответ


Сообщения в этой теме
Алгоритм шифрования скрипта в Mob файлах. - от CAHEK7 - 22.02.2004, 02:16

Перейти к форуму:


Пользователи, просматривающие эту тему: 8 Гость(ей)