Thread:Makallus/@comment-5116140-20120808213006/@comment-5246522-20120808215844

The Shop file is basically the menu system in the shop. Hit the Hammer and you have Houses, Resources, Storage etc as follows in the Shop1.8-

{"groupName": "inventoryBuildings", "class": ["House", "PremiumHouse", "Mill", "Store", "Silo", "DinoFusionBuilding", "Habitat", "DinoDen"]...

then again, if you hit [Dino] -> [Buildings] you have the following classes of Dino Buildings.

"type": "multipleChoice", "classNames": ["DinoDen", "Habitat", "DinoFusionBuilding"], "banner": "shop_banner_standard.png", "name": "habitats", "icon": "btn_menu_dinoBuildings.png"}

That's basically all that's in the Shop 1.8 file.

Other Files
There are also DinoFusionClient which is used to fill the "Probability Summary" table,  Dinosaurs which is used to fill the "List of Dinos" table including the "Prob value". IMHO I think the prob value is used in fusion but I haven't gotten that far yet to confirm.

Extra Credit
The "crazy number" is the MD5 of the Shop file (as all the push config assets are tagged). This prevents anyone with notepad from going in and changing values. At game startup time the server pushes the MD5's of the game configuation files, Shops, prices, rewards, goals etc. If the MD5 maching filename is found in the device cache it checks the actual MD5 of that file. If it matches then there is no reason to re-pull the file. If it doesn't match there is a warning the game file is corrupt and the game re-pulls from the server. If the file is missing, it pulls from the server (as in a new set of goals, prices etc).

While MD5 is considered "hackable" (as in taking hours with powerful CPUs) most hacking methods involve "herding" two disimilar files into an MD5 conflict by adding suprufelous data to each file until there is an MD5 conflict. However, taking a known MD5 file, modifying the useful content then adding hash blocks (without corrupting the file) to achieve the original MD5 is an entirely different matter. It would be easier to interrupt the MD5 check sequence in-memory but still not a task for script-kiddies. If you're doing that just edit the in-memory values like any good game "trainer" would -- but there are checks against that too =). This is why TV is generally considred "un-hackable" as in notepad and CheatEngine are of limited value.