Я своего тоже пытался переделать, сделать "все в одном"
сделал тип NewBot, внес в него все переменные, ключи итд, работать не захотело
а искать баги было влом.
Добавлено через 10 минут
Нашел инфу по шифрации этого пакета( вроде это пакет Init)
Шифруется по RSA ключ находится в конце пакета, последние четыре байта. Хм... Ключ по стандартным алгоритмам RSA должен быть 8 байт не?
Пытаюсь дешифровать используя свои старые исходники, там почему-то вторая часть RSA ключа прописана константой:
Код:
key_sc[4] = $A1
key_sc[5] = $6C
key_sc[6] = $54
key_sc[7] = $87
Так пробую дешифровать(язык BlitzMax):
Код:
Global buf:Byte[10000]
Global key_cs:Byte[8], key_sc:Byte[8]
key_sc[0] =$B1
key_sc[1] =$C8
key_sc[2] =$53
key_sc[3] =A4
key_sc[4] = $A1
key_sc[5] = $6C
key_sc[6] = $54
key_sc[7] = $87
For i=0 Until 8
key_cs[i]=key_sc[i]
Next
file=ReadFile("1.txt"); L$=ReadLine(file); CloseFile(file)
For i=0 Until Len(L$)/3
b=unhex(Mid(L$,i*3+1,2))
j=i-2
If j=>0 Then buf[j]=b
Next
PrintBuf(186)
DecodeRSA(buf, 186)
PrintBuf(186)
'=====================================================
Function DecodeRSA(raw:Byte Ptr, size:Int)
Local i:Int=0, j:Int=0, k:Int, L:Long, i1:Int
For k=0 Until size
i1 = raw[k] & $FF
raw[k] = (i1 ~ (key_sc[j] & $FF) ~ i) ; j:+1
i = i1
If j >7 Then j=0
Next
L = key_sc[0] & $FF
L = L | ((key_sc[1] Shl 8) & $FF00)
L = L | ((key_sc[2] Shl 16) & $FF0000)
L = L | ((key_sc[3] Shl 24) & $FF000000)
L:+(size-2)
key_sc[0] = L & $FF
key_sc[1] = ((L Shr 8 ) & $FF)
key_sc[2] = ((L Shr 16 ) & $FF)
key_sc[3] = ((L Shr 24 ) & $FF)
End Function
Фигня получается.... Дешифровать нужно с первыми двумя байтами или нет? Или я ключ неправильно собрал?