PDA

Просмотр полной версии : Сохранение разбора пакета


xixi
11.05.2013, 10:18
Собственно можно ли разобранный пакет сохранять, а то не очень нравится мультиселлы копипастить....

J-Fobos
11.05.2013, 22:39
Вопрос не понятен. Что имеется ввиду под "разобранный пакет" ?

xixi
12.05.2013, 05:03
Tип: 0xD0 (MultiSellList)
Pазмер: 2841+2
Время прихода: 19:11:46:357
0002 d listid: 2011 (0x000007DB)
0006 d index: 1 (0x00000001)
000A d finished: 1 (0x00000001)
000E d pagesize: 40 (0x00000028)
0012 d size: 20 (0x00000014)
[Начало повторяющегося блока 1/20]
0016 d entryid: 1 (0x00000001)
001A c isstackable: 1 (0x01)
001B h 0x00: 0 (0x0000)
001D d 0x00: 0 (0x00000000)
0021 d 0x00: 0 (0x00000000)
0025 h 65534: 65534 (0xFFFE)
0027 h 0x00: 0 (0x0000)
0029 h 0x00: 0 (0x0000)
002B h 0x00: 0 (0x0000)
002D h 0x00: 0 (0x0000)
002F h 0x00: 0 (0x0000)
0031 h 0x00: 0 (0x0000)
0033 h 0x00: 0 (0x0000)
0035 h productsize: 1 (0x0001)
0037 h ingredientsize: 2 (0x0002)
[Начало повторяющегося блока 1/1]
0039 d itemid: Рецепт - Клинок Сирры (60%) ID:8690 (0x21F2) (0x000021F2)
003D d bodypart: 0 (0x00000000)
0041 h type2: 5 (0x0005)
0043 q itemcount: 1
004B h enchantlevel: 0 (0x0000)
004D d augmentid: 0 (0x00000000)
0051 d 0x00: 0 (0x00000000)
0055 h elementid: 65534 (0xFFFE)
0057 h elementpower: 0 (0x0000)
0059 h 0: 0 (0x0000)
005B h 1: 0 (0x0000)
005D h 2: 0 (0x0000)
005F h 3: 0 (0x0000)
0061 h 4: 0 (0x0000)
0063 h 5: 0 (0x0000)
[Конец повторяющегося блока 1/1]
[Начало повторяющегося блока 1/2]
0065 d itemid: Яйцо Динозавра ID:8775 (0x2247) (0x00002247)
0069 h template: 3 (0x0003)
006B q itemcount: 1
0073 h enchantlevel: 0 (0x0000)
0075 d augmentid: 0 (0x00000000)
0079 d 0x00: 0 (0x00000000)
007D h elementid: 65534 (0xFFFE)
007F h elementpower: 0 (0x0000)
0081 h elementalsfire: 0 (0x0000)
0083 h elementalswater: 0 (0x0000)
0085 h elementalswind: 0 (0x0000)
0087 h elementalsearth: 0 (0x0000)
0089 h elementalsholy: 0 (0x0000)
008B h elementalsdark: 0 (0x0000)
[Конец повторяющегося блока 1/2]
[Начало повторяющегося блока 2/2]
008D d itemid: Ткань Динозавра ID:8774 (0x2246) (0x00002246)
0091 h template: 3 (0x0003)
0093 q itemcount: 150
009B h enchantlevel: 0 (0x0000)
009D d augmentid: 0 (0x00000000)
00A1 d 0x00: 0 (0x00000000)
00A5 h elementid: 65534 (0xFFFE)
00A7 h elementpower: 0 (0x0000)
00A9 h elementalsfire: 0 (0x0000)
00AB h elementalswater: 0 (0x0000)
00AD h elementalswind: 0 (0x0000)
00AF h elementalsearth: 0 (0x0000)
00B1 h elementalsholy: 0 (0x0000)
00B3 h elementalsdark: 0 (0x0000)
[Конец повторяющегося блока 2/2]
[Конец повторяющегося блока 1/20]
[Начало повторяющегося блока 2/20]
00B5 d entryid: 3 (0x00000003)
00B9 c isstackable: 1 (0x01)
00BA h 0x00: 0 (0x0000)
00BC d 0x00: 0 (0x00000000)
00C0 d 0x00: 0 (0x00000000)
00C4 h 65534: 65534 (0xFFFE)
00C6 h 0x00: 0 (0x0000)
00C8 h 0x00: 0 (0x0000)
00CA h 0x00: 0 (0x0000)
00CC h 0x00: 0 (0x0000)
00CE h 0x00: 0 (0x0000)
00D0 h 0x00: 0 (0x0000)
00D2 h 0x00: 0 (0x0000)
00D4 h productsize: 1 (0x0001)
00D6 h ingredientsize: 2 (0x0002)
[Начало повторяющегося блока 1/1]
00D8 d itemid: Рецепт - Меч Ипоса (60%) ID:8692 (0x21F4) (0x000021F4)
00DC d bodypart: 0 (0x00000000)
00E0 h type2: 5 (0x0005)
00E2 q itemcount: 1
00EA h enchantlevel: 0 (0x0000)
00EC d augmentid: 0 (0x00000000)
00F0 d 0x00: 0 (0x00000000)
00F4 h elementid: 65534 (0xFFFE)
00F6 h elementpower: 0 (0x0000)
00F8 h 0: 0 (0x0000)
00FA h 1: 0 (0x0000)
00FC h 2: 0 (0x0000)
00FE h 3: 0 (0x0000)
0100 h 4: 0 (0x0000)
0102 h 5: 0 (0x0000)
[Конец повторяющегося блока 1/1]
[Начало повторяющегося блока 1/2]
0104 d itemid: Яйцо Динозавра ID:8775 (0x2247) (0x00002247)
0108 h template: 3 (0x0003)
010A q itemcount: 1
0112 h enchantlevel: 0 (0x0000)
0114 d augmentid: 0 (0x00000000)
0118 d 0x00: 0 (0x00000000)
011C h elementid: 65534 (0xFFFE)
011E h elementpower: 0 (0x0000)
0120 h elementalsfire: 0 (0x0000)
0122 h elementalswater: 0 (0x0000)
0124 h elementalswind: 0 (0x0000)
0126 h elementalsearth: 0 (0x0000)
0128 h elementalsholy: 0 (0x0000)
012A h elementalsdark: 0 (0x0000)
[Конец повторяющегося блока 1/2]
[Начало повторяющегося блока 2/2]
012C d itemid: Ткань Динозавра ID:8774 (0x2246) (0x00002246)
0130 h template: 3 (0x0003)
0132 q itemcount: 150
013A h enchantlevel: 0 (0x0000)
013C d augmentid: 0 (0x00000000)
0140 d 0x00: 0 (0x00000000)
0144 h elementid: 65534 (0xFFFE)
0146 h elementpower: 0 (0x0000)
0148 h elementalsfire: 0 (0x0000)
014A h elementalswater: 0 (0x0000)
014C h elementalswind: 0 (0x0000)
014E h elementalsearth: 0 (0x0000)
0150 h elementalsholy: 0 (0x0000)
0152 h elementalsdark: 0 (0x0000)
[Конец повторяющегося блока 2/2]
[Конец повторяющегося блока 2/20]
[Начало повторяющегося блока 3/20]
0154 d entryid: 5 (0x00000005)
0158 c isstackable: 1 (0x01)
0159 h 0x00: 0 (0x0000)
015B d 0x00: 0 (0x00000000)
015F d 0x00: 0 (0x00000000)
0163 h 65534: 65534 (0xFFFE)
0165 h 0x00: 0 (0x0000)
0167 h 0x00: 0 (0x0000)
0169 h 0x00: 0 (0x0000)
016B h 0x00: 0 (0x0000)
016D h 0x00: 0 (0x0000)
016F h 0x00: 0 (0x0000)
0171 h 0x00: 0 (0x0000)
0173 h productsize: 1 (0x0001)
0175 h ingredientsize: 2 (0x0002)
[Начало повторяющегося блока 1/1]
0177 d itemid: Рецепт - Топор Баракиэля (60%) ID:8694 (0x21F6) (0x000021F6)
017B d bodypart: 0 (0x00000000)
017F h type2: 5 (0x0005)
0181 q itemcount: 1
0189 h enchantlevel: 0 (0x0000)
018B d augmentid: 0 (0x00000000)
018F d 0x00: 0 (0x00000000)
0193 h elementid: 65534 (0xFFFE)
0195 h elementpower: 0 (0x0000)
0197 h 0: 0 (0x0000)
0199 h 1: 0 (0x0000)
019B h 2: 0 (0x0000)
019D h 3: 0 (0x0000)
019F h 4: 0 (0x0000)
01A1 h 5: 0 (0x0000)
[Конец повторяющегося блока 1/1]
[Начало повторяющегося блока 1/2]
01A3 d itemid: Яйцо Динозавра ID:8775 (0x2247) (0x00002247)
01A7 h template: 3 (0x0003)
01A9 q itemcount: 1
01B1 h enchantlevel: 0 (0x0000)
01B3 d augmentid: 0 (0x00000000)
01B7 d 0x00: 0 (0x00000000)
01BB h elementid: 65534 (0xFFFE)
01BD h elementpower: 0 (0x0000)
01BF h elementalsfire: 0 (0x0000)
01C1 h elementalswater: 0 (0x0000)
01C3 h elementalswind: 0 (0x0000)
01C5 h elementalsearth: 0 (0x0000)
01C7 h elementalsholy: 0 (0x0000)
01C9 h elementalsdark: 0 (0x0000)
[Конец повторяющегося блока 1/2]
[Начало повторяющегося блока 2/2]
01CB d itemid: Ткань Динозавра ID:8774 (0x2246) (0x00002246)
01CF h template: 3 (0x0003)
01D1 q itemcount: 150
01D9 h enchantlevel: 0 (0x0000)
01DB d augmentid: 0 (0x00000000)
01DF d 0x00: 0 (0x00000000)
01E3 h elementid: 65534 (0xFFFE)
01E5 h elementpower: 0 (0x0000)
01E7 h elementalsfire: 0 (0x0000)
01E9 h elementalswater: 0 (0x0000)
01EB h elementalswind: 0 (0x0000)
01ED h elementalsearth: 0 (0x0000)
01EF h elementalsholy: 0 (0x0000)
01F1 h elementalsdark: 0 (0x0000)
[Конец повторяющегося блока 2/2]
[Конец повторяющегося блока 3/20]
[Начало повторяющегося блока 4/20]
01F3 d entryid: 7 (0x00000007)
01F7 c isstackable: 1 (0x01)
01F8 h 0x00: 0 (0x0000)
01FA d 0x00: 0 (0x00000000)
01FE d 0x00: 0 (0x00000000)
0202 h 65534: 65534 (0xFFFE)
0204 h 0x00: 0 (0x0000)
0206 h 0x00: 0 (0x0000)
0208 h 0x00: 0 (0x0000)
020A h 0x00: 0 (0x0000)
020C h 0x00: 0 (0x0000)
020E h 0x00: 0 (0x0000)
0210 h 0x00: 0 (0x0000)
0212 h productsize: 1 (0x0001)
0214 h ingredientsize: 2 (0x0002)
[Начало повторяющегося блока 1/1]
0216 d itemid: Рецепт - Трезубец Чудовища (60%) ID:8696 (0x21F8) (0x000021F8)
021A d bodypart: 0 (0x00000000)
021E h type2: 5 (0x0005)
0220 q itemcount: 1
0228 h enchantlevel: 0 (0x0000)
022A d augmentid: 0 (0x00000000)
022E d 0x00: 0 (0x00000000)
0232 h elementid: 65534 (0xFFFE)
0234 h elementpower: 0 (0x0000)
0236 h 0: 0 (0x0000)
0238 h 1: 0 (0x0000)
023A h 2: 0 (0x0000)
023C h 3: 0 (0x0000)
023E h 4: 0 (0x0000)
0240 h 5: 0 (0x0000)
[Конец повторяющегося блока 1/1]
[Начало повторяющегося блока 1/2]
0242 d itemid: Яйцо Динозавра ID:8775 (0x2247) (0x00002247)
0246 h template: 3 (0x0003)
0248 q itemcount: 1
0250 h enchantlevel: 0 (0x0000)
0252 d augmentid: 0 (0x00000000)
0256 d 0x00: 0 (0x00000000)
025A h elementid: 65534 (0xFFFE)
025C h elementpower: 0 (0x0000)
025E h elementalsfire: 0 (0x0000)
0260 h elementalswater: 0 (0x0000)
0262 h elementalswind: 0 (0x0000)
0264 h elementalsearth: 0 (0x0000)
0266 h elementalsholy: 0 (0x0000)
0268 h elementalsdark: 0 (0x0000)
[Конец повторяющегося блока 1/2]
[Начало повторяющегося блока 2/2]
026A d itemid: Ткань Динозавра ID:8774 (0x2246) (0x00002246)
026E h template: 3 (0x0003)
0270 q itemcount: 150
0278 h enchantlevel: 0 (0x0000)
027A d augmentid: 0 (0x00000000)
027E d 0x00: 0 (0x00000000)
0282 h elementid: 65534 (0xFFFE)
0284 h elementpower: 0 (0x0000)
0286 h elementalsfire: 0 (0x0000)
Вот такой пакет к примеру. Можно ли как-то задавать тип. Например, я хочу, чтобы все мультиселлы, которые просматривал персонаж, сохранялись в лог файлы.

