Цитата:
Сообщение от zhenya
для поддержания базы необходим парсер\снифер.
|
только не нужно говорить, что ни у кого его нету
все равно не поверю.
Цитата:
Сообщение от zhenya
также как
Код:
#S->C Warden Opcode: 03
#Unk bytes:
#14 00 60 D0 FE 2C 01 00 02 00 20 1A 36 00 C0 E3
#35 00 50 F1 35 00 C0 F5 35 00 03 08 00 77 6C 93
#A9 04 00 00 60 A8 40 00 01 03 08 00 36 85 EA F0
#01 01 00 90 F4 45 00 01
для текущей версии клиента.
seed модуля + новый клиентский и серверный ключ для изменения после шифрации
|
вот парсинг твоего пакета.
Код:
data = decode("""
03
14 00 60 D0 FE 2C 01 00 02 00 20 1A 36 00 C0 E3
35 00 50 F1 35 00 C0 F5 35 00 03 08 00 77 6C 93
A9 04 00 00 60 A8 40 00 01 03 08 00 36 85 EA F0
01 01 00 90 F4 45 00 01
""")
from pkt_parser import *
pkt = Packet(SMSG_WARDEN_DATA, data)
print pkt
------------
warden_opcode : WARDEN_MODULE_LOADLIB (0x3)
check_len : 20
check_crc : 754896992
data : 01000200201a3600c0e3350050f13500c0f53500
real_crc : 754896992
check_opcode_1 : 3
check_len_1 : 8
check_crc_1 : 2845011063
data_1 : 04000060a8400001
real_crc_1 : 2845011063
check_opcode_2 : 3
check_len_2 : 8
check_crc_2 : 4041901366
data_2 : 01010090f4450001
real_crc_2 : 4041901366
кстати, пакет явно от старой версии клиента, в 3.3.2.11403 эти значения вот такие:
Код:
010002006089310000523100e05e3100f0623100
040000f0303f0001
010100d03f440001
на 03 опкод модуль реагируется прогрузкой несколькх функций через GetModuleHandle / GetProcAddress
к шифрованию отношения не имеет вообще никакого, т.к. делается уже после создания новых ключей.
Цитата:
Сообщение от zhenya
чтобы обойти ограничения ОС приходиться использовать 1 модуль. после того как это выйдет в паблик читерам не составит труда подменивать ответы на проверки...
|
не понял, о каких ограничениях идет речь?
сам процесс создания ключа выглядит так:
Код:
04:29:52
SMSG_WARDEN_DATA
warden_opcode : WARDEN_MODULE_SEED (0x5)
seed : f377c0dcb7f1625af8ee9ee352450442
04:29:52
CMSG_WARDEN_DATA
warden_response : WARDEN_RESPONSE_HASH (0x4)
SHA1 : 67b3c364930ee3dd10fdbf6596b2aaa55e57a279
по одному и тому-же сиду разные модули выдадут разные хэши и сгененрируют разные ключи. это да.
однако что мешает по очереди загрузить все имеющиеся на руках модули к себе в процесс, накормить тысячей разных сидов и записать полученные хэши\ключи в базу?
и из этой базы уже потом проверять клиентов.
благо там новый ключ от предыдущего не зависит - только от встроенной в модуль функции и сида.
Цитата:
Для того чтобы налету криптовать пакеты вардена необходимо знать ключи для каждого модуля или доставать из памяти ключи.
|
доставать их из памяти. не будем показывать пальцем, но кое-кто в этой ветке точно знает, как это делать
повторяю еще раз,
АБСОЛЮТНО ВСЯ НЕОБХОДИМАЯ ИНФОРМАЦИЯ ЕСТЬ НА АНГЛОЯЗЫЧНЫХ ФОРУМАХ в открытом виде уже наверное год как. если не больше.