Извините за оффтоп.
Но если защита основанна на шифрации пакетов логин сервера, то не проще ли сделать фейк логин и спокойно продолжать юзать бота?
Шифрован трафик ГЕЙМ серва)
Добавлено через 2 минуты
Цитата:
Сообщение от qai
Столкнулся с аналогичной проблемой...
Вообщем история была такова, сначало на сервере стояла просто защита ЛС от ботов, l2.exe был невидим, стояли последние верси ГГ итд итп, но вообщем это все более или менее обходилось, можно было юзать бота, phx итд итп
Однако в один день это пофиксили проведя тех работы на сервере и соответственно заменив в патче файл npkcrypt
После этого пакеты стали приходить зашифрованными
Бот начал выдавать сообщение аля
PacketProcessError [F9][00]
ну дак вот вообщем считаю корнем сего зла файл npkcrypt
ЗЫ Правильно ли я считаю ?
Мож быть, чтобы наверняка просто напросто сравни файлы двух клиентов по содержимому, обращая внимание только на .ехе и .длл
Добавлено через 2 минуты
Цитата:
Сообщение от MHz
Пожалуйста, просветите ленивого нуба, как помешать Фемиде находить Олли, а то вот что выходит у меня
К сожалению никто не посчитал нужным мне помочь. Ну и ладно! Сам справился.
1. Загружаем клиент линейки, он нам показывает окно регистрации.
2. Запускаем Олю.
3. Запускаем в Оле пнх
4. Коннектимся чаром к серваку
5. Ставим бряки на методах TXorCoding.EncryptGP - изучаем шифрацию серверного трафика и TXorCodingOut.DecryptGP - изучаем шифрацию клиентского трафика.
К сожалению никто не посчитал нужным мне помочь. Ну и ладно! Сам справился.
1. Загружаем клиент линейки, он нам показывает окно регистрации.
2. Запускаем Олю.
3. Запускаем в Оле пнх
4. Коннектимся чаром к серваку
5. Ставим бряки на методах TXorCoding.EncryptGP - изучаем шифрацию серверного трафика и TXorCodingOut.DecryptGP - изучаем шифрацию клиентского трафика.
Сори, за позний ответ, но в предыдущих моих постах это было описано.
Собственно, аттач в работающий процесс с хайддебагером.
К сожалению никто не посчитал нужным мне помочь. Ну и ладно! Сам справился.
1. Загружаем клиент линейки, он нам показывает окно регистрации.
2. Запускаем Олю.
3. Запускаем в Оле пнх
4. Коннектимся чаром к серваку
5. Ставим бряки на методах TXorCoding.EncryptGP - изучаем шифрацию серверного трафика и TXorCodingOut.DecryptGP - изучаем шифрацию клиентского трафика.
А разве это не будет анализ не л2 а л2рнх обработки??
А разве это не будет анализ не л2 а л2рнх обработки??
Меня в сейчас интересует шифрация серверного трафика, по-моему самый быстрый способ попасть туда, это из TXorCoding.EncryptGP потому что клиент получает данные от сервера через нее.
Чтобы анализировать работу newxor.dll достаточно встроенного отладчика в Delphi
P.S. Прошу прощения за косноязычие
P.P.S Таки удалось скомпилить все в 7-м Дельфи (у меня другого нет). Бряки надо ставить где-то в PacketProcessor Более детально сейчас выясняю где.
Добавлено через 1 час 42 минуты
Цитата:
Сообщение от MHz
xkor - как ты догадался, что надо перехватывать API вызов connect? Как можно догадаться какими функциями посылаются и принимаются пакеты? Это send и recv или другие?
Цитата:
Сообщение от Breadfun
А разве это не будет анализ не л2 а л2рнх обработки
Подебагал я l2phx в Delphi. Он сам во-всю юзает send и recv. Ты пожалуй прав. Через TXorCoding.EncryptGP далековато будет добираться до кода шифрования клиента, сейчас ищу место по-ближе
Последний раз редактировалось MHz, 19.07.2008 в 23:36.
Причина: Добавлено сообщение
Согласен, просто наглядно показал как оно выглядит. Если говорит о моем сервере, то в этом месте:
00444B93 FF51 64 CALL DWORD PTR DS:[ECX+64]
у меня идет прыжок в функцию отправки, в которой перед вызовом Send
добавлен неродной для клиента длл кой прыжок в нее, где происходит шифрование пакета.
на твоем сервере стоит защита l2guard. Вызов же конкретно функции чуть дальше в engine.dll : 004534B8 JMP l2guard.0F846680. опять же send по другому адресу: 004534C9 CALL DWORD PTR DS:[<&WSOCK32.#19>]
в ida очень наглядно на графах показывает этот самый алгоритм шифрования
на твоем сервере стоит защита l2guard. Вызов же конкретно функции чуть дальше в engine.dll : 004534B8 JMP l2guard.0F846680. опять же send по другому адресу: 004534C9 CALL DWORD PTR DS:[<&WSOCK32.#19>]
в ida очень наглядно на графах показывает этот самый алгоритм шифрования
Наверно глупый вопрос...
Дан шифрованный пакет и точно известно что это за пакет и алгоритм шифрования (стандартный для С4), как определить ключ шифрования?
в теме была утилита которая расшифровывала пакет, а нет (нельзя сделать) для нахождения ключа шифрования?
ксориш сначала каждый бай зашифрованного пакета на предыдущий, начиная со второго байта и до 8го, далее эти первые 8 байт ксориш на первые 8 байт расшифрованного пакета и получаеш ключ
__________________
Я здесь практически не появляюсь!, Skype - ikskor
Ребят собстно так же столкнулся с проблемой шифрации.....Тоечнее я понимаю что тут маленькая мелоч но я увы не совсем понимаю в области пакетов и прочих прелестей.....Ситуация такая сервер обновился с Хелбаунда до Грации да ява и бот начал писать такое
11:22:58 Link LoginServer Succeed.
11:23:05 Login LoginServer Success.
11:23:05 服务器[01]当前在线率:2.61%,能否登陆:能
11:23:08 Link GameServer Succeed.
11:23:09 ->Login GameServer Fail.
Вот после последнего пакета пишет
11:23:09 ->Login GameServer Fail.
напротив пакета пишет описание мол протокол вершин......хз версия потокола была 828 пробывал менять на 831 не спасает.....В WPF забиты скрипты на фиксмув фиксеррор и скрипт декодировки трафика стандартный который в комплекте с WPF.
L2.ini _http://dump.ru/file_catalog/963797
Не гоните меня мол это не форум для настройки бота......
Я более чем уверен что проблема тут.....
//
// определим ключ GS:
//
if (_gAbsNumPkt = 2) then
if (gSys.TrafType = 2) and (gSys.isGS > 0) and _dFromServ then begin
if (le = 12) then gSys.tKeyType := 1; // 12 байтный пакет - тип 1. GSDecodeJ (90% l2j)
if (le = 16) then gSys.tKeyType := 2; // 16 байтный пакет - тип 2. GSDecode (sub-off servers)
if (le = $1A) then gSys.tKeyType := 3; // часть фри серверов Interlude
if (le = $1C) then gSys.tKeyType := 3; // часть фри серверов Interlude
if (le = $18 ) then gSys.tKeyType := 3; после перехода на Хелбаунд не работало дописал эту строчку пошло
if (le = $15) then gSys.tKeyType := 3; // официальные сервера Interlude (на данный момент)
if gSys.tKeyType > 0 then begin
s := copy(_dBuff,5,16);
if gSys.tKeyType < 3 then s := copy(s,1,4)+Hstr('A1 6C 54 87'); // C4/C5/псевдо интерлюд.
if gSys.tKeyType = 3 then s := copy(s,1,8 )+Hstr('C8 27 93 01 A1 6C 31 97'); // интерлюд.
Kci := s; Kco := s; Ksi := s; Kso := s;
scode := true; // запустим де/кодирование GS
writelogln('key:');writeloghexb(s);
end else writelogln('неопознанный ключевой пакет GS LA2 протокола')
end;
//
Я так понимаю с переходом на Грацию терь новй ключик ток как его определить и куда вписать я чесн гря хз((( Ребят подскажите что нада подправить сам пока не в силах
Добавлено через 1 час 37 минут
Ребятушки АП тему ломаю голову что и как начитывая не знакомые термины но результата ноль..... Помогите решить данную проблемку оч оч нуждаюсь в вашей помощи ((((