Страница 2 из 11

Добавлено: Ср дек 13, 2006 5:50 pm
Jerry
:D может ты все-таки пойдешь почитаешь, что я писал?

Добавлено: Ср дек 13, 2006 5:55 pm
sel
сори если не по теме, для тех кто не знает что такое hex редактор, скинул екзешник чтоб работали 2 окна и т.д. сюда - http://webfile.ru/1235460

----------------------------------------------------
КМ: Источник не проверен. Использовать на свой стах и Риск.

Добавлено: Ср дек 13, 2006 6:33 pm
istari
а что сложно проверить онлайн антивирусами?

Добавлено: Ср дек 13, 2006 6:50 pm
kLabMouse
istari
Не. Пусть учатся люди сами делать.

Добавлено: Ср дек 13, 2006 6:55 pm
FullRND
скажите что-нибудь уже, это новый севрер тайп или они добавили падеды во все пакеты ?

Добавлено: Ср дек 13, 2006 7:03 pm
kLabMouse
FullRND
Не. Изменили Префиксы и длинны пакетов. я уже почти всё выловил. Ща буду реализовывать и тестить.

Добавлено: Ср дек 13, 2006 7:24 pm
kLabMouse
Тяк. Вот свежая Инфа. Для тех Кто пытается зделать сам
(Процедура, --, Префикс пакета, длинна)
sendMapLogin -- 009B 29
sendSync -- 00F3 11
sendMove -- 0113 13
sendAttack/Sit/Stand -- 0085 (Padding)
sendGetPlayerInfo -- 00F5 9
sendLook -- 0190 5
sendTake -- 0116 6
sendDrop -- 0089 6
sendItemUse -- 009F 8
sendStorageAdd -- 007E 9
sendStorageGet -- 00F7 20
sendSkillUse -- 00A2 (Padding)

Добавлено: Ср дек 13, 2006 7:45 pm
piroJOKE
Этого мало... уже лучше сразу в формате еА писать, например:
0x0113,40,useskilltopos,5:15:29:38
пакет, длина, название, оффсеты аргументов

Добавлено: Ср дек 13, 2006 8:19 pm
Jerry
а кора не заточена под этот якобы рагнадефендер, хихи, она не умеет подставлять пакеты. Так что каждый раз придется править сервертайп

Добавлено: Ср дек 13, 2006 8:25 pm
piroJOKE
BTW идут разговоры о файловом разделении отдельных модулей для разных serverType. Даже вроде бы там прикрепленную тему сделали, точно не смотрел.

ЗЫ: Окей, окей, а что нам не хватает для заточки, реально?...

ЗЗЫ: Сделать что ли конвертер "0x0113,40,useskilltopos,5:15:29:38" -> "send.pm"? =)

Добавлено: Ср дек 13, 2006 8:39 pm
Jerry
ну как будто бы должен быть файлик, вот с этим "0x0113,40,useskilltopos,5:15:29:38", который будет кора кушать. Соответственно исходник можно а) каждый раз не править, б) применить для других серверов.
А обновлять чисто этот файлик.

Кстати недельнае апдейты еще бабкой на воде писаны :)

Добавлено: Ср дек 13, 2006 9:10 pm
kLabMouse
Тяк, Ну вот что нашкрёб на данный момент

009B 29 -- sendMapLogin
$msg = pack("C*", 0x9B, 0, 0) . $accountID . $charID . $sessionID . pack("C*", 0x00, 0x00, 0x00, 0x00) . pack("V", getTickCount()) . pack("C*", 0x00, 0x00) . pack("C*",$sex) . pack("C*", 0x00, 0x00, 0x00);
0113 13 -- sendMove
$msg = pack("C*", 0x13, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) . getCoordString($x, $y);

0085 0 -- sendAttack/Sit/Stand
(Padding)

00F3 11 -- sendSync
$msg = pack("C*", 0xF3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) . $syncSync;

0190 5 -- sendLook
$msg = pack("C*", 0x90, 0x01, $head, $body, 0x00);

0116 6 -- sendTake
$msg = pack("C*", 0x16, 0x01) . $itemID;

0089 6 -- sendDrop
$msg = pack("C*", 0x89, 0x00) . pack("v*", $index, $amount);

009F 8 -- sendItemUse
$msg = pack("C*", 0x9F, 0x00) . pack("v*",$ID) . $targetID;

007E 9 -- sendStorageAdd
$msg = pack("C*", 0xF3, 0x00) . pack("v", $index) . pack("C*", 0x00) . pack("V", $amount);

00F7 20 -- sendStorageGet

0193 2 -- sendStorageClose
$msg = pack("C*", 0x93, 0x01);

00A2 0 -- sendSkillUse
(Padding)

00A7 14 -- sendSkillUseLoc
$msg = pack("C*", 0xA7, 0x00) . pack("v", $lv) . pack("v*", $ID) . pack("v*", $x) . pack("C*", 0x38, 0x39, 0x65, 0x00) . pack("v*", $y);

0094 94 -- ?

00F5 9 -- sendGetPlayerInfo
$msg = pack("C*", 0x94, 0x00) . $ID . pack("C*", 0x00, 0x00, 0x00);

0072 17 -- ?

Тяк. МапЛогин есть. СПС PiroJoke
Ещё интересуют те пакеты которые обозначены как ? и нуно будет немного потестировать.

Добавлено: Ср дек 13, 2006 10:01 pm
piroJOKE

Код: Выделить всё

	} elsif ($config{serverType} == 13) {
		$msg = pack("C*", 0x##, 0, 0) . <--- подобрать, к-во junk-ов
			$accountID .
			pack("C*", 0, 0, 0) . <--- подобрать, к-во junk-ов
			$charID .
			pack("C*", 0x12, 0, 0xB0, 0xA3, 0x66, 0) . <--- подобрать, к-во junk-ов
			$sessionID .
			... <--- возможно здесь они тоже есть
 			pack("V", getTickCount()) .
			... <--- возможно и тут
			pack("C*",$sex);

Добавлено: Ср дек 13, 2006 10:16 pm
piroJOKE
Помойму, так:

h:[9B 00] j:[00] accid:[## ## ## ##] charid:[## ## ## ##] sesId:[## ## ## ##] j:[35 65 32 00] tick:[## ## ## ##] j:[62 00] sex:[##] j:[30 39 00]

Почему так, точнее, откуда инфа:

accID, charID - Kore
sessID - relogin test
tick - char select test
sex - sex test

* * *

Код: Выделить всё

	} elsif ($config{serverType} == 13) {
		$msg = pack("C*", 0x9B, 0, 0) .
		$accountID .
		$charID .
		$sessionID .
		pack("C*", 0, 0, 0, 0) .
		pack("V", getTickCount()) .
		pack("C*", 0, 0) .
		pack("C*",$sex) .
		pack("C*", 0, 0, 0);
* * *
MAP Name: prontera.gat
MAP IP: 81.177.13.18
MAP Port: 5000
-----------------------------
Closing connection to Character Server
Disconnecting (81.177.13.17:6000)...disconnected
Pausing for 1 second(s)...
Connecting to Map Server...
checking patchserver access control...
answer is still in cache.
patchserver grants login.
Connecting (81.177.13.18:5000)... connected
Requesting guild information...
You are now in the game
Your Coordinates: 129, 150

Добавлено: Ср дек 13, 2006 10:42 pm
kLabMouse
Заапдейтил свой Пост.

Тяк. МапЛогин есть. СПС PiroJoke
Ещё интересуют те пакеты которые обозначены как ? и нуно будет немного потестировать. Надеюсь к утру всё забегает как нуно. Ибо вечер уже настал :(