fifa17-recon: store fix (v2/store gate + flags) + full FUT endpoint map

Store "not available" root cause reversed from CardsDLL:
- ut/v2/game/fifa17/store is an ELIGIBILITY gate (FutStorePackQuantities
  deser 0x1801758c0), not a quantity list. It reads one key "result"
  (atom 0x288); the store screen refuses to open unless SUCCESS. Was
  unhandled -> catch-all {} -> "not available". Now returns {"result":"SUCCESS"}.
- Store-screen entitlement checks (0x18001749d/0x1800175a2) read IS_*/
  *_PURCHASE_ENABLED Blaze flags, separate from storeEnabled. Added the full
  confirmed set (14 flags) to FUT_RS4_CONFIG.
- Catalog: assetId (0x23) is the real pack identity; extPrice inner keys are
  amount/currency (not mtx). (Also gated client-side by GetSystemMetrics>1024x768.)

Full FUT API reversed (clean-room, CardsDLL only) into docs/ENDPOINT_MAP.md:
~100 FutXServerResponse types across 7 feature groups (market, SBC, draft,
seasons/match, club, store, user/hub), each with deserializer VA, atom-mapped
field schema + types, freeze-risk flags, and minimal known-good JSON.
Tooling kept: tools/atomdump.py (dumps the 907-atom key table at 0x1802d2760)
-> docs/fut_atoms.tsv. Research prompt: docs/OPENCODE_ENDPOINT_PROMPT.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PN5bmpDVQR1aXgefyWAt7o
This commit is contained in:
funman300
2026-08-02 17:13:11 -07:00
parent c7759a52c4
commit 4e89cce37d
6 changed files with 2498 additions and 1 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,170 @@
# opencode task — map the remaining FIFA 17 FUT endpoints for the offline rebuild
## Context
OpenFUT runs FIFA 17 Ultimate Team fully offline (clean-room; EA servers are dead).
A working Python backend already exists at `~/Documents/OpenFUT/fifa17-recon/tools/` and
FIFA talks to it (`/etc/hosts``easw.easports.com``127.0.0.1:8099`). Many endpoints
are already reversed and served. Your job is **RESEARCH ONLY**: produce a complete map of
the FUT endpoints that are LEFT to build, using the tools/logs/disassembly that already
exist. Do NOT rewrite the backend — output `~/Documents/OpenFUT/fifa17-recon/docs/ENDPOINT_MAP.md`.
## CLEAN-ROOM RULE (HARD)
Use ONLY files we own + our own client's traffic. NEVER use leaked EA source of any kind.
## Use the ALREADY-BUILT tools — do not rebuild these
1. **`tools/utas_server.py`** — the live backend. Its `ROUTES` table is the AUTHORITATIVE
list of endpoints already handled: `auth`, `delete/auth`, `phishing/{trusteddevice,
validate,question}`, `user/credits`, `user/list`, `user/accountinfo`, `user`, `squad`
(+`/list`), `hub`, `userMassInfo`, `season`, `club`, `item(/resource)/defid`,
`store/purchasegroup`, `store/transaction`, `purchased`. Read it to see what's DONE and
the exact response shapes used. Its `_handle()` logs `!! UNMAPPED PATH -> catch-all 200 {}`
for any endpoint FIFA hits that ISN'T handled yet — those are your gaps.
2. **`/tmp/utas_server.log`** — GROUND TRUTH of every request FIFA makes (method, path,
headers, body) and our response. Start here:
```
grep 'UNMAPPED PATH' -B1 /tmp/utas_server.log # endpoints we stub {}
grep -oE '(GET|POST|PUT) /ut/(v2/)?game/fifa17/[^ ?]*' /tmp/utas_server.log | sort -u
```
This is the real, ordered list of what the client requests per FUT screen.
(Caveat: the log is temp — cleared on reboot — and only reflects FUT screens actually
visited. For richer traffic, run the harness and navigate more FUT menus first.)
3. **`tools/memtool.py`** — live FIFA17 `/proc/mem` reader/patcher (base `0x140000000`),
for inspecting parsed structs live if a format is ambiguous.
4. **`tools/fut_store.py` / `tools/fut_seed.py`** — the data models (club items, squad,
packs) the backend already uses; extend these conceptually, don't reinvent.
5. **`tools/openfut-fut.sh`** — starts the whole harness (lsx/blaze/roster/utas) if you
need it running to capture more traffic. `tools/root_arm.sh` arms host state (needs sudo).
6. **`docs/CARD_SYSTEM.md`** — the reversed card/parser system + method (READ FIRST). It
already documents the SAX-parser internals so you don't re-derive them.
## Disassembly (regenerate once; same method `docs/CARD_SYSTEM.md` uses)
```
mkdir -p /tmp/fut && cp "/mnt/games/FIFA 17/CardsDLL_Win64_retail.dll" /tmp/fut/cardsdll.dll
objdump -d -M intel /tmp/fut/cardsdll.dll > /tmp/fut/cardsdll.asm
strings -t x /tmp/fut/cardsdll.dll > /tmp/fut/cardsdll.strings
```
Shared-parser CHEATSHEET (reuse, don't re-derive): endpoint paths are strings `"ut/%s/..."`
(`%s` = `"game/fifa17"`); response structs are `"RS4:Fut<X>ServerResponse"`; each has a SAX
deserializer that hashes each key via FNV-1a fn `0x180180d00` (seed `0x811c9dc5`) to an ATOM
int, looks the name up in the table at `0x1802d2760` (`table[atom]=char*`), and dispatches
via a jump-table; unknown keys hit the value-SKIP handler `0x180135ff0` (container-aware,
safe). Field TYPE must match its handler (scalar getters `0x1801c79d0`/`0x1801c7620`/
`0x1801c7aa0` vs nested object/array handlers) — a scalar handler fed an object/array
**DESYNCS the parser and hard-freezes the game**, so type fidelity is mandatory.
Endpoint resolve table: `RS4::ServerSettings::resolve 0x180124270`.
## Method (per endpoint)
For each gap endpoint (from the log's UNMAPPED list + the `"ut/%s/..."` strings not yet in
`ROUTES`): grep the strings for its path → find its `Fut<X>ServerResponse` struct → find its
deserializer → list the atoms it dispatches, map atom→key via `0x1802d2760`, note each
field's JSON type + required-vs-skip → write the minimal known-good response JSON.
## WHERE TO START
1. Read `docs/CARD_SYSTEM.md` and skim `tools/utas_server.py` `ROUTES`.
2. Run the two log greps above → the definitive list of endpoints FIFA calls but we only
stub `{}`. Rank them by FUT feature.
3. List ALL `"ut/%s/..."` path strings and subtract the ones already in `ROUTES` → the
endpoints not yet even discovered in traffic.
4. Reverse the response format for each gap, prioritizing the core loop first:
**transfermarket** (search/bid/buy/list/watchlist), **tradepile**, **SBC**
(challenges/submit), **objectives**, **draft**, **seasons/single-player**, **match**
(squad-battles/kickoff result), then club stats / concept squads / loans.
## Deliverable
`docs/ENDPOINT_MAP.md`, one section per feature: for each endpoint — method, path, whether
already handled or a gap, request body shape, response shape (exact keys+types, required vs
optional), deserializer VA, and a minimal known-good example JSON. This is the spec for
finishing the FUT backend (target: port into the Rust `openfut-core` behind a FIFA-17 bridge).
---
## APPENDIX — known atoms + verified response templates (reuse these; don't re-derive)
### Parser internals (already reversed)
- key → atom: FNV-1a fn `0x180180d00` (seed `0x811c9dc5`) → `table[atom]=char*` at `0x1802d2760`
- dispatch: range jump-tables; unknown key → value-SKIP `0x180135ff0` (container-aware, safe)
- scalar getters (leaf, no descend): int/num `0x1801c79d0`, bool `0x1801c7620`, string `0x1801c7aa0`
- endpoint resolve: `RS4::ServerSettings::resolve 0x180124270`; path `"ut/%s/.."`, `%s="game/fifa17"`
- shared ITEM/card deserializer: `0x18013fe00` (used by club, squad slots, pack itemList, purchased)
### Common shared keys (atom in hex | JSON type)
```
itemData 0x16b (obj/array-elem) | id 0x15c (int) | resourceId 0x287 (int) | assetId 0x23 (int)
index 0x163 (int) | kitNumber 0x17a (int) | rating 0x274 (int) | preferredPosition 0x24a (str)
cardsubtypeid 0x6c (int) | attributeList 0x31 (array) | currencies 0xc5 (array)
currencies element: name 0x1d0 (str) | funds 0x134 (int) | finalFunds 0x124 (int)
currency-name literals are CASE-SENSITIVE strings: "coins", "points", "DRAFT_TOKEN"
configs 0xa2 (array) [settings response, key = "configs"]
```
### FutUserCreditsServerResponse — GET user/credits (deser 0x180122c50) [VERIFIED WORKS]
```json
{"currencies":[{"name":"coins","funds":15000,"finalFunds":15000},
{"name":"points","funds":0,"finalFunds":0}],
"unopenedPacks":{"preOrderPacks":0,"recoveredPacks":0}}
```
Coins read from `currencies[name=="coins"].funds`. A bare `{"credits":n}` is SKIPPED → 0.
### FutStoreGetPackTypesServerResponse — GET store/purchasegroup/all (deser 0x1801234e0)
Root key MUST be `"purchase"` `0x260` (array); optional `"timestamp"` `0x31b`. Per-pack
(parser `0x18013af30`): `id 0x15c`(int16, the pack identity) | `packType 0x20f`(str) |
`description 0xd1`(str) | `currencies 0xc5`(array {name,funds,finalFunds} = coins price) |
`extPrice 0x119`(obj {`finalPrice 0x125`, `originalPrice 0x205`}, each a currency→amount map
incl `"mtx"`=FIFA-Points) | `packContentInfo 0x20c`(obj: `bronzeQuantity 0x63`,
`silverQuantity 0x2c6`, `goldQuantity 0x149`, `rareQuantity 0x273`, `itemQuantity 0x170`) |
`quantity 0x26b`(int, 0=unlimited) | `isPremium 0x176` | `saleType 0x298` | `state 0x2eb` |
`visible 0x37d`(sets flag, DON'T send the value—desyncs).
**⚠ The parser is NOT the store gate (CONFIRMED by disassembly).** Per-pack parser epilogue
`0x18013badc` pushes every parsed pack unconditionally — no valid/drop predicate exists in
the parse path. The `"not available"` error (`FUT_CatalogNotAvailable`, msg-id `0x7550`)
comes from TWO downstream gates, neither JSON-schema-related:
1. **Resolution gate `0x18001756e`**: calls `GetSystemMetrics` — if the display is
**≤ 1024×768**, the store is declared unavailable regardless of any JSON. Run FIFA at
**> 1024×768** (1280×720 passes). *Cheapest cause to eliminate — check this first.*
2. **Store-data-model load status** (`0x180013cf0`): `model+0x30` must become `1` and the
screen's cached status `[rsi+0x250]` must not stay `-1`; else post `0x7550` at
`0x180013d6c`. Fed by two entitlement checks — `0x18001749d` (`vtable+0x138`) and
`0x1800175a2` (`vtable+0x280`) — that read the **Blaze client-config purchase flags**:
`IS_STORE_ENABLED`, `IS_COIN_PURCHASABLE`, `IS_FIFAPOINT_AVAILABLE`,
`COINS_PURCHASE_ENABLED`, `POINTS_PURCHASE_ENABLED`, `MONEY_PURCHASE_ENABLED`. These are
SEPARATE from `storeEnabled`/`cardPackStoreEnabled` and must ALSO be set in the Blaze config.
Recognized per-pack enum tokens (send these exact strings to avoid enum-reject):
`saleType` → `"promo"`/`"deal"`; a limit-type field → `NONE`/`QUANTITY`/`TIME`/`TIME_QUANTITY`;
pack `state` → `"active"`. Currency token is lowercase `"coins"`/`"mtx"` (NOT uppercase).
### FutCreatePackServerResponse — PUT store/transaction (pack reveal, deser 0x180162880)
Wrapper key `"createPackResponse"` `0xbe`:
```json
{"createPackResponse":{"itemList":[/*cards*/],"numberItems":7,
"purchasedPackId":102,"duplicateItemIdList":[]}}
```
(atoms: itemList `0x16e`, numberItems `0x1dd`, purchasedPackId `0x264`, duplicateItemIdList `0xec`.)
BUY signal = transaction body has `"packId"` `0x20b` AND `state 0x2eb != "TRANSACTIONCANCEL"`.
state enum strings: `TRANSACTIONCREATED`(carries packId=the buy), `PURCHASECOMPLETE`,
`TRANSACTIONCOMPLETE`, `TRANSACTIONCANCEL`.
`FutGetPurchasedItemsServerResponse` — GET purchased: `{"itemData":[/*cards*/]}` (itemData `0x16b`).
### GetUserMassInfo — GET userMassInfo (deser 0x180174630) [FREEZE-SENSITIVE]
Top-level: `userInfo 0x370`, `squad 0x2cd`, `settings`, `userData`. MUST serve `{}` unless
every field type-matches, else the parser hard-freezes. `userInfo` deser `0x18013ec10`;
SAFE minimal that carries coins:
```json
{"userInfo":{"currencies":[{"name":"coins","funds":15000}],"sessionCoinsBankBalance":15000}}
```
(`sessionCoinsBankBalance 0x2bb`.) DANGER: `squadList` must be an OBJECT `{"squad":[...]}`
NOT an array (array → desync → freeze). Container fields `feature`/`reliability`/
`unopenedPacks`/`bidTokens`/`actives` must match exact shape or be omitted.
### LoadActiveSquad — GET squad/0 (deser 0x18013d1f0)
Keys: `id 0x15c` | `personaId 0x21b` | `squadName 0x2d3` | `formation 0x12b`(str) |
`squadType 0x2d6` | `chemistry 0x81` | `starRating 0x2e2` | `captain 0x69` | `manager 0x1a8`(array)
| `actives 0xb`(array) | `custom 0xc6`(STRING of 33 ints) | `players 0x238`(array of
{index,itemData,kitNumber}) | `kicktakers 0x178`(array). Squad PUT stores slots as
`itemData={id:<clubItemId>}` references (re-embed full items on GET, see `reconstruct_squad`).
> Atoms are index-into-`0x1802d2760`; a few above came from mixed-confidence passes — when a
> value doesn't take, verify the atom by locating the key string in `cardsdll.strings` and
> re-hashing. Field TYPE fidelity is mandatory (scalar-vs-container mismatch = freeze).
> High-confidence/verified: `user/credits`, `createPackResponse`, the store gate analysis,
> and the `userMassInfo` safe-shape.
+907
View File
@@ -0,0 +1,907 @@
0 0x0 LIST_START
1 0x1 0
2 0x2 1
3 0x3 2
4 0x4 3
5 0x5 4
6 0x6 accountCreatedPlatformName
7 0x7 actions
8 0x8 actionType
9 0x9 activateSlotNumber
10 0xa active
11 0xb actives
12 0xc activeAwayKit
13 0xd activeBadge
14 0xe activeBall
15 0xf activeChampionLeagues
16 0x10 activeHomeKit
17 0x11 activeMessage
18 0x12 activeStadium
19 0x13 aigroup
20 0x14 allCoins
21 0x15 allObjectivesForCurrentGameSpaceId
22 0x16 allofflinetrophy
23 0x17 allonlinetrophy
24 0x18 allowGracePeriodForSquadBuildingSets
25 0x19 allowUntradeableForSquadBuildingSets
26 0x1a AMATEUR
27 0x1b amount
28 0x1c AND
29 0x1d answer
30 0x1e any
31 0x1f apply
32 0x20 applyTo
33 0x21 areas
34 0x22 areaSubType
35 0x23 assetId
36 0x24 AssetId
37 0x25 assetName
38 0x26 assetType
39 0x27 assists
40 0x28 attempts
41 0x29 attrib1
42 0x2a attrib6
43 0x2b Attribute1
44 0x2c Attribute2
45 0x2d Attribute3
46 0x2e Attribute4
47 0x2f Attribute5
48 0x30 Attribute6
49 0x31 attributeList
50 0x32 auctionBid
51 0x33 auctionCount
52 0x34 auctionExpired
53 0x35 auctionInfo
54 0x36 auctionLostBidRejected
55 0x37 auctionLostOutbid
56 0x38 auctionLostOutbidSelf
57 0x39 auctionSoldBid
58 0x3a auctionSoldBuyNow
59 0x3b auctionWonBid
60 0x3c auctionWonBuyNow
61 0x3d authToken
62 0x3e available
63 0x3f awaykit
64 0x40 awardCount
65 0x41 awardedPrizes
66 0x42 awardItemData
67 0x43 awardMappings
68 0x44 awardType
69 0x45 awardSet
70 0x46 awardSetId
71 0x47 awards
72 0x48 awardValue
73 0x49 badge
74 0x4a badgeDBid
75 0x4b badges
76 0x4c Badge
77 0x4d ball
78 0x4e Ball
79 0x4f balls
80 0x50 base
81 0x51 BEGINNER
82 0x52 bestBuilderScore
83 0x53 bestPointsSeasonId
84 0x54 bestPointsSeasonValue
85 0x55 bid
86 0x56 bidPrices
87 0x57 bidState
88 0x58 bidToken
89 0x59 bidTokens
90 0x5a bio
91 0x5b biodescription
92 0x5c bonus
93 0x5d bonusPacks
94 0x5e Boost
95 0x5f boost
96 0x60 boostConis
97 0x61 boostCountLeft
98 0x62 bronze
99 0x63 bronzeQuantity
100 0x64 builder
101 0x65 buyNowPrice
102 0x66 buyoutPrices
103 0x67 Cap
104 0x68 capacity
105 0x69 captain
106 0x6a CAPTAIN_DRAFT
107 0x6b cardassetid
108 0x6c cardsubtypeid
109 0x6d cardPackStoreEnabled
110 0x6e cardPackStoreEnabled_JP
111 0x6f categories
112 0x70 category
113 0x71 Category
114 0x72 categoryCount
115 0x73 categoryId
116 0x74 challengeId
117 0x75 challengeImageId
118 0x76 challenges
119 0x77 challengesCompletedCount
120 0x78 challengesCount
121 0x79 CHAMPIONSHIP
122 0x7a championEvent
123 0x7b championEventId
124 0x7c championEventType
125 0x7d champion_qualifier
126 0x7e changed
127 0x7f checkPointsReached
128 0x80 checkServerDbVersion
129 0x81 chemistry
130 0x82 choiceIndex
131 0x83 choices
132 0x84 cleansheets
133 0x85 clientId
134 0x86 clientKeepAliveResetTimeoutSec
135 0x87 club
136 0x88 clubId
137 0x89 ClubId
138 0x8a clubInfo
139 0x8b clubCount
140 0x8c clubCreateThreshold
141 0x8d clubAbbr
142 0x8e clubName
143 0x8f clubNameChangeAllowed
144 0x90 clubPlayers
145 0x91 clubUser
146 0x92 code
147 0x93 codeType
148 0x94 coin
149 0x95 coins
150 0x96 COINS
151 0x97 coinsEarned
152 0x98 coinEnabled
153 0x99 coinEnabled_JP
154 0x9a collector
155 0x9b CommonName
156 0x9c COMPLETED_DRAFT
157 0x9d competitor
158 0x9e competitionId
159 0x9f competitionCountryCode
160 0xa0 competitionRegion
161 0xa1 concededGoals
162 0xa2 configs
163 0xa3 constrainGracePeriod
164 0xa4 consume
165 0xa5 consumables
166 0xa6 consumablesContract
167 0xa7 consumablesTraining
168 0xa8 consumablesFitness
169 0xa9 consumablesContractPlayer
170 0xaa consumablesContractManager
171 0xab consumablesFitnessPlayer
172 0xac consumablesFitnessTeam
173 0xad consumablesFormationManager
174 0xae consumablesTrainingManagerLeagueModifier
175 0xaf consumablesHealing
176 0xb0 consumablesTrainingPlayerPlayStyle
177 0xb1 consumablesTrainingGkPlayStyle
178 0xb2 consumablesPosition
179 0xb3 consumablesTrainingPlayer
180 0xb4 consumablesTrainingManager
181 0xb5 consumablesTrainingGk
182 0xb6 contextId
183 0xb7 contextValue
184 0xb8 contract
185 0xb9 controls
186 0xba corners
187 0xbb couchPlayEnabled
188 0xbc count
189 0xbd country
190 0xbe createPackResponse
191 0xbf creationTime
192 0xc0 credits
193 0xc1 currentBid
194 0xc2 currentChampionEvent
195 0xc3 currentTime
196 0xc4 currency
197 0xc5 currencies
198 0xc6 custom
199 0xc7 customData
200 0xc8 customData1
201 0xc9 data
202 0xca dataVersion
203 0xcb debug
204 0xcc dealType
205 0xcd default
206 0xce defending
207 0xcf defId
208 0xd0 desc
209 0xd1 description
210 0xd2 detaildescription
211 0xd3 development
212 0xd4 difficulty
213 0xd5 difficultyName
214 0xd6 dimeId
215 0xd7 discardValue
216 0xd8 display
217 0xd9 displayGroup
218 0xda displayGroupAssetId
219 0xdb displayGroupUseDefaultImage
220 0xdc divisionId
221 0xdd divisionOffline
222 0xde divisionOnline
223 0xdf DRAFT_TOKEN
224 0xe0 draft_token
225 0xe1 draftChampion
226 0xe2 draftsCompleted
227 0xe3 draftState
228 0xe4 draftSummary
229 0xe5 draftToken
230 0xe6 draw
231 0xe7 dream
232 0xe8 dreamSquad
233 0xe9 dreamSquads
234 0xea dribbling
235 0xeb duplicateItemId
236 0xec duplicateItemIdList
237 0xed duplicateItemLoans
238 0xee duration
239 0xef durationInSec
240 0xf0 elegibilityId
241 0xf1 eligibilities
242 0xf2 eligibilityKey
243 0xf3 eligibilityOperation
244 0xf4 eligibilitySlot
245 0xf5 eligibilityValue
246 0xf6 elgOperation
247 0xf7 elgReq
248 0xf8 email
249 0xf9 enableDraftMode
250 0xfa enableOfflineDraftMode
251 0xfb enableLiveMessaging
252 0xfc enableLoyaltyBonusForConceptPlayers
253 0xfd enableObjectives
254 0xfe enableObjectivesAsManagerTasks
255 0xff enableSinglePlayerDraftMode
256 0x100 enableSquadBuildingSetsFeature
257 0x101 encodedImg
258 0x102 end
259 0x103 endDateTime
260 0x104 endReason
261 0x105 endtime
262 0x106 endTime
263 0x107 entitlementId
264 0x108 entranceCriteria
265 0x109 entries
266 0x10a equippables
267 0x10b errorMessage
268 0x10c errors
269 0x10d errorState
270 0x10e errorType
271 0x10f est
272 0x110 established
273 0x111 event
274 0x112 eventId
275 0x113 eventType
276 0x114 exact
277 0x115 expectedTierLevel
278 0x116 expires
279 0x117 exists
280 0x118 extendGameSessionTimerSec
281 0x119 extPrice
282 0x11a externalPriceId
283 0x11b false
284 0x11c feature
285 0x11d featuredofflinetrophy
286 0x11e featuredonlinetrophy
287 0x11f fifaPointsEnabled
288 0x120 fifaPointsEnabled_JP
289 0x121 fifaPointsFromLastYear
290 0x122 fifaPointsTransferredStatus
291 0x123 filter
292 0x124 finalFunds
293 0x125 finalPrice
294 0x126 FirstName
295 0x127 firstPartyStoreId
296 0x128 fitness
297 0x129 fitnesscoach
298 0x12a fitnessCoach
299 0x12b formation
300 0x12c FORMATION_DRAFT
301 0x12d fouls
302 0x12e free
303 0x12f friend
304 0x130 friendMessages
305 0x131 friendlySeason
306 0x132 friendlySeasonHistory
307 0x133 friendlySeasonsEnabled
308 0x134 funds
309 0x135 gameMode
310 0x136 gameModeAward
311 0x137 gamesDraw
312 0x138 gamesLost
313 0x139 gamesPlayed
314 0x13a gamesWon
315 0x13b gamesWonCurrentMatch
316 0x13c gamesRemaining
317 0x13d getOperationTimeoutSec
318 0x13e gkDiving
319 0x13f gkcoach
320 0x140 gkCoach
321 0x141 gkKicking
322 0x142 gkHandling
323 0x143 gkOneOnOne
324 0x144 gkPositioning
325 0x145 gkReflexes
326 0x146 goals
327 0x147 goalsScored
328 0x148 gold
329 0x149 goldQuantity
330 0x14a grantedChallengeAwards
331 0x14b grantedSetAwards
332 0x14c grantsGameModePrizes
333 0x14d group
334 0x14e groupName
335 0x14f halid
336 0x150 halId
337 0x151 halfLength
338 0x152 header
339 0x153 headcoach
340 0x154 headCoach
341 0x155 heading
342 0x156 healing
343 0x157 health
344 0x158 hidden
345 0x159 homekit
346 0x15a hub
347 0x15b icon
348 0x15c id
349 0x15d idList
350 0x15e image
351 0x15f imageFormat
352 0x160 imageId
353 0x161 immediateRecoveryAttempt
354 0x162 immediateRecoveryAttemptDelay
355 0x163 index
356 0x164 inGame
357 0x165 inset
358 0x166 insetUrl
359 0x167 injuryGames
360 0x168 injuryType
361 0x169 INVALID
362 0x16a item
363 0x16b itemData
364 0x16c itemDbVersion
365 0x16d itemId
366 0x16e itemList
367 0x16f itemLoans
368 0x170 itemQuantity
369 0x171 items
370 0x172 itemState
371 0x173 itemType
372 0x174 ItemType
373 0x175 isReturningUser
374 0x176 isPremium
375 0x177 key
376 0x178 kicktakers
377 0x179 kit
378 0x17a kitNumber
379 0x17b Kit
380 0x17c kits
381 0x17d kitsHome
382 0x17e kitsAway
383 0x17f knockout
384 0x180 knockout_group
385 0x181 label
386 0x182 lang
387 0x183 lastMatchUnfinished
388 0x184 LastName
389 0x185 lastSalePrice
390 0x186 leaderboard
391 0x187 LEGENDARY
392 0x188 legendCount
393 0x189 league
394 0x18a leagueId
395 0x18b LeagueId
396 0x18c leagueCount
397 0x18d leaguelogos
398 0x18e leagueLogos
399 0x18f link
400 0x190 liveMessagesAvailable
401 0x191 level
402 0x192 lifetimeAssists
403 0x193 lifetimeCleansheets
404 0x194 lifetimeStats
405 0x195 live_offline
406 0x196 live_online
407 0x197 loan
408 0x198 loanId
409 0x199 loanPlayerClientData
410 0x19a loanPlayers
411 0x19b loans
412 0x19c localizedName
413 0x19d lock
414 0x19e locked
415 0x19f LOCKED_ATTEMPTS_PERM
416 0x1a0 LOCKED_ATTEMPTS_TEMP
417 0x1a1 LOCKED_PERMANENT
418 0x1a2 LOCKED_RETRY
419 0x1a3 LOCKED_TROPHIES
420 0x1a4 locString
421 0x1a5 login
422 0x1a6 loss
423 0x1a7 MAINTENANCE
424 0x1a8 manager
425 0x1a9 Manager
426 0x1aa MANAGER
427 0x1ab managerTalk
428 0x1ac MANAGER_DRAFT
429 0x1ad manOfTheMatch
430 0x1ae manufacturer
431 0x1af marketData
432 0x1b0 marketDataMaxPrice
433 0x1b1 marketDataMinPrice
434 0x1b2 marketPriceLimitValues
435 0x1b3 maskDefId
436 0x1b4 matchCoins
437 0x1b5 matchCoinMultipliers
438 0x1b6 matchCoinPartials
439 0x1b7 matchDifficulty
440 0x1b8 matches
441 0x1b9 matchId
442 0x1ba matchlength
443 0x1bb matchLengthMin
444 0x1bc matchParamsKeyValues
445 0x1bd matchReportId
446 0x1be matchUnfinishedTime
447 0x1bf maxAuctionsAllowed
448 0x1c0 maximumTradePileSize
449 0x1c1 maxMatches
450 0x1c2 maxPrice
451 0x1c3 maxSize
452 0x1c4 maxWins
453 0x1c5 message
454 0x1c6 messagesAvailable
455 0x1c7 messageList
456 0x1c8 messagesRead
457 0x1c9 minMatchesToRank
458 0x1ca minPrice
459 0x1cb misc
460 0x1cc morale
461 0x1cd mtxEnabled
462 0x1ce mtxEnabled_JP
463 0x1cf myRating
464 0x1d0 name
465 0x1d1 nation
466 0x1d2 nationId
467 0x1d3 NationId
468 0x1d4 nationCount
469 0x1d5 negMods
470 0x1d6 Negotiation
471 0x1d7 newcards
472 0x1d8 nextReset
473 0x1d9 none
474 0x1da notification
475 0x1db NPTicket
476 0x1dc NPTicketLength
477 0x1dd numberItems
478 0x1de numEndMatchRetriesAllowed
479 0x1df numMatches
480 0x1e0 numRounds
481 0x1e1 numTeams
482 0x1e2 objectives
483 0x1e3 objectivesForCurrentUser
484 0x1e4 offer
485 0x1e5 offered
486 0x1e6 offers
487 0x1e7 offerState
488 0x1e8 offline
489 0x1e9 OFFLINE
490 0x1ea offlineDivision
491 0x1eb offlinetrophy
492 0x1ec offlineSeason
493 0x1ed offlineTournyProgress
494 0x1ee offset
495 0x1ef offsides
496 0x1f0 online
497 0x1f1 ONLINE
498 0x1f2 onlineELORating
499 0x1f3 onlineRatedUser
500 0x1f4 accountResetCount
501 0x1f5 onlinetrophy
502 0x1f6 onlineSeason
503 0x1f7 onlineTournyProgress
504 0x1f8 onSale
505 0x1f9 opponent
506 0x1fa opponentBadgeId
507 0x1fb opponentGoals
508 0x1fc opponentId
509 0x1fd opponentPenaltyScore
510 0x1fe opponentPersonaId
511 0x1ff opponentRating
512 0x200 opponentScore
513 0x201 opponentTeamId
514 0x202 opponentUserPoints
515 0x203 options
516 0x204 OR
517 0x205 originalPrice
518 0x206 outbid
519 0x207 owners
520 0x208 ownGoals
521 0x209 pace
522 0x20a pack
523 0x20b packId
524 0x20c packContentInfo
525 0x20d packList
526 0x20e packOpeningAnimationEnabled
527 0x20f packType
528 0x210 parent
529 0x211 participationAward
530 0x212 passAccuracyTotal
531 0x213 passesCompleted
532 0x214 passing
533 0x215 passingPercentage
534 0x216 penaltyGoals
535 0x217 penaltyScore
536 0x218 period
537 0x219 permutations
538 0x21a persona
539 0x21b personaId
540 0x21c phoneNumber
541 0x21d physio
542 0x21e physioArm
543 0x21f physioBack
544 0x220 physioFoot
545 0x221 physioHead
546 0x222 physioHip
547 0x223 physioLeg
548 0x224 physioShoudler
549 0x225 PICK_DIFFICULTY
550 0x226 pile
551 0x227 pileSizeClientData
552 0x228 pileType
553 0x229 PlayAFriendPractice
554 0x22a platform
555 0x22b player
556 0x22c Player
557 0x22d PLAYER
558 0x22e playerAttrBoostLevel
559 0x22f playerCount
560 0x230 playerdefender
561 0x231 playerforward
562 0x232 playerLevel
563 0x233 playermidfielder
564 0x234 playerOne
565 0x235 playerQuality
566 0x236 playerRarity
567 0x237 playerRequirements
568 0x238 players
569 0x239 playersBronze
570 0x23a playersGold
571 0x23b playersSilver
572 0x23c playerTwo
573 0x23d playerType
574 0x23e PLAYER_DRAFT
575 0x23f playStyle
576 0x240 points
577 0x241 POINTS
578 0x242 pointsPackStoreEnabled
579 0x243 position
580 0x244 positionid
581 0x245 positionId
582 0x246 posMods
583 0x247 possessionPercentage
584 0x248 possesionTotal
585 0x249 possessionTotal
586 0x24a preferredPosition
587 0x24b preOrderPacks
588 0x24c previousChampionEvents
589 0x24d price
590 0x24e primaryBadgeId
591 0x24f primaryPersonaId
592 0x250 priority
593 0x251 prize
594 0x252 prizeLevel
595 0x253 prizeSet
596 0x254 prizesInError
597 0x255 prizeTiers
598 0x256 PRO
599 0x257 processingStateEnabled
600 0x258 productId
601 0x259 PROFESSIONAL
602 0x25a progressdata
603 0x25b progressData
604 0x25c progressDataVersion
605 0x25d PROMOTION
606 0x25e promoUpdate
607 0x25f public
608 0x260 purchase
609 0x261 purchaseCount
610 0x262 purchased
611 0x263 purchasedItems
612 0x264 purchasedPackId
613 0x265 purchaseLimit
614 0x266 purchasePackType
615 0x267 qualified
616 0x268 qualifiedChampionLeagueIds
617 0x269 qualifiedChampionEventId
618 0x26a qualifierTournaments
619 0x26b quantity
620 0x26c question
621 0x26d rank
622 0x26e ranking
623 0x26f Rare
624 0x270 rare
625 0x271 rareflag
626 0x272 rarePlayers
627 0x273 rareQuantity
628 0x274 rating
629 0x275 Rating
630 0x276 read
631 0x277 READY_FOR_MATCH
632 0x278 READY_FOR_REWARDS
633 0x279 reason
634 0x27a recoverAttempts
635 0x27b recoveredPacks
636 0x27c redCards
637 0x27d RELEGATION
638 0x27e reliability
639 0x27f remainingMatches
640 0x280 repeatable
641 0x281 reportIdEnabled
642 0x282 requestBody
643 0x283 reset
644 0x284 resetBonus
645 0x285 responseBody
646 0x286 responseHeader
647 0x287 resourceId
648 0x288 result
649 0x289 returningUserRewards
650 0x28a returningUserRewardsScreenEnabled
651 0x28b rewardMult
652 0x28c rewardMultiplier
653 0x28d rewardQuantity
654 0x28e rewardType
655 0x28f rewardValue
656 0x290 round
657 0x291 roundId
658 0x292 rounds
659 0x293 roundsInfo
660 0x294 rule
661 0x295 sameClubCount
662 0x296 sameLeagueCount
663 0x297 sameNationCount
664 0x298 saleType
665 0x299 scope
666 0x29a score
667 0x29b scoredGoals
668 0x29c scrollDelay
669 0x29d SINGLE_PLAYER
670 0x29e seasonCoins
671 0x29f seasonCompleted
672 0x2a0 seasonData
673 0x2a1 seasonEndResult
674 0x2a2 seasonId
675 0x2a3 seasonGamesDraw
676 0x2a4 seasonGamesLost
677 0x2a5 seasonGamesWon
678 0x2a6 seasonOnlineDraws
679 0x2a7 seasonOnlineLosses
680 0x2a8 seasonOnlineWins
681 0x2a9 seasonsPassAccuracyTotal
682 0x2aa seasonsPossesionTotal
683 0x2ab seasonPromotions
684 0x2ac seasonRelegations
685 0x2ad seasons
686 0x2ae seasonTitlesWon
687 0x2af seasonConcededGoals
688 0x2b0 seasonsScoredGoals
689 0x2b1 seasonWins
690 0x2b2 secondsPlayed
691 0x2b3 secondsUntilEnd
692 0x2b4 secondsUntilStart
693 0x2b5 selection
694 0x2b6 sellerEstablished
695 0x2b7 sellerName
696 0x2b8 selling
697 0x2b9 SEMIPRO
698 0x2ba sequence
699 0x2bb sessionCoinsBankBalance
700 0x2bc setId
701 0x2bd setImageId
702 0x2be sets
703 0x2bf settings
704 0x2c0 shooting
705 0x2c1 shots
706 0x2c2 shotsOnTarget
707 0x2c3 silhouetteName
708 0x2c4 silName
709 0x2c5 silver
710 0x2c6 silverQuantity
711 0x2c7 sizeBeforeEncode
712 0x2c8 slotIndex
713 0x2c9 sold
714 0x2ca sort
715 0x2cb sortPriority
716 0x2cc source
717 0x2cd squad
718 0x2ce squadActives
719 0x2cf squadBuildingSetsClientData
720 0x2d0 squadBuildingSetsGracePeriodMinutes
721 0x2d1 squadChallenge
722 0x2d2 squadId
723 0x2d3 squadName
724 0x2d4 squadList
725 0x2d5 squadState
726 0x2d6 squadType
727 0x2d7 stadia
728 0x2d8 stadium
729 0x2d9 Stadium
730 0x2da StadiumId
731 0x2db stadiumid
732 0x2dc staff
733 0x2dd staffManager
734 0x2de staffHeadCoach
735 0x2df staffFitnessCoach
736 0x2e0 staffGKCoach
737 0x2e1 staffPhysio
738 0x2e2 starRating
739 0x2e3 start
740 0x2e4 startDateTime
741 0x2e5 starterPack
742 0x2e6 startingBid
743 0x2e7 starttime
744 0x2e8 startTime
745 0x2e9 stat
746 0x2ea statBonus
747 0x2eb state
748 0x2ec stats
749 0x2ed statsList
750 0x2ee stateParam1
751 0x2ef stateParam2
752 0x2f0 status
753 0x2f1 storeEnabled
754 0x2f2 storeEnabled_JP
755 0x2f3 storyModeRewardEnabled
756 0x2f4 coinsProcessed
757 0x2f5 championsScheduleViewPeriodInMinutes
758 0x2f6 string
759 0x2f7 style
760 0x2f8 styleAttribMods
761 0x2f9 subtype
762 0x2fa success
763 0x2fb SUCCESS
764 0x2fc successfulTackles
765 0x2fd suspension
766 0x2fe swap
767 0x2ff swapPlayerDefIds
768 0x300 tagged
769 0x301 taggedByProduction
770 0x302 taggedByUser
771 0x303 TalkRating
772 0x304 team
773 0x305 teamId
774 0x306 teamid
775 0x307 teamChemistry
776 0x308 teamOfTournamentWinner
777 0x309 teamRating
778 0x30a teamRating1To100
779 0x30b text
780 0x30c tfaData
781 0x30d tFAEnabled
782 0x30e tFAResendIntervalSecs
783 0x30f enableFloatPointSquadRating
784 0x310 enableLegacyYearInfoInItemResourceId
785 0x311 tfaState
786 0x312 thresholdPoint
787 0x313 tiebreak
788 0x314 tiebreaker
789 0x315 tier
790 0x316 tierEnd
791 0x317 tierLevel
792 0x318 tierStart
793 0x319 tierType
794 0x31a timesCompleted
795 0x31b timestamp
796 0x31c timesWon
797 0x31d timeUntilEnd
798 0x31e timeUntilStart
799 0x31f titleHolderPersonaId
800 0x320 tokenRedemptionEnabled
801 0x321 token
802 0x322 tokens
803 0x323 TOO_MANY_SEASONS
804 0x324 TOO_MANY_TOURNAMENTS
805 0x325 total
806 0x326 totalCredits
807 0x327 totalGames
808 0x328 tournament
809 0x329 tournamentCoins
810 0x32a tournamentData
811 0x32b tournamentId
812 0x32c tournamentProgress
813 0x32d tournamentQuitEnabled
814 0x32e tournamentTrophyRound
815 0x32f tournamentType
816 0x330 trade
817 0x331 tradeId
818 0x332 tradepile
819 0x333 tradePile
820 0x334 trader
821 0x335 tradeState
822 0x336 tradingEnabled
823 0x337 training
824 0x338 trainingItem
825 0x339 transaction
826 0x33a transactionId
827 0x33b transferValue
828 0x33c treeType
829 0x33d triesMax
830 0x33e triesPeriod
831 0x33f triesRemaining
832 0x340 trophies
833 0x341 trophiesFeaturedOffline
834 0x342 trophiesFeaturedOnline
835 0x343 trophiesOffline
836 0x344 trophiesOnline
837 0x345 trophiesSeasonOffline
838 0x346 trophiesSeasonOnline
839 0x347 trophy
840 0x348 trophyId
841 0x349 trophyResourceId
842 0x34a trophyUseCount
843 0x34b trophyUserCount
844 0x34c TROPHY_FEATURED_OFFLINE
845 0x34d TROPHY_FEATURED_ONLINE
846 0x34e TROPHY_OFFLINE
847 0x34f TROPHY_ONLINE
848 0x350 true
849 0x351 trusted
850 0x352 tutorial
851 0x353 tutorialClientData
852 0x354 type
853 0x355 typeValue
854 0x356 ULTIMATE
855 0x357 unclaimedPrizesChampionEvents
856 0x358 uniqueId
857 0x359 unlock
858 0x35a UNLOCKED
859 0x35b unlockreq
860 0x35c unlocks
861 0x35d unopened
862 0x35e unopenedPacks
863 0x35f untilEndSeconds
864 0x360 untilStartSeconds
865 0x361 untradeable
866 0x362 untradeableCount
867 0x363 updateTime
868 0x364 upcomingChampionEvents
869 0x365 uri
870 0x366 url
871 0x367 useAuth
872 0x368 useCount
873 0x369 useCredits
874 0x36a useDefaultImage
875 0x36b usePreOrder
876 0x36c user
877 0x36d userData
878 0x36e userHubClientData
879 0x36f userId
880 0x370 userInfo
881 0x371 userPoints
882 0x372 userRegistration
883 0x373 userStats
884 0x374 userTierLevel
885 0x375 useTime
886 0x376 valid
887 0x377 value
888 0x378 Value
889 0x379 values
890 0x37a view
891 0x37b visEnd
892 0x37c visEndDays
893 0x37d visible
894 0x37e visStart
895 0x37f visStartDays
896 0x380 watched
897 0x381 watchlist
898 0x382 win
899 0x383 winForm
900 0x384 winning
901 0x385 winsRemaining
902 0x386 WORLDCLASS
903 0x387 won
904 0x388 XTicket
905 0x389 year
906 0x38a yellowCards
1 0 0x0 LIST_START
2 1 0x1 0
3 2 0x2 1
4 3 0x3 2
5 4 0x4 3
6 5 0x5 4
7 6 0x6 accountCreatedPlatformName
8 7 0x7 actions
9 8 0x8 actionType
10 9 0x9 activateSlotNumber
11 10 0xa active
12 11 0xb actives
13 12 0xc activeAwayKit
14 13 0xd activeBadge
15 14 0xe activeBall
16 15 0xf activeChampionLeagues
17 16 0x10 activeHomeKit
18 17 0x11 activeMessage
19 18 0x12 activeStadium
20 19 0x13 aigroup
21 20 0x14 allCoins
22 21 0x15 allObjectivesForCurrentGameSpaceId
23 22 0x16 allofflinetrophy
24 23 0x17 allonlinetrophy
25 24 0x18 allowGracePeriodForSquadBuildingSets
26 25 0x19 allowUntradeableForSquadBuildingSets
27 26 0x1a AMATEUR
28 27 0x1b amount
29 28 0x1c AND
30 29 0x1d answer
31 30 0x1e any
32 31 0x1f apply
33 32 0x20 applyTo
34 33 0x21 areas
35 34 0x22 areaSubType
36 35 0x23 assetId
37 36 0x24 AssetId
38 37 0x25 assetName
39 38 0x26 assetType
40 39 0x27 assists
41 40 0x28 attempts
42 41 0x29 attrib1
43 42 0x2a attrib6
44 43 0x2b Attribute1
45 44 0x2c Attribute2
46 45 0x2d Attribute3
47 46 0x2e Attribute4
48 47 0x2f Attribute5
49 48 0x30 Attribute6
50 49 0x31 attributeList
51 50 0x32 auctionBid
52 51 0x33 auctionCount
53 52 0x34 auctionExpired
54 53 0x35 auctionInfo
55 54 0x36 auctionLostBidRejected
56 55 0x37 auctionLostOutbid
57 56 0x38 auctionLostOutbidSelf
58 57 0x39 auctionSoldBid
59 58 0x3a auctionSoldBuyNow
60 59 0x3b auctionWonBid
61 60 0x3c auctionWonBuyNow
62 61 0x3d authToken
63 62 0x3e available
64 63 0x3f awaykit
65 64 0x40 awardCount
66 65 0x41 awardedPrizes
67 66 0x42 awardItemData
68 67 0x43 awardMappings
69 68 0x44 awardType
70 69 0x45 awardSet
71 70 0x46 awardSetId
72 71 0x47 awards
73 72 0x48 awardValue
74 73 0x49 badge
75 74 0x4a badgeDBid
76 75 0x4b badges
77 76 0x4c Badge
78 77 0x4d ball
79 78 0x4e Ball
80 79 0x4f balls
81 80 0x50 base
82 81 0x51 BEGINNER
83 82 0x52 bestBuilderScore
84 83 0x53 bestPointsSeasonId
85 84 0x54 bestPointsSeasonValue
86 85 0x55 bid
87 86 0x56 bidPrices
88 87 0x57 bidState
89 88 0x58 bidToken
90 89 0x59 bidTokens
91 90 0x5a bio
92 91 0x5b biodescription
93 92 0x5c bonus
94 93 0x5d bonusPacks
95 94 0x5e Boost
96 95 0x5f boost
97 96 0x60 boostConis
98 97 0x61 boostCountLeft
99 98 0x62 bronze
100 99 0x63 bronzeQuantity
101 100 0x64 builder
102 101 0x65 buyNowPrice
103 102 0x66 buyoutPrices
104 103 0x67 Cap
105 104 0x68 capacity
106 105 0x69 captain
107 106 0x6a CAPTAIN_DRAFT
108 107 0x6b cardassetid
109 108 0x6c cardsubtypeid
110 109 0x6d cardPackStoreEnabled
111 110 0x6e cardPackStoreEnabled_JP
112 111 0x6f categories
113 112 0x70 category
114 113 0x71 Category
115 114 0x72 categoryCount
116 115 0x73 categoryId
117 116 0x74 challengeId
118 117 0x75 challengeImageId
119 118 0x76 challenges
120 119 0x77 challengesCompletedCount
121 120 0x78 challengesCount
122 121 0x79 CHAMPIONSHIP
123 122 0x7a championEvent
124 123 0x7b championEventId
125 124 0x7c championEventType
126 125 0x7d champion_qualifier
127 126 0x7e changed
128 127 0x7f checkPointsReached
129 128 0x80 checkServerDbVersion
130 129 0x81 chemistry
131 130 0x82 choiceIndex
132 131 0x83 choices
133 132 0x84 cleansheets
134 133 0x85 clientId
135 134 0x86 clientKeepAliveResetTimeoutSec
136 135 0x87 club
137 136 0x88 clubId
138 137 0x89 ClubId
139 138 0x8a clubInfo
140 139 0x8b clubCount
141 140 0x8c clubCreateThreshold
142 141 0x8d clubAbbr
143 142 0x8e clubName
144 143 0x8f clubNameChangeAllowed
145 144 0x90 clubPlayers
146 145 0x91 clubUser
147 146 0x92 code
148 147 0x93 codeType
149 148 0x94 coin
150 149 0x95 coins
151 150 0x96 COINS
152 151 0x97 coinsEarned
153 152 0x98 coinEnabled
154 153 0x99 coinEnabled_JP
155 154 0x9a collector
156 155 0x9b CommonName
157 156 0x9c COMPLETED_DRAFT
158 157 0x9d competitor
159 158 0x9e competitionId
160 159 0x9f competitionCountryCode
161 160 0xa0 competitionRegion
162 161 0xa1 concededGoals
163 162 0xa2 configs
164 163 0xa3 constrainGracePeriod
165 164 0xa4 consume
166 165 0xa5 consumables
167 166 0xa6 consumablesContract
168 167 0xa7 consumablesTraining
169 168 0xa8 consumablesFitness
170 169 0xa9 consumablesContractPlayer
171 170 0xaa consumablesContractManager
172 171 0xab consumablesFitnessPlayer
173 172 0xac consumablesFitnessTeam
174 173 0xad consumablesFormationManager
175 174 0xae consumablesTrainingManagerLeagueModifier
176 175 0xaf consumablesHealing
177 176 0xb0 consumablesTrainingPlayerPlayStyle
178 177 0xb1 consumablesTrainingGkPlayStyle
179 178 0xb2 consumablesPosition
180 179 0xb3 consumablesTrainingPlayer
181 180 0xb4 consumablesTrainingManager
182 181 0xb5 consumablesTrainingGk
183 182 0xb6 contextId
184 183 0xb7 contextValue
185 184 0xb8 contract
186 185 0xb9 controls
187 186 0xba corners
188 187 0xbb couchPlayEnabled
189 188 0xbc count
190 189 0xbd country
191 190 0xbe createPackResponse
192 191 0xbf creationTime
193 192 0xc0 credits
194 193 0xc1 currentBid
195 194 0xc2 currentChampionEvent
196 195 0xc3 currentTime
197 196 0xc4 currency
198 197 0xc5 currencies
199 198 0xc6 custom
200 199 0xc7 customData
201 200 0xc8 customData1
202 201 0xc9 data
203 202 0xca dataVersion
204 203 0xcb debug
205 204 0xcc dealType
206 205 0xcd default
207 206 0xce defending
208 207 0xcf defId
209 208 0xd0 desc
210 209 0xd1 description
211 210 0xd2 detaildescription
212 211 0xd3 development
213 212 0xd4 difficulty
214 213 0xd5 difficultyName
215 214 0xd6 dimeId
216 215 0xd7 discardValue
217 216 0xd8 display
218 217 0xd9 displayGroup
219 218 0xda displayGroupAssetId
220 219 0xdb displayGroupUseDefaultImage
221 220 0xdc divisionId
222 221 0xdd divisionOffline
223 222 0xde divisionOnline
224 223 0xdf DRAFT_TOKEN
225 224 0xe0 draft_token
226 225 0xe1 draftChampion
227 226 0xe2 draftsCompleted
228 227 0xe3 draftState
229 228 0xe4 draftSummary
230 229 0xe5 draftToken
231 230 0xe6 draw
232 231 0xe7 dream
233 232 0xe8 dreamSquad
234 233 0xe9 dreamSquads
235 234 0xea dribbling
236 235 0xeb duplicateItemId
237 236 0xec duplicateItemIdList
238 237 0xed duplicateItemLoans
239 238 0xee duration
240 239 0xef durationInSec
241 240 0xf0 elegibilityId
242 241 0xf1 eligibilities
243 242 0xf2 eligibilityKey
244 243 0xf3 eligibilityOperation
245 244 0xf4 eligibilitySlot
246 245 0xf5 eligibilityValue
247 246 0xf6 elgOperation
248 247 0xf7 elgReq
249 248 0xf8 email
250 249 0xf9 enableDraftMode
251 250 0xfa enableOfflineDraftMode
252 251 0xfb enableLiveMessaging
253 252 0xfc enableLoyaltyBonusForConceptPlayers
254 253 0xfd enableObjectives
255 254 0xfe enableObjectivesAsManagerTasks
256 255 0xff enableSinglePlayerDraftMode
257 256 0x100 enableSquadBuildingSetsFeature
258 257 0x101 encodedImg
259 258 0x102 end
260 259 0x103 endDateTime
261 260 0x104 endReason
262 261 0x105 endtime
263 262 0x106 endTime
264 263 0x107 entitlementId
265 264 0x108 entranceCriteria
266 265 0x109 entries
267 266 0x10a equippables
268 267 0x10b errorMessage
269 268 0x10c errors
270 269 0x10d errorState
271 270 0x10e errorType
272 271 0x10f est
273 272 0x110 established
274 273 0x111 event
275 274 0x112 eventId
276 275 0x113 eventType
277 276 0x114 exact
278 277 0x115 expectedTierLevel
279 278 0x116 expires
280 279 0x117 exists
281 280 0x118 extendGameSessionTimerSec
282 281 0x119 extPrice
283 282 0x11a externalPriceId
284 283 0x11b false
285 284 0x11c feature
286 285 0x11d featuredofflinetrophy
287 286 0x11e featuredonlinetrophy
288 287 0x11f fifaPointsEnabled
289 288 0x120 fifaPointsEnabled_JP
290 289 0x121 fifaPointsFromLastYear
291 290 0x122 fifaPointsTransferredStatus
292 291 0x123 filter
293 292 0x124 finalFunds
294 293 0x125 finalPrice
295 294 0x126 FirstName
296 295 0x127 firstPartyStoreId
297 296 0x128 fitness
298 297 0x129 fitnesscoach
299 298 0x12a fitnessCoach
300 299 0x12b formation
301 300 0x12c FORMATION_DRAFT
302 301 0x12d fouls
303 302 0x12e free
304 303 0x12f friend
305 304 0x130 friendMessages
306 305 0x131 friendlySeason
307 306 0x132 friendlySeasonHistory
308 307 0x133 friendlySeasonsEnabled
309 308 0x134 funds
310 309 0x135 gameMode
311 310 0x136 gameModeAward
312 311 0x137 gamesDraw
313 312 0x138 gamesLost
314 313 0x139 gamesPlayed
315 314 0x13a gamesWon
316 315 0x13b gamesWonCurrentMatch
317 316 0x13c gamesRemaining
318 317 0x13d getOperationTimeoutSec
319 318 0x13e gkDiving
320 319 0x13f gkcoach
321 320 0x140 gkCoach
322 321 0x141 gkKicking
323 322 0x142 gkHandling
324 323 0x143 gkOneOnOne
325 324 0x144 gkPositioning
326 325 0x145 gkReflexes
327 326 0x146 goals
328 327 0x147 goalsScored
329 328 0x148 gold
330 329 0x149 goldQuantity
331 330 0x14a grantedChallengeAwards
332 331 0x14b grantedSetAwards
333 332 0x14c grantsGameModePrizes
334 333 0x14d group
335 334 0x14e groupName
336 335 0x14f halid
337 336 0x150 halId
338 337 0x151 halfLength
339 338 0x152 header
340 339 0x153 headcoach
341 340 0x154 headCoach
342 341 0x155 heading
343 342 0x156 healing
344 343 0x157 health
345 344 0x158 hidden
346 345 0x159 homekit
347 346 0x15a hub
348 347 0x15b icon
349 348 0x15c id
350 349 0x15d idList
351 350 0x15e image
352 351 0x15f imageFormat
353 352 0x160 imageId
354 353 0x161 immediateRecoveryAttempt
355 354 0x162 immediateRecoveryAttemptDelay
356 355 0x163 index
357 356 0x164 inGame
358 357 0x165 inset
359 358 0x166 insetUrl
360 359 0x167 injuryGames
361 360 0x168 injuryType
362 361 0x169 INVALID
363 362 0x16a item
364 363 0x16b itemData
365 364 0x16c itemDbVersion
366 365 0x16d itemId
367 366 0x16e itemList
368 367 0x16f itemLoans
369 368 0x170 itemQuantity
370 369 0x171 items
371 370 0x172 itemState
372 371 0x173 itemType
373 372 0x174 ItemType
374 373 0x175 isReturningUser
375 374 0x176 isPremium
376 375 0x177 key
377 376 0x178 kicktakers
378 377 0x179 kit
379 378 0x17a kitNumber
380 379 0x17b Kit
381 380 0x17c kits
382 381 0x17d kitsHome
383 382 0x17e kitsAway
384 383 0x17f knockout
385 384 0x180 knockout_group
386 385 0x181 label
387 386 0x182 lang
388 387 0x183 lastMatchUnfinished
389 388 0x184 LastName
390 389 0x185 lastSalePrice
391 390 0x186 leaderboard
392 391 0x187 LEGENDARY
393 392 0x188 legendCount
394 393 0x189 league
395 394 0x18a leagueId
396 395 0x18b LeagueId
397 396 0x18c leagueCount
398 397 0x18d leaguelogos
399 398 0x18e leagueLogos
400 399 0x18f link
401 400 0x190 liveMessagesAvailable
402 401 0x191 level
403 402 0x192 lifetimeAssists
404 403 0x193 lifetimeCleansheets
405 404 0x194 lifetimeStats
406 405 0x195 live_offline
407 406 0x196 live_online
408 407 0x197 loan
409 408 0x198 loanId
410 409 0x199 loanPlayerClientData
411 410 0x19a loanPlayers
412 411 0x19b loans
413 412 0x19c localizedName
414 413 0x19d lock
415 414 0x19e locked
416 415 0x19f LOCKED_ATTEMPTS_PERM
417 416 0x1a0 LOCKED_ATTEMPTS_TEMP
418 417 0x1a1 LOCKED_PERMANENT
419 418 0x1a2 LOCKED_RETRY
420 419 0x1a3 LOCKED_TROPHIES
421 420 0x1a4 locString
422 421 0x1a5 login
423 422 0x1a6 loss
424 423 0x1a7 MAINTENANCE
425 424 0x1a8 manager
426 425 0x1a9 Manager
427 426 0x1aa MANAGER
428 427 0x1ab managerTalk
429 428 0x1ac MANAGER_DRAFT
430 429 0x1ad manOfTheMatch
431 430 0x1ae manufacturer
432 431 0x1af marketData
433 432 0x1b0 marketDataMaxPrice
434 433 0x1b1 marketDataMinPrice
435 434 0x1b2 marketPriceLimitValues
436 435 0x1b3 maskDefId
437 436 0x1b4 matchCoins
438 437 0x1b5 matchCoinMultipliers
439 438 0x1b6 matchCoinPartials
440 439 0x1b7 matchDifficulty
441 440 0x1b8 matches
442 441 0x1b9 matchId
443 442 0x1ba matchlength
444 443 0x1bb matchLengthMin
445 444 0x1bc matchParamsKeyValues
446 445 0x1bd matchReportId
447 446 0x1be matchUnfinishedTime
448 447 0x1bf maxAuctionsAllowed
449 448 0x1c0 maximumTradePileSize
450 449 0x1c1 maxMatches
451 450 0x1c2 maxPrice
452 451 0x1c3 maxSize
453 452 0x1c4 maxWins
454 453 0x1c5 message
455 454 0x1c6 messagesAvailable
456 455 0x1c7 messageList
457 456 0x1c8 messagesRead
458 457 0x1c9 minMatchesToRank
459 458 0x1ca minPrice
460 459 0x1cb misc
461 460 0x1cc morale
462 461 0x1cd mtxEnabled
463 462 0x1ce mtxEnabled_JP
464 463 0x1cf myRating
465 464 0x1d0 name
466 465 0x1d1 nation
467 466 0x1d2 nationId
468 467 0x1d3 NationId
469 468 0x1d4 nationCount
470 469 0x1d5 negMods
471 470 0x1d6 Negotiation
472 471 0x1d7 newcards
473 472 0x1d8 nextReset
474 473 0x1d9 none
475 474 0x1da notification
476 475 0x1db NPTicket
477 476 0x1dc NPTicketLength
478 477 0x1dd numberItems
479 478 0x1de numEndMatchRetriesAllowed
480 479 0x1df numMatches
481 480 0x1e0 numRounds
482 481 0x1e1 numTeams
483 482 0x1e2 objectives
484 483 0x1e3 objectivesForCurrentUser
485 484 0x1e4 offer
486 485 0x1e5 offered
487 486 0x1e6 offers
488 487 0x1e7 offerState
489 488 0x1e8 offline
490 489 0x1e9 OFFLINE
491 490 0x1ea offlineDivision
492 491 0x1eb offlinetrophy
493 492 0x1ec offlineSeason
494 493 0x1ed offlineTournyProgress
495 494 0x1ee offset
496 495 0x1ef offsides
497 496 0x1f0 online
498 497 0x1f1 ONLINE
499 498 0x1f2 onlineELORating
500 499 0x1f3 onlineRatedUser
501 500 0x1f4 accountResetCount
502 501 0x1f5 onlinetrophy
503 502 0x1f6 onlineSeason
504 503 0x1f7 onlineTournyProgress
505 504 0x1f8 onSale
506 505 0x1f9 opponent
507 506 0x1fa opponentBadgeId
508 507 0x1fb opponentGoals
509 508 0x1fc opponentId
510 509 0x1fd opponentPenaltyScore
511 510 0x1fe opponentPersonaId
512 511 0x1ff opponentRating
513 512 0x200 opponentScore
514 513 0x201 opponentTeamId
515 514 0x202 opponentUserPoints
516 515 0x203 options
517 516 0x204 OR
518 517 0x205 originalPrice
519 518 0x206 outbid
520 519 0x207 owners
521 520 0x208 ownGoals
522 521 0x209 pace
523 522 0x20a pack
524 523 0x20b packId
525 524 0x20c packContentInfo
526 525 0x20d packList
527 526 0x20e packOpeningAnimationEnabled
528 527 0x20f packType
529 528 0x210 parent
530 529 0x211 participationAward
531 530 0x212 passAccuracyTotal
532 531 0x213 passesCompleted
533 532 0x214 passing
534 533 0x215 passingPercentage
535 534 0x216 penaltyGoals
536 535 0x217 penaltyScore
537 536 0x218 period
538 537 0x219 permutations
539 538 0x21a persona
540 539 0x21b personaId
541 540 0x21c phoneNumber
542 541 0x21d physio
543 542 0x21e physioArm
544 543 0x21f physioBack
545 544 0x220 physioFoot
546 545 0x221 physioHead
547 546 0x222 physioHip
548 547 0x223 physioLeg
549 548 0x224 physioShoudler
550 549 0x225 PICK_DIFFICULTY
551 550 0x226 pile
552 551 0x227 pileSizeClientData
553 552 0x228 pileType
554 553 0x229 PlayAFriendPractice
555 554 0x22a platform
556 555 0x22b player
557 556 0x22c Player
558 557 0x22d PLAYER
559 558 0x22e playerAttrBoostLevel
560 559 0x22f playerCount
561 560 0x230 playerdefender
562 561 0x231 playerforward
563 562 0x232 playerLevel
564 563 0x233 playermidfielder
565 564 0x234 playerOne
566 565 0x235 playerQuality
567 566 0x236 playerRarity
568 567 0x237 playerRequirements
569 568 0x238 players
570 569 0x239 playersBronze
571 570 0x23a playersGold
572 571 0x23b playersSilver
573 572 0x23c playerTwo
574 573 0x23d playerType
575 574 0x23e PLAYER_DRAFT
576 575 0x23f playStyle
577 576 0x240 points
578 577 0x241 POINTS
579 578 0x242 pointsPackStoreEnabled
580 579 0x243 position
581 580 0x244 positionid
582 581 0x245 positionId
583 582 0x246 posMods
584 583 0x247 possessionPercentage
585 584 0x248 possesionTotal
586 585 0x249 possessionTotal
587 586 0x24a preferredPosition
588 587 0x24b preOrderPacks
589 588 0x24c previousChampionEvents
590 589 0x24d price
591 590 0x24e primaryBadgeId
592 591 0x24f primaryPersonaId
593 592 0x250 priority
594 593 0x251 prize
595 594 0x252 prizeLevel
596 595 0x253 prizeSet
597 596 0x254 prizesInError
598 597 0x255 prizeTiers
599 598 0x256 PRO
600 599 0x257 processingStateEnabled
601 600 0x258 productId
602 601 0x259 PROFESSIONAL
603 602 0x25a progressdata
604 603 0x25b progressData
605 604 0x25c progressDataVersion
606 605 0x25d PROMOTION
607 606 0x25e promoUpdate
608 607 0x25f public
609 608 0x260 purchase
610 609 0x261 purchaseCount
611 610 0x262 purchased
612 611 0x263 purchasedItems
613 612 0x264 purchasedPackId
614 613 0x265 purchaseLimit
615 614 0x266 purchasePackType
616 615 0x267 qualified
617 616 0x268 qualifiedChampionLeagueIds
618 617 0x269 qualifiedChampionEventId
619 618 0x26a qualifierTournaments
620 619 0x26b quantity
621 620 0x26c question
622 621 0x26d rank
623 622 0x26e ranking
624 623 0x26f Rare
625 624 0x270 rare
626 625 0x271 rareflag
627 626 0x272 rarePlayers
628 627 0x273 rareQuantity
629 628 0x274 rating
630 629 0x275 Rating
631 630 0x276 read
632 631 0x277 READY_FOR_MATCH
633 632 0x278 READY_FOR_REWARDS
634 633 0x279 reason
635 634 0x27a recoverAttempts
636 635 0x27b recoveredPacks
637 636 0x27c redCards
638 637 0x27d RELEGATION
639 638 0x27e reliability
640 639 0x27f remainingMatches
641 640 0x280 repeatable
642 641 0x281 reportIdEnabled
643 642 0x282 requestBody
644 643 0x283 reset
645 644 0x284 resetBonus
646 645 0x285 responseBody
647 646 0x286 responseHeader
648 647 0x287 resourceId
649 648 0x288 result
650 649 0x289 returningUserRewards
651 650 0x28a returningUserRewardsScreenEnabled
652 651 0x28b rewardMult
653 652 0x28c rewardMultiplier
654 653 0x28d rewardQuantity
655 654 0x28e rewardType
656 655 0x28f rewardValue
657 656 0x290 round
658 657 0x291 roundId
659 658 0x292 rounds
660 659 0x293 roundsInfo
661 660 0x294 rule
662 661 0x295 sameClubCount
663 662 0x296 sameLeagueCount
664 663 0x297 sameNationCount
665 664 0x298 saleType
666 665 0x299 scope
667 666 0x29a score
668 667 0x29b scoredGoals
669 668 0x29c scrollDelay
670 669 0x29d SINGLE_PLAYER
671 670 0x29e seasonCoins
672 671 0x29f seasonCompleted
673 672 0x2a0 seasonData
674 673 0x2a1 seasonEndResult
675 674 0x2a2 seasonId
676 675 0x2a3 seasonGamesDraw
677 676 0x2a4 seasonGamesLost
678 677 0x2a5 seasonGamesWon
679 678 0x2a6 seasonOnlineDraws
680 679 0x2a7 seasonOnlineLosses
681 680 0x2a8 seasonOnlineWins
682 681 0x2a9 seasonsPassAccuracyTotal
683 682 0x2aa seasonsPossesionTotal
684 683 0x2ab seasonPromotions
685 684 0x2ac seasonRelegations
686 685 0x2ad seasons
687 686 0x2ae seasonTitlesWon
688 687 0x2af seasonConcededGoals
689 688 0x2b0 seasonsScoredGoals
690 689 0x2b1 seasonWins
691 690 0x2b2 secondsPlayed
692 691 0x2b3 secondsUntilEnd
693 692 0x2b4 secondsUntilStart
694 693 0x2b5 selection
695 694 0x2b6 sellerEstablished
696 695 0x2b7 sellerName
697 696 0x2b8 selling
698 697 0x2b9 SEMIPRO
699 698 0x2ba sequence
700 699 0x2bb sessionCoinsBankBalance
701 700 0x2bc setId
702 701 0x2bd setImageId
703 702 0x2be sets
704 703 0x2bf settings
705 704 0x2c0 shooting
706 705 0x2c1 shots
707 706 0x2c2 shotsOnTarget
708 707 0x2c3 silhouetteName
709 708 0x2c4 silName
710 709 0x2c5 silver
711 710 0x2c6 silverQuantity
712 711 0x2c7 sizeBeforeEncode
713 712 0x2c8 slotIndex
714 713 0x2c9 sold
715 714 0x2ca sort
716 715 0x2cb sortPriority
717 716 0x2cc source
718 717 0x2cd squad
719 718 0x2ce squadActives
720 719 0x2cf squadBuildingSetsClientData
721 720 0x2d0 squadBuildingSetsGracePeriodMinutes
722 721 0x2d1 squadChallenge
723 722 0x2d2 squadId
724 723 0x2d3 squadName
725 724 0x2d4 squadList
726 725 0x2d5 squadState
727 726 0x2d6 squadType
728 727 0x2d7 stadia
729 728 0x2d8 stadium
730 729 0x2d9 Stadium
731 730 0x2da StadiumId
732 731 0x2db stadiumid
733 732 0x2dc staff
734 733 0x2dd staffManager
735 734 0x2de staffHeadCoach
736 735 0x2df staffFitnessCoach
737 736 0x2e0 staffGKCoach
738 737 0x2e1 staffPhysio
739 738 0x2e2 starRating
740 739 0x2e3 start
741 740 0x2e4 startDateTime
742 741 0x2e5 starterPack
743 742 0x2e6 startingBid
744 743 0x2e7 starttime
745 744 0x2e8 startTime
746 745 0x2e9 stat
747 746 0x2ea statBonus
748 747 0x2eb state
749 748 0x2ec stats
750 749 0x2ed statsList
751 750 0x2ee stateParam1
752 751 0x2ef stateParam2
753 752 0x2f0 status
754 753 0x2f1 storeEnabled
755 754 0x2f2 storeEnabled_JP
756 755 0x2f3 storyModeRewardEnabled
757 756 0x2f4 coinsProcessed
758 757 0x2f5 championsScheduleViewPeriodInMinutes
759 758 0x2f6 string
760 759 0x2f7 style
761 760 0x2f8 styleAttribMods
762 761 0x2f9 subtype
763 762 0x2fa success
764 763 0x2fb SUCCESS
765 764 0x2fc successfulTackles
766 765 0x2fd suspension
767 766 0x2fe swap
768 767 0x2ff swapPlayerDefIds
769 768 0x300 tagged
770 769 0x301 taggedByProduction
771 770 0x302 taggedByUser
772 771 0x303 TalkRating
773 772 0x304 team
774 773 0x305 teamId
775 774 0x306 teamid
776 775 0x307 teamChemistry
777 776 0x308 teamOfTournamentWinner
778 777 0x309 teamRating
779 778 0x30a teamRating1To100
780 779 0x30b text
781 780 0x30c tfaData
782 781 0x30d tFAEnabled
783 782 0x30e tFAResendIntervalSecs
784 783 0x30f enableFloatPointSquadRating
785 784 0x310 enableLegacyYearInfoInItemResourceId
786 785 0x311 tfaState
787 786 0x312 thresholdPoint
788 787 0x313 tiebreak
789 788 0x314 tiebreaker
790 789 0x315 tier
791 790 0x316 tierEnd
792 791 0x317 tierLevel
793 792 0x318 tierStart
794 793 0x319 tierType
795 794 0x31a timesCompleted
796 795 0x31b timestamp
797 796 0x31c timesWon
798 797 0x31d timeUntilEnd
799 798 0x31e timeUntilStart
800 799 0x31f titleHolderPersonaId
801 800 0x320 tokenRedemptionEnabled
802 801 0x321 token
803 802 0x322 tokens
804 803 0x323 TOO_MANY_SEASONS
805 804 0x324 TOO_MANY_TOURNAMENTS
806 805 0x325 total
807 806 0x326 totalCredits
808 807 0x327 totalGames
809 808 0x328 tournament
810 809 0x329 tournamentCoins
811 810 0x32a tournamentData
812 811 0x32b tournamentId
813 812 0x32c tournamentProgress
814 813 0x32d tournamentQuitEnabled
815 814 0x32e tournamentTrophyRound
816 815 0x32f tournamentType
817 816 0x330 trade
818 817 0x331 tradeId
819 818 0x332 tradepile
820 819 0x333 tradePile
821 820 0x334 trader
822 821 0x335 tradeState
823 822 0x336 tradingEnabled
824 823 0x337 training
825 824 0x338 trainingItem
826 825 0x339 transaction
827 826 0x33a transactionId
828 827 0x33b transferValue
829 828 0x33c treeType
830 829 0x33d triesMax
831 830 0x33e triesPeriod
832 831 0x33f triesRemaining
833 832 0x340 trophies
834 833 0x341 trophiesFeaturedOffline
835 834 0x342 trophiesFeaturedOnline
836 835 0x343 trophiesOffline
837 836 0x344 trophiesOnline
838 837 0x345 trophiesSeasonOffline
839 838 0x346 trophiesSeasonOnline
840 839 0x347 trophy
841 840 0x348 trophyId
842 841 0x349 trophyResourceId
843 842 0x34a trophyUseCount
844 843 0x34b trophyUserCount
845 844 0x34c TROPHY_FEATURED_OFFLINE
846 845 0x34d TROPHY_FEATURED_ONLINE
847 846 0x34e TROPHY_OFFLINE
848 847 0x34f TROPHY_ONLINE
849 848 0x350 true
850 849 0x351 trusted
851 850 0x352 tutorial
852 851 0x353 tutorialClientData
853 852 0x354 type
854 853 0x355 typeValue
855 854 0x356 ULTIMATE
856 855 0x357 unclaimedPrizesChampionEvents
857 856 0x358 uniqueId
858 857 0x359 unlock
859 858 0x35a UNLOCKED
860 859 0x35b unlockreq
861 860 0x35c unlocks
862 861 0x35d unopened
863 862 0x35e unopenedPacks
864 863 0x35f untilEndSeconds
865 864 0x360 untilStartSeconds
866 865 0x361 untradeable
867 866 0x362 untradeableCount
868 867 0x363 updateTime
869 868 0x364 upcomingChampionEvents
870 869 0x365 uri
871 870 0x366 url
872 871 0x367 useAuth
873 872 0x368 useCount
874 873 0x369 useCredits
875 874 0x36a useDefaultImage
876 875 0x36b usePreOrder
877 876 0x36c user
878 877 0x36d userData
879 878 0x36e userHubClientData
880 879 0x36f userId
881 880 0x370 userInfo
882 881 0x371 userPoints
883 882 0x372 userRegistration
884 883 0x373 userStats
885 884 0x374 userTierLevel
886 885 0x375 useTime
887 886 0x376 valid
888 887 0x377 value
889 888 0x378 Value
890 889 0x379 values
891 890 0x37a view
892 891 0x37b visEnd
893 892 0x37c visEndDays
894 893 0x37d visible
895 894 0x37e visStart
896 895 0x37f visStartDays
897 896 0x380 watched
898 897 0x381 watchlist
899 898 0x382 win
900 899 0x383 winForm
901 900 0x384 winning
902 901 0x385 winsRemaining
903 902 0x386 WORLDCLASS
904 903 0x387 won
905 904 0x388 XTicket
906 905 0x389 year
907 906 0x38a yellowCards
+53
View File
@@ -0,0 +1,53 @@
#!/usr/bin/env python3
# Dump the FUT atom name table (atom index -> key string) from CardsDLL.
# Table at VA 0x1802d2760 is an array of char* pointers into .rdata.
import struct, sys
DLL = "/tmp/fut/cardsdll.dll"
data = open(DLL, "rb").read()
# (VA_start, size, file_off) from objdump -h
SECTIONS = [
(0x180001000, 0x1e3f62, 0x400), # .text
(0x1801e5000, 0xa4094, 0x1e4400), # .rdata
(0x18028a000, 0x54000, 0x288600), # .data
]
def va_to_off(va):
for start, size, off in SECTIONS:
if start <= va < start + size:
return off + (va - start)
return None
def read_cstr(va, maxlen=128):
off = va_to_off(va)
if off is None:
return None
end = data.find(b"\x00", off, off + maxlen)
if end < 0:
return None
try:
return data[off:end].decode("ascii")
except UnicodeDecodeError:
return None
TABLE_VA = 0x1802d2760
off = va_to_off(TABLE_VA)
atoms = {}
for i in range(0, 1200):
ptr = struct.unpack_from("<Q", data, off + i * 8)[0]
if ptr == 0:
s = None
else:
s = read_cstr(ptr)
if s is None:
# allow a few gaps then stop if we run off the end
if i > 40 and all(struct.unpack_from("<Q", data, off + (i + k) * 8)[0] == 0 for k in range(4)):
break
continue
if s.isprintable() and 1 <= len(s) <= 40:
atoms[i] = s
for i in sorted(atoms):
print(f"{i}\t0x{i:x}\t{atoms[i]}")
print(f"# total {len(atoms)} atoms", file=sys.stderr)
+12
View File
@@ -575,6 +575,18 @@ FUT_RS4_CONFIG = (
[("FUT_RS4_APIURL_%s" % m, UTAS_BASE) for m in FUT_RS4_MODULES]
+ [("FUT_RS4_URL_%s" % c, UTAS_BASE) for c in FUT_RS4_CALLS_BOOT]
+ [("FUT_RS4_BASE_URL", UTAS_BASE)]
# STORE gate: FIFA shows "store not available" unless these config flags are
# true. The store-screen entitlement checks (CardsDLL 0x18001749d vtable+0x138 /
# 0x1800175a2 vtable+0x280) read the IS_*/*_PURCHASE_ENABLED booleans -- SEPARATE
# from storeEnabled. Full confirmed list from ENDPOINT_MAP store § (grepped in
# cardsdll.strings). (Also gated by GetSystemMetrics > 1024x768, client-side.)
+ [(k, "1") for k in (
"storeEnabled", "cardPackStoreEnabled", "pointsPackStoreEnabled",
"cardPackStoreEnabled_JP", "coinEnabled", "coinEnabled_JP",
"IS_STORE_ENABLED", "IS_COIN_PURCHASABLE", "IS_FIFAPOINT_AVAILABLE",
"IS_FIFAPOINT_PURCHASABLE", "IS_EASTORE_SERVICE_READY",
"COINS_PURCHASE_ENABLED", "POINTS_PURCHASE_ENABLED", "MONEY_PURCHASE_ENABLED",
)]
# NOTE: do NOT advertise itemDbVersion/checkServerDbVersion here or in any
# response -- proven inert (wf_96b6c0c5): they are JSON field names that route
# to the value-SKIP handler 0x180135ff0, never compared. See docs/CARD_SYSTEM.md.
+18 -1
View File
@@ -154,6 +154,11 @@ ROUTES = [
# ---- store / packs (match regardless of /ut/game vs /ut/v2/game prefix) ----
(re.compile(r"/store/purchasegroup"), lambda m, h: store_catalog(h)),
(re.compile(r"/store/transaction"), lambda m, h: store_buy(h)),
# ut/v2/game/fifa17/store = FutStorePackQuantities ELIGIBILITY GATE, not a
# quantity list. deser 0x1801758c0 reads one key "result" (atom 0x288); the
# store screen shows "not available" unless this is SUCCESS. (ENDPOINT_MAP
# store §2.) Bare /store only -- purchasegroup/transaction matched above.
(re.compile(r"/store(\?|$)"), lambda m, h: (200, {"result": "SUCCESS"})),
(re.compile(r"/purchased"), lambda m, h: purchased_items(h)),
(re.compile(r"^/ut/auth"), lambda m, h: (200, auth_body())),
(re.compile(r"^/ut/delete/auth"), lambda m, h: (200, {})),
@@ -214,10 +219,19 @@ def store_catalog(h):
# {name,funds,finalFunds}; display name is "description". (wf a245577b —
# {purchaseGroups:...} + packId/price were all unknown atoms => empty => "not
# available".) quantity:0 => unlimited.
# Parse format is verified correct ("purchase" array, per-pack 0x18013af30).
# The store still rejected minimal packs -> a pack must be COMPLETE to count as
# valid: content info + BOTH a coins price (currencies) and a FIFA-Points price
# (extPrice {finalPrice,originalPrice} -> {"mtx":N}).
packs = []
for p in PACK_CATALOG:
gold = p["gold"]
mtx = max(1, p["price"] // 100)
packs.append({
# assetId (atom 0x23) is the REAL pack identity the deser 0x18013af30
# reads (ENDPOINT_MAP store §). id/packType/quantity/saleType/isPremium
# are all unknown atoms -> SKIP (harmless no-ops, kept for readability).
"assetId": p["id"],
"id": p["id"],
"packType": "GOLD" if gold else "BRONZE",
"description": p["name"],
@@ -228,11 +242,14 @@ def store_catalog(h):
"saleType": "PERMANENT",
"sortPriority": p["id"] - 100,
"currencies": [{"name": "coins", "funds": p["price"], "finalFunds": p["price"]}],
# extPrice inner keys are amount(0x1b)/currency(0xc4), NOT mtx (skipped).
"extPrice": {"finalPrice": {"amount": mtx, "currency": "fifapoints"},
"originalPrice": {"amount": mtx, "currency": "fifapoints"}},
"packContentInfo": {
"bronzeQuantity": 0 if gold else p["count"],
"silverQuantity": 0,
"goldQuantity": p["count"] if gold else 0,
"rareQuantity": p["count"] if gold else 0,
"rareQuantity": 1 if gold else 0,
"itemQuantity": p["count"],
},
})