J-Fobos
12.05.2013, 11:38
В принципе можно. Берете описание пакета из ини файла, по нему пишите скрипт который вытянет из пакета все данные и сформирует из них строку. Строку позже сохраните в файл.

Например пакет 79=ValidateLocation:d(CharID)d(X)d(Y)d(Z)d(Heading )
var
s: string;

s:= 'Tип: 0x79 (ValidateLocation)' + #10#13 +
'CharID : ' + ReadD(2) + #10#13 +
'x : ' + ReadD(6) + #10#13 +
'y : ' + ReadD(10) + #10#13 +
'z : ' + ReadD(14) + #10#13 +
'Heading : ' + ReadD(18);
Таким образом можно любіе данные добавить, в нужном вам порядке.

xixi
13.05.2013, 23:03
мне казалось, что это можно сделать без добавления такой информации в каждый пакет, ведь их овер10к....

J-Fobos
14.05.2013, 11:55
Как 10к? Вы о чем?)

xixi
15.05.2013, 02:17
Я это к тому, что придется ручками для КАЖДОГО пакета расписывать содержимое и сохранение. Пакет ведь разбирается способами пакетхака, а нам нужно сохранить содержимое memo в файл, так?

supernewbie
15.05.2013, 12:57
xixi, ну можно пакетхак перекомпилить добавив новые функции.
или реверс, сплайс и WM_GETTEXT если будет работать

