Логотип игрового форума RF-Cheats.ru    
Новости онлайн игр Гарант RF-Cheats.ru Чёрный рынок Реклама и привилегии Разработка читов Арбитраж

Регистрация Бан-лист Сообщество ПОПУЛЯРНОЕ
Вернуться   RF-Cheats.ru - форум читеров и ботоводов > > > >

Пакетный уровень RFO / WPF-скрипты

: Обсуждение пакетов, способа отсылки/редактирования пакетов и багов на их основе. Технически говоря - обсуждение сетевого протокола RF.
Читы и обход фроста для RF Online без хайдаБоты и читы для Perfect World бесплатно без хайдаМоды и читы для World of Tanks (WoT) бесплатно без хайдаМоды и читы для Armored Warfare бесплатно без хайдаБоты и читы для DOTA 2 бесплатно без хайдаБоты и читы для Black Desert Online бесплатно без хайдаЧиты на ArcheAge бесплатно без хайдаЧиты для Warface бесплатно без хайдаВзлом ВКонтакте и ОдноклассниковСписок разделов со всеми играмиЧиты для онлайн игр






Ответ
 
Опции темы
Старый 23.01.2009, 16:10   #1
Stormraider
Продвинутый читер
Аватар для Stormraider
OFFLINE
Регистрация: 14.04.2007
Сообщений: 391
Благодарностей:
824 всего
Мнения: + 3657
Репутация: 3268
Отправить сообщение для Stormraider с помощью ICQ

Разбор пакетов [wpf]


Мы все знаем что в впп выложен не полный список пакетов а часть из них просто не разобрана. Предлагаю сдесь выкладывать свои наработки:
Я начну:
Код:
s0717=DeleteStorageInform:h(psize)h(ID:Get.ID)c(-)h(Item ID)

c071E=ExchangeItemRequest:h(psize)h(ID:Get.ID)-(2: )h(Item SID)
s071F=ExchangeItemResult:h(psize)h(ID:Get.ID)c( )c(Item GID)d(Item ID)-(2: )h(Item SID)z(4:Number of holes)

