Здравтсвуйте товариші. сьогодні я розповім вам про таку чудову програму як hLapex. Що це. куди ето Сува запитаєте ви. Дохідливо обьясняю. Коли ви граєте ваш клієнт обменіваеться з сервером пакетами з інформацією (не плутати з пакетами для сміття), в цих пакетах міститься абсолютна вся інформація про те що відбувається в даний момент. Що робить хлапекс з пакетами? він може їх сніффером (тобішь бачити) і підміняти, відправляти і т.д. А на * єр воно нам потрібно? а ось потрібно, наведу пару прикладів особистого досвіду. цитата (трохи змінена).
"Цей баг я відкрив учора на одній свіжій l2j збірці від ST (для тих хто не знаед вони сервер розробляють) Мета була спробувати створити мутанта (ну ето чар з чужої парафій якщо по сільському)
Отже при створенні чара сервера відправляється пакет з даними про те як виглядає ваш перс, підлогу. раса нік і т.д. виглядає ето приблизно так:
0B // тип пакета
45 00 6D 00 30 00 30 00 00 00 // нік перса
04 00 00 00 // раса
00 00 00 00 // підлогу
35 00 00 00 // початкова професія (клас)
14 00 00 00 // 6 постійних значень, мені важко сказати, що вони означають
27 00 00 00 //
2D 00 00 00 //
1B 00 00 00 //
1D 00 00 00 //
0A 00 00 00 //
00 00 00 00 // тип волосся
00 00 00 00 // колір волосся
00 00 00 00 // тип особи
Цей пакет створить Гнома війна з ніком "m00" чоловічої статі.
Звернемо увагу на рядок початкової професії і раси, щоб створити мутанта нада в рядку раси ввести несуществуюшую рассу (число більше чотирьох). але як виявилося етот баг у них профікшен і у мене всерівно створився Гном файтер. але якщо я вписав не ту расу звідки гном. так ось. початковий клас, ID якого 35. це і є гном файтер. я спробував змінити число 35, на число 30. вуаля створився орк маг. тільки не Орк-містик а Варкраер. Отже. в залежності від сервера це може дати нам два преймушества. перше. якщо сервер малодропний ми економимо час або гроші отримуючи другу профу, друге: може створить чар з 1 хп які не можуть регене. Нахрена нам воно потрібне запитаєте ви. Отже щоб пояснити придеться вдатися до одного відкриття зроблене не мною (хай вибачать мну адміни). Ви знаєте що відбувається коли вас вбили і ви тиснете кноку "В місто". спочатку від вас сервера відправляється пакет про те що ви такий крутий перець лежите мертвим і вас терміново закортіло в місто. сервер вас звичайно розуміє і відправляє пакет про те що ви піднімаєтеся. клієнт відправляє пакет з вашими даними (скільки здоров'я відновити при вставанні і ще деякі) так от якщо заздалегідь Прігову завершувати процес ла2. а потім натиснути кнопку "В місто" і потім відрубати процес. дані про ваших ХП до сервера не дійдуть і ви встанете з 0 хп. враховуючи що якщо ви "мутант" або "однохельнік" Реген вони не будут значить ви фактично мертві. але можете ходити. уу а ето что-то до значить. напевно то що ви Безсмертний. але з деякими нюансами (наприклад якщо вас хільнуть. хп з'являться і вас можна вбити а також вам страшна отрута і все види кровотека. потомучто вони змушують ХП так сказати з'явитися) Ну таке безсмертя ізспользуйте як хочете за своєю ініціативою. "
Другий приклад використання хлапекса. наприклад на вашому сервері можна викидати адени і СС. - Чудово. отже что ето нам дає. ми можемо засрать сервер в прямому сенсі етого слова. для етого включаємо хлапекс, заходимо в гру. включаємо в хлапексе сниффер пакетів. викидаємо на підлогу Адин Адин. вимикаємо сниффер. копіюємо пакет в зону відправки і включаємо "Auto". вуаля. ви сере Аден. якщо продовжувати в такому ж темпі на сервері начинаються страшні лага. після чого він врешті-решт ребутіцо. [/ font] [/ color]
Другий приклад використання хлапекса. наприклад на вашому сервері можна викидати адени і СС. - Чудово. отже что ето нам дає. ми можемо засрать сервер в прямому сенсі етого слова. для етого включаємо хлапекс, заходимо в гру. включаємо в хлапексе сниффер пакетів. викидаємо на підлогу Адин Адин. вимикаємо сниффер. копіюємо пакет в зону відправки і включаємо "Auto". вуаля. ви сере Аден. якщо продовжувати в такому ж темпі на сервері начинаються страшні лага. після чого він врешті-решт ребутіцо. [/ font] [/ color]
[Color = black] [font = Arial] [color = black] [font = Arial] Ось так. моя лекція прийшла до свого логічного завершення, чтож пробуй. намагайся дізнатися щось нове юний падаван, удачі в твоїх починаннях.
Ось трохи багів для Яви:
12. Геодата (ходіння крізь стіни).
Сьогодні постукав чоловік в асю і почав сперечатися, що l2j нічим не відрізняється від офф. У зв'язку з цим я вирішив
додати до статті пару слів про геодату в l2j і off.
Процес пересування по світу в la2 реалізований досить цікаво. Виявляється, за тим, куди йти стежить і сервер і
клієнт паралельно. Точніше, ви натискаєте в ту точку, куди хочете потрапити, клієнт відповідно до наявної у нього
геодатой дивиться чи можна туди пройти, якщо так, то посилає запит на сервер. Той вже у відповідності зі своєю
геодатой дозволяє або повертає вас в початкове положення. Цим якраз і пояснюється феномен під назвою
"Нівідімие стіни", який, до речі, присущь нашим фрішардним Проджект з кривими локаціями.
У l2j ж немає геодати, вона прікручевается до нього додатково. Що це означає? А то, що за пересуванням чара
стежить тільки клієнт за наявною у нього геодате. Тому, скориставшись ботом (в якому ясна річ також
немає геодати), ви можете ходити крізь стіни, тому що ні сервер, ні клієнт (в особі бота) просто не знають про них.
Ця проблема до речі не тільки l2j. На С1ОФФ як правило С3 / C4 локації також без геодати, тобто там точно також
відповідальність за пересування покладається тільки на клієнта.
Якщо розбирати пересування більш детально, то воно реалізується пакетом "0x01 MoveBackwardToLocation". В ньому
присутній два набори координат - де стоїмо і куди хочемо потрапити. Після цього пакета сервер починає нас
крок за кроком рухати в бажану нами точку. Причому, з кожним кроком він не посилає нам нові координати! для
того, щоб клієнту дізнатися в якій точці в даний момент він знаходиться, надсилається пакет "0x48 ValidatePosition".
Тобто, в цілому, ми посилаємо пакет з координатами куди хочемо потрапити, а потім просто періодично перевіряємо,
грубо кажучи, на скільки ми просунулися.
Але це так, для загального розвитку, так би мовити =)
13. Прикол з SocialAction (0x1
Що таке SocialAction, думаю, пояснювати не треба. Виявилося, що крім сміху, вітання, перемоги і тд, анімація
при LVL UP'е є таким же SocialAction'ом. А, наскільки вам відомо, запит на твір SocialAction
відправляє клієнт, тобто ми самі можемо в будь-який момент зробити собі lvlup =) Тільки анімацію, зрозуміло.
Ось формат SocialAction-пакета:
1b // Тип пакета (SocialAction)
0f 00 00 00 // номер action'а (0f - lvlup)
14. Баг c Ride (0x6a)
Запит "Ride" посилає клієнт, коли хоче забратися на страйдера або Вівер.
формат:
6a // тип пакета
00 00 00 00 // 0/1 злізти / залізти
00 00 00 00 // номер вихованця: 1 -
Приємної гри