- IDA Pro (первым делом нужно анпакнуть Themida);
- Часть разбора для PointShark смотри ниже. Там не всё, но база есть;
- На изменение в PROTOCOL_BASE_SELECT_CHANNEL_ACK не реагирует, так что прописан в UI клиента.
Код:
ScriptAPI.AddUInt("Result");
ScriptAPI.AddByte("Unk1");
ScriptAPI.AddPaddedString("Account Login", 33);
//ScriptAPI.AddByte("Color");
ScriptAPI.AddUInt("Rank");
ScriptAPI.AddUInt("Rank");
ScriptAPI.AddUInt("Point");
ScriptAPI.AddUInt("Exp");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Cash");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUShort("Unknown");
ScriptAPI.AddPaddedString("Clan Name", 17);
ScriptAPI.AddUShort("Members?");
ScriptAPI.AddUInt("Clan Emblems");
ScriptAPI.AddByte("Color?");
ScriptAPI.AddUInt("Total Games");
ScriptAPI.AddUInt("Wins");
ScriptAPI.AddUInt("Loss");
ScriptAPI.AddUInt("Draws");
ScriptAPI.AddUInt("Kills");
ScriptAPI.AddUInt("Headshots");
ScriptAPI.AddUInt("Deaths");
ScriptAPI.AddUInt("Total Games");
ScriptAPI.AddUInt("Kills");
ScriptAPI.AddUInt("Unknown X");
ScriptAPI.AddUInt("Total Games");
ScriptAPI.AddUInt("Wins");
ScriptAPI.AddUInt("Losses");
ScriptAPI.AddUInt("Draws");
ScriptAPI.AddUInt("Kills");
ScriptAPI.AddUInt("Headshots");
ScriptAPI.AddUInt("Deaths");
ScriptAPI.AddUInt("Total Games");
ScriptAPI.AddUInt("Total Kills");
ScriptAPI.AddUInt("Unknown X");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddByte("Unknown?");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddByte("Main Character");
n = ScriptAPI.AddByte("Character Count");
for(i = 0; i < 9; i++)
{
ScriptAPI.StartNode("Character: " + (i));
ScriptAPI.AddByte("Slot");
ScriptAPI.AddUInt("TemplateID");
ScriptAPI.AddUInt("CreatedAt");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddPaddedString("Character Name", 33);
for (n = 0; n < 5; n++)
{
ScriptAPI.StartNode("Weapons: " + (n));
ScriptAPI.AddLong("ItemMask");
ScriptAPI.AddUInt("ItemID");
ScriptAPI.EndNode(false);
}
for (n = 0; n < 8; n++)
{
ScriptAPI.StartNode("Part: " + (n));
ScriptAPI.AddLong("ItemMask");
ScriptAPI.AddUInt("ItemID");
ScriptAPI.EndNode(false);
}
ScriptAPI.AddByte("ClassID");
ScriptAPI.AddByte("SkillCommon");
ScriptAPI.AddByte("SkillMain");
ScriptAPI.AddByte("SkillAssist");
ScriptAPI.AddByte("SkillAssistLevel");
ScriptAPI.AddByte("SkillMainLevel");
ScriptAPI.AddByte("SkillCommonLevel");
//ScriptAPI.AddPaddedString("Garbage", 163);
ScriptAPI.EndNode(false);
}
ScriptAPI.AddUInt("ItemID");
ScriptAPI.AddUInt("Unknown");
ScriptAPI.AddUInt("Repeat ItemID");
ScriptAPI.AddUInt("DateTime");
ScriptAPI.AddLong("Unknown");
ScriptAPI.AddByte("Current Event");
ScriptAPI.AddByte("Next Event");
ScriptAPI.AddUInt("LastActivateDateTime");
ScriptAPI.AddPaddedString("Event Title", 58);
ScriptAPI.AddByte("Done");
ScriptAPI.AddByte("All");
//ScriptAPI.AddUInt("Unknown");
В PointShark выбираешь пакет, двойной клик и вставляй скрипт.