Вернуться   CoderX :: Forums > Lineage II > L2PacketHack
Войти через OpenID

L2PacketHack Форум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела! Обсуждение багов Lineage ЗАПРЕЩЕНО!

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 06.01.2014, 16:20   #1
Пользователь
 
Регистрация: 05.03.2010
Сообщений: 46
Сказал Спасибо: 0
Имеет 14 спасибок в 9 сообщенях
Deadly пока неопределено
По умолчанию Как шифруются пакеты к GS

Ура отпуск и есть немного времени на хобби)

Забавно с момента появления этой игры прошло уже почти 11 лет, казалось бы должны растащить по кусочкам, и разжевать каждый), но увы тем очень мало, а полезных еще меньше, про низкий уровень вообще молчу...

Ладно о главном), все "Action" действия происходят в Engine.dll если вкратце вызывается функция(для каждого пакета своя и их не сложно найти) с определенными параметрами, 1 пакет не шифруется, а начиная со 2 шифруется, ну впрочем вы можете найти ссылку как это происходит и без меня). Можно вызывать эти функции "на лету" например подгрузив библиотеку.

Сам код пытался комментировать максимально понятно, очень оптимизировано написан он без излишек, я так не умею( сам код:

Код:
00511FD0    8B4C24 04        MOV ECX,DWORD PTR SS:[ESP+0x4]	- поместить в ecx исходный пакет
00511FD4    83EC 08          SUB ESP,0x8 			вычесть из esp (хз зачем если потом прибавляется 14 можно было просто +6 потом)
00511FD7    56               PUSH ESI				запоинить старое значение esi 
00511FD8    8B7424 14        MOV ESI,DWORD PTR SS:[ESP+0x14]	в esi переноситься значение ключа шифтрации(в дамп)
00511FDC    8A46 01          MOV AL,BYTE PTR DS:[ESI+0x1]	начало шифровки 1 байта в ал переноситься 1 байт ключа
00511FDF    3001             XOR BYTE PTR DS:[ECX],AL		хориться 1 байт(шифруется)
00511FE1    57               PUSH EDI				edi в стек)
00511FE2    8B7C24 1C        MOV EDI,DWORD PTR SS:[ESP+0x1C]	вычислить размер пакета(стек + 13 валяется в дампе)
00511FE6    B8 01000000      MOV EAX,0x1			поместить в eax 1
00511FEB    3BF8             CMP EDI,EAX                 	сравнить edi(размер пакета) и eax если меньше продолжить(щетчик)
00511FED    7E 19            JLE SHORT engine.00512008		перейти если сравнение равно
00511FEF    90               NOP				
00511FF0    8BD0             MOV EDX,EAX			в edx перенести eax
00511FF2    83E2 0F          AND EDX,0xF			логическая опер сложения(округления до 16) над edx для шифрации ключом 16 байтовым( чтобы не 

выходило значения за рамки ключа как только дойдет до 17 округлитьсЯ до 1 и будет повторно шифравать ключом)
00511FF5    8A5432 01        MOV DL,BYTE PTR DS:[EDX+ESI+0x1]	переносит в дл текущую часть ключа
00511FF9    325408 FF        XOR DL,BYTE PTR DS:[EAX+ECX-0x1]	хорит часть ключа с преведущим хориным байтом
00511FFD    83C0 01          ADD EAX,0x1			увеличивает счетчик на 1
00512000    305408 FF        XOR BYTE PTR DS:[EAX+ECX-0x1],DL	хорит текущий по щетчику байт с dl(на этом шифрация над текущим байтом завершена)
00512004    3BC7             CMP EAX,EDI			сверяет все ли сообщения прошифровано
00512006   ^7C E8            JL SHORT engine.00511FF0		если нет возращается к метке на 8 пунктов выше и до тех пор пока не прошифрует всё
Deadly вне форума   Ответить с цитированием
За это сообщение Deadly нажился спасибкой от:
Старый 06.01.2014, 19:26   #2
Местный
 
Аватар для St1mul
 
Регистрация: 03.12.2011
Сообщений: 133
Сказал Спасибо: 63
Имеет 19 спасибок в 16 сообщенях
St1mul пока неопределено
По умолчанию

1)откуда по конкретней взято из engine.dll
2)код из какой то защиты или из стандартной engine.dll

Последний раз редактировалось St1mul, 06.01.2014 в 19:28.
St1mul вне форума   Ответить с цитированием
Старый 06.01.2014, 20:05   #3
Пользователь
 
Регистрация: 05.03.2010
Сообщений: 46
Сказал Спасибо: 0
Имеет 14 спасибок в 9 сообщенях
Deadly пока неопределено
По умолчанию

Цитата:
Сообщение от St1mul Посмотреть сообщение
1)откуда по конкретней взято из engine.dll
2)код из какой то защиты или из стандартной engine.dll
1 - офф сет слево для кого)?
2 - да обычная стандартная длл, ни одна защита в engine.dll не меняет больше 1 - 2 строчек ибо не надо)

Добавлено через 16 минут
башка уже не варит сорри) смещение 100FD0

Последний раз редактировалось Deadly, 06.01.2014 в 20:05. Причина: Добавлено сообщение
Deadly вне форума   Ответить с цитированием
За это сообщение Deadly нажился спасибкой от:
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 02:53.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!