c0C01=BuyStoreRequest:h(psize)h(ID:Get.ID)d(Store ID)d(Diff Item's)h(-)d(Item Slot)c(Item Count)
s0C02=BuyStoreSuccess:h(psize)h(ID:Get.ID)-(49:-)c(Diff Item's)d(Item ID)

c0C04=SellStoreRequest:h(psize)h(ID:Get.ID)d(Store ID)d(Diff Item's)h(-)h(Item ID)c(Item Count)
s0C05=SellStoreResult:h(psize)h(ID:Get.ID)-(9:-)d(Money)

c0C11=OpenStoreRequest:h(psize)h(ID:Get.ID)d(Store Id)
s0C12=?OpenStoreResult?:h(psize)h(ID:Get.ID)d(Store Id)c( )

c0D81=FireGuardPasswordSend:h(psize)h(ID:Get.ID)a(Password)c( )
s0D82=FireGuardPasswordResult:h(psize)h(ID:Get.ID)h( )
Пара багов впф.
1: 'a' должен возвращать строку оканчивающийся 0. Заставить работать этот параметр у меня не получилось.
2: Все еще стоит вопрос о разборе пакетов динамической длинны например BuyStoreRequest. Параметр(по которому можно разбирать количество купленных аитемов) найден вопрос в том как его применить.
//s: данных багов не наблюдается. Все работает как и должно работать.
необходимый функционал параметров присутствует и работает.

Последний раз редактировалось Sauron; 30.03.2009 в 07:42.


Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает.
— Rick Cook


История России — борьба невежества с несправедливостью. (c) МихМих

Numa Numa
 
Ответить с цитированием
Сказали спасибо:
Недоступно (18.10.2009)


Старый 26.01.2009, 09:55   #2
Джони
Гость
Аватар для Джони
Сообщений: n/a
Благодарностей:
0 всего

Код:
s0304=BaseDownloadResult:h(psize)h(ID:Get.ID)c( )h(char SID)h(EXP:Get.Prc)-(0006)h(CurHP)h(CurSP)h(CurFP)-(0020)c(Rank)c(key)c( )c( )h(MaxHP clear)h(MaxSP)h(MaxFP)h(Map Location)p(X)p(Z)p(Y)-(0162)-(0009)h(max_uroven_zashity)h(cur_uroven_zashity)

s0310=MonsterCreate:h(psize)h(ID:Get.ID)h(mobID)h(sID)d(objID)h(X)h(Z)h(Y)

s0318=MonsterDestroy:h(psize)h(ID:Get.ID)h(objsID)d(objID)c( )

s031C=ItemboxDestroy:h(psize)h(ID:Get.ID)h(itemID)

s0324=.CharAppear3.:h(psize)h(ID:Get.ID)h(CharSID)d(CharID)h( )h(X)h(Z)h(Y)

s032B=StatInform:h(psize)h(ID:Get.ID)c(StatID)h(points)
s032C=FcitemInform:h(psize)h(ID:Get.ID)h(ForceID)d(points)

s041E=SomethingWithMob_4:h(psize)h(ID:Get.ID)c( )d(objID)

c0502=AttackSkillRequest:h(psize)h(ID:Get.ID)d(counter)h( )h( )h(target sID)c( )C( )h( )c( )c( )
c0503=AttackForceRequest:h(psize)h(ID:Get.ID)d(counter)c(=01)h(X)h(Y)h(force ID)h(target sID)t(end)

c0707=UsePotionRequest:h(psize)h(ID:Get.ID)c( )h(CharSID)d(CharID)h(itemID)
s0708=UsePotionResult:h(psize)h(ID:Get.ID)c( )h(itemID)

s0717=DeleteStorageInform:h(psize)h(ID:Get.ID)c( )h(itemID)

s0719=AlterItemDur:h(psize)h(ID:Get.ID)c( )h(ForceID)d(points)

c071C=CombineItemRequest:h(psize)h(ID:Get.ID)h(CombineNumber)h(NewItemID)
s071D=CombineItemResult:h(psize)h(ID:Get.ID)c( )h(MoneyAmount)h( )h( )h( )c(ItemGroup)h(ItemGID)c(ItemAmount)c( )h( )h(ItemID)

s0B97=SomethingWithMob_1:h(psize)h(ID:Get.ID)d(objID)
s0B99=SomethingWithMob_2:h(psize)h(ID:Get.ID)d(objID)
s0B9A=SomethingWithMob_3:h(psize)h(ID:Get.ID)d(objID)

s0D1D=TargetObjectHpInform:h(psize)h(ID:Get.ID)h( )d(objID)h(%HP)

s0D64=.0D64.SomethingWithSelectedMobe:h(psize)h(ID:Get.ID)d(objID)c( )

c0D6A=SetPartyTarget:h(psize)h(ID:Get.ID)h( )h(objSID)d(objID)
s0D6B=PartyTarget:h(psize)h(ID:Get.ID)d( )d(objID)

s0D70=.0D70.:h(psize)h(ID:Get.ID)d(CharID)

s1014=PartyMemberHpUpd:h(psize)h(ID:Get.ID)d(char objID)h(HP)
s1015=PartyMemberFpUpd:h(psize)h(ID:Get.ID)d(char objID)h(FP)
s1016=PartyMemberSpUpd:h(psize)h(ID:Get.ID)d(char objID)h(SP)

s1018=PartyMemberPosUpd:h(psize)h(ID:Get.ID)d(char objID)c( )h(X)h(Y)

s101A=PartyMemberEffectUpd:h(psize)h(ID:Get.ID)d(char objID)c(flag)c(buff)c( )c(level)

s1103=ForceResultOther:h(psize)h(ID:Get.ID)h(force ID)c( )c( )h(char SID)d(char objID)c( )h(target sID)d(target oID)

s1106=SkillResultOther:h(psize)h(ID:Get.ID)h( )h(char SID)d(char objID)c( )h(target sID)d(target oID)h(skill ID)

s1109=ClassSkillResultOther:h(psize)h(ID:Get.ID)d( )d(char objID)c( )c( )c( )d(char objID)

c1701=BuyingMAU:h(psize)h(ID:Get.ID)c(MAU_type)
c1709=BuyMAUBulletUpSlots:h(psize)h(ID:Get.ID)c(MAU_id)c(bullet_type)c(bullet_type)
c170B=BuyMAUBulletDownSlots:h(psize)h(ID:Get.ID)c(MAU_id)c(num_slots)

s1B59=GvG:h(psize)h(ID:Get.ID)
1. "а" в парсинге не применял, разве не надо указывать длину строки?
2. для цикла в впф используется ключевое слово "For". применяется так:
Код:
s1F04=BuddyDownloadResult:h(psize)h(ID:Get.ID)h( )c(CountBuddy:For.0002)t(Name)z(0005?)
после "for" стоит точка и число - количество блоков в каждой итерации цикла. в данном случае сервер выдает нам список друзей количеством CountBuddy и для каждого из них - 2 параметра, имя и что-то еще.

Последний раз редактировалось Джони; 26.01.2009 в 10:05.
 
Ответить с цитированием
Сказали спасибо:
Недоступно (18.10.2009), Stormraider (26.01.2009), RFbager (26.01.2009)
Старый 28.01.2009, 12:39   #3
RFbager
Эксперт
Аватар для RFbager
OFFLINE
Регистрация: 12.06.2008
Сообщений: 315
Благодарностей:
641 всего
Мнения: + 3736
Репутация: 1966

а каким образом можно зациклить парсинг если байт не меняет своё значение?

 
Ответить с цитированием
Старый 30.03.2009, 07:49   #4
Sauron
Супер-модератор
Аватар для Sauron
OFFLINE
Регистрация: 10.04.2007
Сообщений: 72
Благодарностей:
164 всего
Мнения: + 1001
Репутация: 1091

Типы аргументов:

'd' : integer (размер 4 байта)
'D' : back_int (integer обратный (4 байта, первый байт - старший)
'c' : byte / char (размер 1 байт)
'f' : double (размер 8 байт, float)
'p' : single (размер 4 байта, float)
'h' : word (размер 2 байта)
'q' : int64 (размер 8 байта)
's' : WideString (размер - до первых нулевых байт)
'b' : array[int] // массив, первый инт (первые 4 байта) - размер. общий размер = +4 байта.
'x' : array[byte] // массив, первый байт - размер, общий размер = +1 байт
'-' : пропуск размером '0000' '-(0000Desc)'
'z' : array[const] // блок фикс. размером '0000'. 'z(0000Desc)'
'a' : AsciiString // ANSI фикс. размером '0000'. 'a(0000Desc)'
't' : Ascii[byte] // ANSI, первый байт - размер, общий размер= +1 байт
'l': AsciiZ // 'l(0000Desc)'
// ANSI до первого нулевого символа
// либо до максимальной фиксированной длины '0000',
// если макс. = 0 то максимальная фиксированная длина ограничена размером пакета.
'v': vardat' // размер и цвет аргумента зависит от ф-ции GT2.name(ar1,pos,psize,pcol):res;
// см арг-ф-ции 'GET','GT2','FOR','VFR'
'R' : remark // R(любая строка отображаемая ниже описания пакета)
else : 'unknown';

циклы:
на примерах:
d(Count:For.0065) - здесь: берется WORD (d) как значение для цикла следущих 65 аргументов. 'Count' - название данного аргумента.

c(Счетчик:For.0004) - здесь: берется BYTE (c) как значение для цикла следущих 4 аргументов. 'Счетчик' - название данного аргумента.
c(Счетчик:For.0104) - здесь: берется BYTE (c) как значение для цикла следущих 4 аргументов пропуская один следущий аргумент.

динамика маркера GT2 сложнее, опишу потом.

^_O
= WP661f = (15.10.09)

Злой и Жестокий критик и баголов. Вижу очень далеко, насквозь.

Быстрей наслаждайся иллюзией, пока кто нибудь не растоптал твои грезы.

На любой R0 драйвер найдется свой R0 драйвер.

Yoda не люблю я, дразнится под меня он.
 
Ответить с цитированием
Сказали спасибо:
RFbager (31.03.2009)
Старый 15.06.2009, 11:59   #5
котопес
Супер-модератор
Аватар для котопес
OFFLINE
Регистрация: 22.12.2008
Возраст: 48
Сообщений: 1,100
Благодарностей:
2,845 всего
Мнения: + 6385
Репутация: 9104

внесу свою долю лепты
PHP код:
AUK
c1E1E
=AuctionBuyRequest:h(psize)h(ID:Get.ID)c(Group_p1:Get.AukP1)c(Category_p2)c(Subcategory_p3)d(hz2)c(IdNPC)c(ItemsInList:For.0003)h(ItemAukID)h(flag)d(ItemCena)
s1E1F=AuctionBuyAnswer:h(psize)h(ID:Get.ID)
c1E20=AuctionRequestList:h(psize)h(ID:Get.ID)c(IdNPC)c(Group_p1:Get.AukP1)c(Category_p2)c(Subcategory_p3)c(sort_p4:Get.AukSort)d(hz1)c(PageNumber page-1)d(hz2)
s1E21=AuctionAnswerList:h(psize)h(ID:Get.ID)c(req)d(hz)c(Group_p1:Get.AukP1)c(Category_p2)c(Subcategory_p3)c(sort_p4:Get.AukSort)d(hz1)c(PageNumer page-1)c(TotalPages)c(hz2)h(hz3)c(ItemsInList:For.0011)h(ItemAukID)h(flag '0'=ok,'1'=block)c(ItemGroup)h(ItemGID)h(kolichestvo '0'=odna)h(hzi1)d(ItemParams)d(ItemCena)d(CharId)a(0017CharName)d(hzi2)
Message
c3A01
=SendMailRequest:h(psize)h(ID:Get.ID)a(0017CharName)a(0021MsgSubject)a(0202MessageText)h(ItemId)h(Items)h(hz1)c(hz2)
s3A02=SendMailResult:h(psize)h(ID:Get.ID)

и в T3Packets.fsc
function GetAukSort(ar1 integer) : string;
// внешняя ф-ция, вызывается не из скрипта, а по аргументу
// :Get.AukSort
begin
  
case ar1 of
    0 
result := 'Vozrastanie Ceny';
    
result := 'Ubyvanie Ceny';
    
result := 'Vozrastabie Urovnya';
    
result := 'Ubyvanie Urovnya';
    else 
result := 'unknown'
  
end;
  
result := #2#3'23'+result+#15;
end;

function 
GetAukP1(ar1 integer) : string;
// внешняя ф-ция, вызывается не из скрипта, а по аргументу
// :Get.AukP1
begin
  
case ar1 of
    0 
result := 'Oruzhie';
    
result := 'Bronya';
    
result := 'Akcessuary';
    
result := 'Shit';
    
result := 'Predmety modifikacii';
    
result := 'Predmety proizvodstva';
    
result := 'Silovoy mayak';
    
result := 'Doping';
    
result := 'Eventovy predmet';
    
result := 'Boepripasy';
    else 
result := 'unknown'
  
end;
  
result := #2#3'23'+result+#15;
end

BigData DBA/DataInfraOps
 
Ответить с цитированием
Сказали спасибо:
Екатерина (09.07.2011), broveymimo (12.01.2010), Недоступно (18.10.2009)
Старый 18.08.2009, 09:33   #6
Тигрь
Крестный отец всех читеров
Аватар для Тигрь
OFFLINE
Регистрация: 02.04.2008
Сообщений: 4,028
Благодарностей:
37,789 всего
Мнения: + 32049
Репутация: 106739

Измененный пакет 1506 логин сервера в 2.2.3:
Код:
s1506=WorldListResult:h(psize)h(ID:Get.ID)c(0)h(Si zeNextBytes)c(ServerCount:For.0003)c(stat '0'=DOWN)t(Name)c(0)


Если бы я был умен - я бы сошел с ума.



 
Ответить с цитированием
Старый 04.05.2011, 11:52   #7
Nightshade2
Эксперт
Аватар для Nightshade2
OFFLINE
Регистрация: 06.11.2010
Возраст: 42
Сообщений: 1,336
Благодарностей:
738 всего
Мнения: + 5008
Репутация: 2215
Отправить сообщение для Nightshade2 с помощью ICQ Отправить сообщение для Nightshade2 с помощью Skype™

s040F=ItemBoxAppearing:h(psize)h(ID:Get.ID)c(Group )h(GroupId)
 
Ответить с цитированием
Ответ



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

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

Быстрый переход

Мир танков | Проект "Армата" | ArcheAge | Black Desert | РФ Онлайн | Айон | Майнкрафт | Браузерные игры
Элдер скролс | Р2 Онлайн | Реквием Онлайн | ПУБГ | Роял Квест | ГТА Санадреас | Контра | Дота 2
Мир кораблей | Лост Арк | Arma2 DayZ mod | The War Z | Карос: Начало | Tera Online
Читы для всех Онлайн-игр