xixi
16.05.2013, 07:21
Ну пакетхак парсит исходники java или же разбирает самостоятельно, впринципе можно это сделать, правда я в реверсинге вообще не силен, поэтому без понятия как можно добавить такую безусловно полезную функцию в пакетхак...

Yegor
16.05.2013, 10:12
Я это к тому, что придется ручками для КАЖДОГО пакета расписывать содержимое и сохранение. Пакет ведь разбирается способами пакетхака, а нам нужно сохранить содержимое memo в файл, так?

Ну тебе ведь не каждый пакет нужен, а именно мультиселы. А для этого типа пакета можно и написать скрипт в десяток строчек.

xixi
18.05.2013, 04:11
Ну тебе ведь не каждый пакет нужен, а именно мультиселы. А для этого типа пакета можно и написать скрипт в десяток строчек.
В том то и дело, что данный пакет всего лишь начало. Хотелось бы создать некий сниффер средствами пакетхака.

J-Fobos
18.05.2013, 12:43
xixi, пакетхак это и есть сниффер, по определению.
Если уж на то пошло, может просто сохранять лог пакетов?

xixi
18.05.2013, 17:33
Ну сохраняется в виде raw. А мне нужна разобранная информация.

Yegor
18.05.2013, 18:33
Ну сохраняется в виде raw. А мне нужна разобранная информация.

Зачем? Если дальше предполагается програмная обработка данных то логи пакетхака самое то.

J-Fobos
20.05.2013, 13:26
Согласен, а если ручная обработка, то те же логи открывают в пакетхаке и любой пакет можно смотреть в стандартном режиме.