а вон как, а в игру заходит без ентри длл ? Там же всегда разная криптовка, т.е то что приодит с 17534 это походу дела тока половина ключа, вторая может приходить в 3 пакете с 17435 оО
у меня есть предобновленая ШК (где она еще прокси) он она под дебагером незапускается (ошибка со стеком) но ее мона запустить но нада писать ддл.
Вот потенциальные библиоткеи на криптование ) Fire.dll, npkcrypt.dll, npkpdb.dll. Для чего еси не секрет ?
Эту инфу наверно можно нагуглить.
Еще можно скрипт посмотреть которым ты пакет заменяеш? тоже попробую кое-что.
Еще можно скрипт посмотреть которым ты пакет заменяеш? тоже попробую кое-что.
выкладовать не буду, потому как у меня программа другая, не phx.
а так всё просто, снимаеш логи общения с ЛС, с ГС, с 17453, пишеш скрипт замену на ЛС (заменяеш все пакеты от сервера на те что снял в логи, тоесть пришол пакет от клиента, ответил на него пакетом с лога, пакет на сервер не пропускаеш и тд) с ГС тоже самое, и на 17453. Ну собственно в 17453 потом можеш менять ключики ...
в игру входит без ентри длл без проблем, сам был удивлён
Последний раз редактировалось kolosOK, 24.03.2009 в 14:10.
Ну я тоже не хлапексом, ВПФ скриптами до сие дня не пользовлся) почтал справку сделал вот это.
Вот что я там написал и прикрутил скрипт к 17534 порту
begin
if _gFromServ then
_gOutBuff := Hstr('',12); // на скока я понял это команда лепит пакет, число 12 указывает на то что будет 12 нулей (#$00) после самой даты, которая указана в 1 аргументе.
end.
но чето неменяет он =/
Скинь свой плз.
update Все разобрался, сори за флуд. Тока перехватывается как то тяжело.
со старым engine.dll траф шифруется подефолту, всмысле если подменить на старый.
Последний раз редактировалось murc, 24.03.2009 в 16:05.
Красиво реализовано. Я по-другому делал. Ключ(32бита) разбивался на 4 части. Два числа уменьшались на единицу каждые 8 байт и два счетчика увеличивались, когда первые числа были равны 0.
(K=33, биты от 1-32, т.е. Первый бит = K-32, последний К-1)
Код:
1 Число (уменьшается каждые 8 байт):
Bit [k - 13]
Bit [k - 14]
Bit [k - 15]
Bit [k - 16]
Bit [k - 1]
Bit [k - 2]
Bit [k - 3]
Bit [k - 4]
Bit [k - 5]
Bit [k - 6]
Bit [k - 7]
Bit [k - 8]
2 Число (уменьшается каждые 8 байт):
Bit [k - 31]
Bit [k - 32]
Bit [k - 17]
Bit [k - 18]
Bit [k - 19]
Bit [k - 20]
Bit [k - 21]
Bit [k - 22]
Bit [k - 23]
3 Число (увеличивается, когда первое равно 0):
Bit [k - 32]
Bit [k - 17]
Bit [k - 18]
Bit [k - 19]
Bit [k - 20]
Bit [k - 21]
Bit [k - 22]
Bit [k - 23]
Bit [k - 24]
Bit [k - 9]
Bit [k - 10]
Bit [k - 11]
Bit [k - 12]
4 Число (увеличивается когда 2-ое равно 0):
Bit [k - 25]
Bit [k - 26]
Bit [k - 27]
Bit [k - 28]
Bit [k - 29]
Bit [k - 30]
Bit [k - 31]
В С++ можно реализовать с помощью битовых массивов.
два счетчика увеличивались, когда первые числа были равны 0
я уже плохо помню, но по моему это будет правильно работать только первые несколько десятков или даже сотен килобайт, но потом начнёт появляться расхождение
__________________
Я здесь практически не появляюсь!, Skype - ikskor
я уже плохо помню, но по моему это будет правильно работать только первые несколько десятков или даже сотен килобайт, но потом начнёт появляться расхождение
ага, так и было. Ток позже, на 1 мБ. Там был критический момент когда оба счетчика в переполнение уходят (т.е. обнуляться должны). Я кстати сравнивал ради интереса после того как ты выложил свою функцию - расхождений нету.
Мне кажется в следующей версии, когда они усложнили шифрацию с динамическим ключом, они там скорее всего принцип оставили тот же: т.е. несколько чисел-счётчиков с произвольными битами.
В первую очередь если у вас в папке с Л2 лежит fuckConsole, обязательно сотрите её.
Ну а дальше делам вот что:
1) В папку "system" кидаем бота ( eL2Walker2.09b.zip )
2) В реестре прописываем инжект бота:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
Затем двойной клик на AppInit_DLLs и вписываем в строку: l2walker.dll
3)Чтобы ваш клиент молча не выбрасывало идем в: Мой компьютер\Свойства\Дополнительно\Отчет об ошибках (Включить отчет об ошибках (Всех программ))
4) Запускаем клиент через Апдейтер и заходим в игру
5) Как только чар загрузится, в Диспетчере задач (ctrl+alt+del) завершаем процесс shieldConsole.exe и где то через 1 мин будет отчет об ошибке L2.exe, который мы НЕ ЗАКРЫВАЕМ, а просто убераем в дальний угол (чтоб глаза не мазолил )