Сообщений: 51
Тем: 18
Зарегистрирован: Jan 2013
Репутация:
204
Привет всем, хотел узнать такую вещь, в гейм пакетах ArcheAge
Идут странные хеадеры, (short - длина пакета, байт - неизвестное число которое меняется при перезагрузке клиента, байт - неизвестное число причем постоянное, и шорт - опкод или что это вообще)
Сначала я думал что после длины идет шорт - ключ, но это оказалось не так, потом думал то что второй байт - уровень пакета, но это также не так)
Так как быть? Можете мне кто-нибудь обьяснить что это такое, и как мне отличать пакеты.
Сообщений: 51
Тем: 18
Зарегистрирован: Jan 2013
Репутация:
204
10-20-2013, 08:24 AM
(Сообщение последний раз редактировалось: 10-20-2013, 11:04 AM Smiler.)
еще насчет пакетов, как я понял то в гейме - int32 опкоды, но там есть байт который постоянно меняется (в серверных опкодах помойму) и вот мне интересно, что с этим делать? сохранять серверные опкоды как int16 и добавлять к ним рандомный байт?
Сообщений: 1,912
Тем: 56
Зарегистрирован: Jan 2009
Репутация:
12,921
niktout Написал:еще насчет пакетов, как я понял то в гейме - int32 опкоды, но там есть байт который постоянно меняется (в серверных опкодах помойму) и вот мне интересно, что с этим делать? сохранять серверные опкоды как int16 и добавлять к ним рандомный байт?
В обмене клиент-сервак понятия, рандом нету. Есть логика записи - которую тебе нужно узнать
Сообщений: 220
Тем: 19
Зарегистрирован: Oct 2011
Репутация:
2,462
В итоге, у игровых пакетов опкод 4 байта?
hLaPEx, Evermore, hAuthD, L2on, ...
Сообщений: 176
Тем: 4
Зарегистрирован: Jan 2013
Репутация:
1,011
Hint Написал:В итоге, у игровых пакетов опкод 4 байта? Именно, сначала думал флаг,но потом MHard подсказал
Сообщений: 220
Тем: 19
Зарегистрирован: Oct 2011
Репутация:
2,462
И все-таки первый байт id в клиентских пакетах меняется. Сначала 0x00, в окне выбора персонажа нажимаю "выбрать другой сервер", выбираю новый сервер, теперь во всех клиентских пакетах первый байт уже другой.
hLaPEx, Evermore, hAuthD, L2on, ...
Сообщений: 99
Тем: 3
Зарегистрирован: Jun 2013
Репутация:
158
Не может опкод быть 4 байта.
Они в клиенте по двум байтам хендлятся.
Кстати c2s пакеты никто не вытаскивал?
А то s2c очень удобно в трёх хендлерах лежат, а клиентские по всему коду размазаны, плюс инициализаторы разные. Свихнёшься скрипт писать, чтоб их вытащить.
Сообщений: 220
Тем: 19
Зарегистрирован: Oct 2011
Репутация:
2,462
Тогда за что отвечают 2 других байта? Серверные опкоды: 0x01B801DD, 0x000F02DD и др.
hLaPEx, Evermore, hAuthD, L2on, ...
Сообщений: 99
Тем: 3
Зарегистрирован: Jun 2013
Репутация:
158
Пока не знаю. Я ещё не смотрел трафик. Я лазию по коду клиента и на глаза попались хендлеры пакетов.
Они хендлятся по списку. ID идут по порядку от нуля до количества пакетов в каждом из трёх хендлеров.
Три типа пакета. Пакеты авторизации 14 штук, пакеты UCC (эмблемы на плащах и подобные) 16 штук, пакеты игрового сервера 502 штуки.
Соответственно ID от 0 до 0x01F5. Остальные байты что-то другое. Тут уже зависит от того, сколько соединений держит клиент. Если одно, то скорее всего один из этих байтов это тип пакета.
Я пока не могу посмотреть разбор самого пакета, надо отлаживать, а под восьмёркой обходчик темиды не работает. Обновил называется комп на свою голову
Сообщений: 2,101
Тем: 40
Зарегистрирован: Apr 2008
Репутация:
12,296
MadHacker;351177 Написал:а под восьмёркой обходчик темиды не работает. Обновил называется комп на свою голову ВМБокс + ВинХП-32 = виктори 
Уже 502пакета О_О я когда-то ковырялся, находил 300 с копейками  прогрессируют
Даже помойму списки остались...щас гляну 
Да, чето осталось...но что и зачем не помню(и верно ли это, тоже не помню):
список
Код: =============================
AuthServer to Client packet:
0x00 - SChallenge2Packet (salt) ch - 2
0x01 - SEnterOtpPacket (round salt salt) ch - 4
0x02 - SShowArsPacket (mt ct) - 5
0x03 - SEnterPcCertPacket - 6
0x04 - SAuthResponsePacket - 7
0x05 - SLoginDeniedPacket (reason msg) - 3
0x06 - SWorldCookiePacket (turnCount totalCount) - 9
0x07 - SEnterWorldDeniedPacket (coocie ip port) - 0A
0x08 - SAccountWarnedPacket (reason) - 0B
0x09 - SJoinResponsePacket (source msg) - 0D
=============================
=============================
Client to AuthServer packet:
0x04 - CRequestAuthPacket (data) - 4
=============================
========
ClientToAuth(10):
RequestAuthPacket
RequestAuthTencentPacket
ChallengeResponsePacket
ChallengeResponse2Packet
ListWorldPacket
EnterWorldPacket
CancelEnterWorldPacket
RequestReconnetcPacket
OtpNumberPacket
PcCertNumberPacket
========
========
ClientToStream(17):
QueryCharNamePacket
RequestCellPacket
CancelCellPacket
ContinuePacket
JoinPacket
UploadEmblemStreamPacket
EmblemStreamUploadStatusPacket
StartUploadEmblemStreamPacket
EmblemStreamDownloadStatusPacket
EmblemPartDownloadedPacket
RequestEmblemPacket
UccComplexPacket
UccStringPacket
UccPositionPacket
UccCharacterNamePacket
UccComplexCheckValidPacket
ItemUccPacket
========
========
ClientToWorld(242):
CofferInteractionPacket
RemoveAllDoodadFromCellPacket
AddDoodadToCellEndedPacket
RemoveCommonFarmsPacket
AddDoodadToCellPacket
PlaceCommonFarmPacket
SetDoodadTimeAccel (notdone)
RequestCommonFarmListPacket
ChallengeDuelPacket
StartDuelPacket
SetPingPosPacket
ChangeMateNamePacket
SendUserMusicPacket
ReplyImprisonOrTrialPacket
ReplyInviteJuryPacket
JurySummonedPacket
JuryEndTestimonyPacket
CancelTrialPacket
JuryVerdictPacket
ReportCrimePacket
RequestJuryWaitingNumberPacket
RequestSetBountyMoneyPacket
UpdateBountyPacket
SkillControllerStatePacket
MountMatePacket
MoveUnitPacket
CompletedCinemaPacket
CheckDemoModePacket
ResetDemoCharPacket
ConsoleCmdUsedPacket
EditorGameModePacket
EditorRemoveGimmickPacket
InteractGimmickPacket
EditorAddGimmickPacket
WorldRayCastingPacket
ListCharacterPacket
RefreshInCharacterListPacket
DeleteCharacterPacket
CancelCharacterDeletePacket
SelectCharacterPacket
NotifyInGamePacket
NotifyInGameCompletedPacket
ChangeTargetPacket
ResurrectCharacterPacket
CriminalLockedPacket
ExpressEmotionPacket
UnhangPacket
ChangeAppellationPacket
StartedCinemaPacket
HSResponsePacket
BroadcastVisualOptionPacket
RestrictCheckPacket
ICSMenuListPacket
ICSGoodsListPacket
ICSBuyGoodPacket
CharacterFindByNamePacket
SpawnCharacterPacket
CreateCharacterPacket
EditCharacterPacket
TeleportEndedPacket
NotifySubZonePacket
SaveTutorialPacket
RequestUiDataPacket
SaveUiDataPacket
UpdateDominionTaxRatePacket
RequestCharBriefPacket
ReloadFactionRelationsPacket
CreateExpeditionPacket
ChangeExpeditionSponsorPacket
ChangeExpeditionRolePolicyPacket
ChangeExpeditionMemberRolePacket
ChangeExpeditionOwnerPacket
DismissExpeditionPacket
InviteToExpeditionPacket
LeaveExpeditionPacket
KickFromExpeditionPacket
ReplyExpeditionInvitationPacket
FamilyInviteMemberPacket
FamilyLeavePacket
FamilyKickPacket
FamilyChangeTitlePacket
FamilyChangeOwnerPacket
FamilyReplyInvitationPacket
SearchListPacket
AddFriendPacket
DeleteFriendPacket
CharDetailPacket
AddBlockedUserPacket
DeleteBlockedUserPacket
InviteAreaToTeamPacket
InviteToTeamPacket
ReplyToJoinTeamPacket
LeaveTeamPacket
KickTeamMemberPacket
MakeTeamOwnerPacket
SetTeamOfficerPacket
ConverToRideTeamPacket
MoveTeamMemberPacket
DismissTeamPacket
SetTeamMemberRolePacket
SetOverHeadMarkerPacket
ChangeLootingRulePacket
UpdateActionsSlotPacket
UsePortalPacket
UpgradeExpertLimitPacket
DowngradeExpertLimitPacket
ConstructHouseTaxPacket
ChangeHouseNamePacket
ChangeHousePermissionPacket
DecorateHousePacket
CreateHousePacket
ChangeHousePayPacket
HireEmployeePacket
FireEmployeePacket
RemoveMatePacket
ChangeMateTargetPacket
ChangeMateUserStatePacket
RequestNpcSpawnerList
RemoveNpcSpawner
UpdateNpcSpawner
SpawnSlavePacket
DespawnSlavePacket
DestroySlavePacket
BindSlavePacket
DiscardSlavePacket
ChangeSlaveTargetPacket
RemoveAllFieldSlave
AddFieldSlave
BoardingTransferPacket
TurretStatePacket
CreateSkillControllerPacket
ActiveWeaponChangePacket
JoinTrialAudiencePacket
LeaveTrialAudiencePacket
UnMountMatePacket
UnbondDoodadPacket
InstanceLoadedPacket
ApplyToInstantGamePacket
CancelInstantGamePacket
JoinInstantGamePacket
EnteredInstantGameWorldPacket
RequestPermissionToPlayCinemaForDirectingMode
StartQuestContextPacket
CompleteQuestContextPacket
DropQuestContextPacket
ResetQuestContextPacket
AcceptCheatQuestContextPacket
QuestTalkMadePacket
QuestStartWithPacket
TryQuestCompleteAsLetItDonePacket
RestartMainQuestPacket
RemoveAreaSpheresPacket
PlaceAreaSpheresPacket
LearnSkillPacket
LearnBuffPacket
ResetSkillsPacket
SwapAbilityPacket
RemoveBuffPacket
StopCastingPacket
DeletePortalPacket
SetForceAttackPacket
StartSkillPacket
CreateDoodadPacket
NaviTeleportPacket
NaviOpenPortalPacket
NaviOpenBountyPacket
SetLogicDoodadPacket
CleanupLogicLinkPacket
SelectInteractionExPacket
BuyItemsPacket
BuyCoinItemPacket
ChangeDoodadPhasePacket
HangPacket
InteractNPCPacket
InteractNPCEndPacket
StartInteractionPacket
FactionImmigratePacket
RequestHouseTaxPacket
SpecialtyRatioPacket
ListSpecialtyGoodsPacket
JoinUserChatChannelPacket
LeaveUserChatChannelPacket
SendChatMessagePacket
RollDicePacket
SendMailPacket
ListMailPacket
ListMailContinuePacket
ReadMailPacket
TakeAttachmentMoneyPacket
PayChargeMoneyPacket
DeleteMailPacket
ReportSpamPacket
ReturnMailPacket
TakeAttachmentItemPacket
RepairSlaveItemsPacket
RepairPetItemsPacket
SaveDoodadUccStringPacket
AllowHousingRecoverPacket
BuyPriestBuffPacket
ChangeSlaveNamePacket
UseTeleportPacket
LeaveWorldPacket
CancelLeaveWorldPacket
AuctionPostPacket
AuctionSearchPacket
AuctionMyBidListPacket
CancelAuctionPacket
BidAuctionPacket
ExecuteCraftPacket
SetLpManageCharacter
CreateShipyardPacket
SetCraftingPayPacket
DestroyItemPacket
SplitBagItemPacket
SwapItemsPacket
SplitCofferItemsPacket
SwapCofferItemsPacket
ExpandSlotsPacket
DepositMoneyPacket
WithdrawMoneyPacket
RepairSingleEquipmentPacket
RepairAllEquipmentsPacket
ChangeItemLookPacket
ChangeMateEquipmentPacket
ItemUccPacket
LootOpenBagPacket
LootItemPacket
LootCloseBagPacket
LootDicePacket
SellBackpackGoodsPacket
BuySpecialtyItemPacket
SellItemsPacket
ListSoldItemPacket
StartTradePacket
CanStartTradePacket
CannotStartTradePacket
CancelTradePacket
PutupTradeItemPacket
TakedownTradeItemPacket
TradeLookPacket
TradeOkPacket
PutupTradeMoneyPacket
|