Piñata Vision barcode/Obfuscation set

From PinataIsland.info, the Viva Piñata wiki
Revision as of 20:56, 3 May 2010 by FeralKitty (talk | contribs) (Note about C6/96 set ID bits)
Jump to: navigation, search
Note: Most of this article is speculation, and is unproven.

The Piñata Vision barcode article discusses obfuscation (of the barcode) in general.

Obfuscation sets

It's possible that the obfuscation set is identified by the first and last byte of the barcode's first (bottom) row. Having examined several sets for ID bits, each set with a common first and last byte seems to use the same columns for its obfuscated ID bits. (See the Choclodocus egg card article for an example of an obfuscation set's ID bit locations.)

Since the first and last byte of row 1 appears to be used for obfuscation, that leaves 56 bits for data (assuming the card only has one row).

Multi-row cards

It's unknown if each following row uses the same obfuscation, or whether or not all the following row's bits are dedicated to data. Further study should examine first and last bytes of row 2, to see if they happen to appear in the following table. If so, it might be possble that data is broken down into blocks of 56 bits, and obfuscated on a per-row basis.

Based on a glance at the leading and trailing byte of row 2, it doesn't seem to have anything in common with sets used by row 1. This makes sense, since a) it's more efficient to store/obfuscate 64 bits of useable data, and b) the data wouldn't call for additional overhead of a per-row obfuscation. Additional rows may solely contain data that's similarly obfuscated as row 1. (Has row 1's leading and trailing byte been obfuscated, or does row 1's obfuscation only involve the 56 data bits? Are all 64 bits of row 2 obfuscated, or are 63-60 and 03-00 in the clear?)

./obfuscation_sets.pl --row=2 --short
01 (3) 02 (1) 03 (2) 04 (1) 06 (1) 07 (2) 08 (2) 09 (2) 0A (2) 0B (1) 0D (2) 0E (2) 11 (2) 14 (1) 16 (2) 17 (2) 18 (3) 19 (2) 1A (1) 1B (1)
1C (2) 23 (1) 24 (1) 25 (1) 27 (1) 28 (1) 2C (3) 2D (4) 2E (2) 30 (1) 31 (1) 34 (1) 36 (2) 3A (1) 3C (4) 3D (2) 3E (5) 40 (2) 42 (2) 43 (6)
48 (3) 4A (1) 4B (4) 4F (2) 50 (1) 51 (3) 54 (1) 57 (1) 59 (2) 5A (4) 5B (2) 5D (2) 5E (2) 60 (1) 61 (5) 62 (1) 63 (5) 64 (1) 65 (5) 67 (2)
68 (3) 6D (1) 6E (2) 6F (2) 70 (1) 71 (1) 72 (1) 74 (1) 76 (1) 78 (1) 79 (1) 7A (1) 7B (1) 7C (1) 7F (1) 81 (5) 82 (2) 83 (3) 84 (12) 85 (25)
86 (11) 87 (18) 88 (29) 89 (1) 8A (15) 8B (26) 8D (4) 8E (3) 90 (2) 91 (2) 92 (1) 93 (3) 94 (16) 95 (11) 96 (14) 97 (4) 98 (10) 99 (43)
9A (22) 9C (9) 9F (1) A0 (4) A1 (3) A2 (15) A3 (46) A5 (14) A6 (4) A7 (14) A8 (4) A9 (13) AA (23) AC (1) AD (1) B1 (1) B2 (16) B3 (24)
B4 (2) B5 (3) B6 (31) B7 (7) B8 (2) B9 (3) BA (11) BB (39) BC (1) BD (1) BF (2) C0 (1) C1 (1) C2 (4) C3 (2) C4 (1) C5 (6) C6 (9) C7 (5)
C8 (1) C9 (14) CA (1) CC (33) CD (1) CE (19) CF (10) D2 (2) D3 (2) D4 (31) D5 (9) D6 (8) D7 (12) D8 (24) DB (2) DD (30) DE (12) DF (29)
E0 (68) E1 (29) E2 (28) E3 (3) E4 (17) E5 (4) E6 (7) E7 (1) E9 (1) EA (2) EC (29) EE (36) EF (9) F0 (7) F1 (33) F2 (5) F3 (2) F4 (9) F5 (1)
F6 (4) F7 (11) F8 (5) F9 (1) FA (1) FB (1) FC (1) FD (42) FE (3) FF (36)

./obfuscation_sets.pl --row=2 | wc -l
     182

Obfuscation set selection

The method of selecting an obfuscation for the card's data seems to involve the ID bits to some degree. See the ID table for a pattern/grouping of obfuscated cards. It's probable that not every type of card has an ID field, so one possibility is that the obfuscation is selected based on data that (directly?) follows the card type field, and that the ID field follows the card type field for certain types of cards.

Obfuscation method

It's not known yet if the obfuscation method is based on a formula (i.e., the different sets have a common method of obfuscation), or a lookup table (i.e., the different sets are independently obfuscated and have nothing in common).

96 and C6 ID bits are stored in the same columns. (See the Choclodocus egg card article for bit diff results.) Does this mean that both sets are obfuscated the same way, or that the leading byte is not (entirely) related to the obfuscation set key?

List of obfuscation sets

The set count is based on unique barcodes (no duplicates).

The TroubleInParadise cards are wiki cards, and are not broken down by card type.

Totaling the number of member cards may not match the count for various reasons:

  • Duplicate cards (e.g., card known by two names, such as Vision_Single_Placetag_Egg_dog and Barkbark-TroubleInParadise-Egg)
  • Omitted member cards (i.e., 010A22F91408B400D112.jpg from VivaPinata.com)

There appear to be 66 (out of a possible 8x16=128) obfuscation sets:

./obfuscation_sets.pl | wc -l
      66
Set Count Members
84 (5) PlaceTag (3) TroubleInParadise (2)
85 (20) Blackariants (2) TroubleInParadise (15)
86 (2) Chief_Thunder-Killer_Instinct-PV.jpg Gobi-Banjo_Kazooie-PV.png
88 (160) 02-GoobaaPV.jpg Buzzlegum-TiP-Variant3.jpg CrowlaPV.jpg DG-asian-BrightSun.jpg Moozipan-TiP-Variant1-PV.jpg Smelba_-_TiP_-_Variant_3_-_Purple_-_Jar_of_Jam_-_PV.jpg Vision_Single_SparseCallback_Change_dinosaur_to_colour_1.jpg Appear_Cutscene (9) Blackariants (4) GoodVariants (4) Learn_Primary_Trick (5) Learn_Secondary_Trick (4) Mate_Cutscene (10) Perform_Primary_Trick (7) Perform_Secondary_Trick (7) PlaceTag (16) RomanceMusic (1) TimeWarp (1) TroubleInParadise (121) UnlockArt (11) ViewTagInJournal (6)
89 (14) Fizzlybear-TiP-Variant3-PV.jpg TroubleInParadise (14) UnlockArt (2) ViewTagInJournal (1)
8B (86) Cinnamonkey-TiP-Variant3-PV.jpg Geckie_House.jpg PesterPV.jpg Pieena-TiP-Variant1-PV.jpg Profitamole-TiP-Variant1.jpg Profitamole-TiP-Variant2.jpg Squazzil-TiP-Variant3-PV.jpg Vulchurro-TiP-Wildcard2-PV.jpg Blackariants (5) GoodVariants (2) Learn_Primary_Trick (6) Learn_Secondary_Trick (4) Perform_Primary_Trick (8) Perform_Secondary_Trick (5) TroubleInParadise (69)
8D (91) Pengum-TiP-Variant1.jpg SmelbaPV.jpg SquazzilPV.jpg Valentine's_Day-02.14.2009-PV.jpg Blackariants (3) GoodVariants (2) Learn_Primary_Trick (1) Learn_Secondary_Trick (2) Perform_Primary_Trick (2) Perform_Secondary_Trick (3) PlaceTag (39) TroubleInParadise (54) UnlockArt (7) ViewTagInJournal (5)
95 (1) TroubleInParadise (1)
96 (74) Arocknid-Trouble_In_Paradise-Desert-Wildcard1.jpg Chocstrich-TiP-Variant3-PV.jpg Fizzlybear-TiP-Wildcard1-PV.jpg Gold-FizzlyBear.jpg SparrowmintPV.jpg Blackariants (3) GoodVariants (3) PlaceTag (31) TroubleInParadise (46)
97 (2) Vision_Single_SparseCallback_Set_player_credits_balance_to_1000000000.jpg TroubleInParadise (2) Weather (1)
98 (19) RobeanPV.jpg GoodVariants (3) PlaceTag (14) TroubleInParadise (5)
99 (51) RollingPinPV.jpg Learn_Primary_Trick (4) Learn_Secondary_Trick (4) Perform_Primary_Trick (2) Perform_Secondary_Trick (2) TroubleInParadise (42) UnlockArt (2) UnlockTag (4) ViewTagInJournal (4)
9C (32) CouponPV.jpg Moozipan-TiP-Variant3-PV.jpg Blackariants (1) GoodVariants (6) Perform_Primary_Trick (4) TroubleInParadise (30) Weather (3)
A2 (153) 07-JeliPV.jpg 27-GalagoogooPV.jpg CherrapinPV.jpg Cinnamonkey-TiP-Variant1-PV.jpg Fizzlybear-TiP-Variant2-PV.jpg Galagoogoo-Varient3.jpg HootyFruity-TiP-Variant2-PV.jpg Lickitoad_wc_3.jpg Pieena-TiP-Wildcard1-PV.jpg Ponocky_House.jpg Blackariants (3) GoodVariants (5) PlaceTag (67) TroubleInParadise (103)
A3 (10) TroubleInParadise (9)
A6 (26) Appear_Cutscene (3) Learn_Primary_Trick (4) Learn_Secondary_Trick (1) Mate_Cutscene (4) Perform_Primary_Trick (4) Perform_Secondary_Trick (4) TimeWarp (1) TroubleInParadise (25) UnlockArt (4) ViewTagInJournal (1)
A7 (1) MoojooPV.jpg
A8 (20) PlaceTag (18) TroubleInParadise (11)
A9 (40) Bunnycomb_Wildcard3.jpg Mothdrop-TroubleInPardise-House-PV.jpg WhirlmspritzerJukebox.jpg Learn_Primary_Trick (2) Learn_Secondary_Trick (3) Perform_Primary_Trick (3) Perform_Secondary_Trick (2) TroubleInParadise (36) UnlockArt (2) ViewTagInJournal (3)
AA (121) 10-CrowlaPV.jpg BuzzengePV.jpg ClucklesPV.jpg DG-asian-YanSuey.jpg Parmadillo-TiP-House-PV.jpg RaisantPV.jpg SarsgorillaPV.jpg Vision_Single_SparseCallback_Send_in_Professor_Pester.jpg Vision_Single_SparseCallback_Send_in_Ruffian_1.jpg Appear_Cutscene (9) Blackariants (5) GoodVariants (4) Learn_Primary_Trick (6) Learn_Secondary_Trick (8) Mate_Cutscene (7) Perform_Primary_Trick (4) Perform_Secondary_Trick (6) TroubleInParadise (107) UnlockArt (7) ViewTagInJournal (2)
AC (4) BispottiPV.jpg FlutterscotchPV.jpg TwingersnapPV.jpg TroubleInParadise (1)
B2 (53) Appear_Cutscene (7) Learn_Primary_Trick (7) Learn_Secondary_Trick (7) Mate_Cutscene (7) Perform_Primary_Trick (6) Perform_Secondary_Trick (6) RomanceMusic (1) TroubleInParadise (51) UnlockArt (5) ViewTagInJournal (6) Weather (1)
B3 (141) Blue_Tartridge.jpg Buzzlegum-TiP-Variant2.jpg Christmas-12.25.2008-PV.jpg CustaceanPV.jpg LackatoadPV.jpg MacaracoonPV.jpg Moozipan-TiP-Variant2.jpg NewtgatPV.jpg ParmadilloPV.jpg Tartridge_Wildcard_1.jpg VulchurroPV.jpg WhirlmPV.jpg Appear_Cutscene (6) Blackariants (5) GoodVariants (11) House_Interior (1) Learn_Primary_Trick (6) Learn_Secondary_Trick (6) Mate_Cutscene (6) Perform_Primary_Trick (6) Perform_Secondary_Trick (7) TimeWarp (1) TroubleInParadise (120) UnlockArt (7) ViewTagInJournal (5) Weather (1)
B5 (5) Learn_Primary_Trick (1) Learn_Secondary_Trick (1) Perform_Primary_Trick (1) TroubleInParadise (5) UnlockArt (2)
B7 (4) Gruntilda-Banjo_Kazooie-PV.jpg PeckanmixPV.jpg PieenaPV.jpg TroubleInParadise (1)
B8 (21) PlaceTag (17) TroubleInParadise (21)
B9 (12) DG-asian-EmperorNewton.jpg Pengum-TiP-Variant2-PV.jpg RomanceMusic (1) TroubleInParadise (9) UnlockArt (1) ViewTagInJournal (2)
BA (2) CinnamonkeyPV.jpg RomanceMusic (1)
BB (21) BadgesiclePV.jpg MousemallowPV.jpg Sgt._Johnson-Halo-PV.jpg Appear_Cutscene (2) Mate_Cutscene (4) TroubleInParadise (17) UnlockArt (6) ViewTagInJournal (4)
BD (75) Fizzlybear-TiP-Wildcard2-PV.jpg Blackariants (1) Learn_Primary_Trick (5) Learn_Secondary_Trick (4) Perform_Primary_Trick (5) Perform_Secondary_Trick (5) PlaceTag (24) TroubleInParadise (63) UnlockArt (4) ViewTagInJournal (5)
C4 (94) Cortana-Halo-PV.jpg Eaglair-TiP-Variant3-PV.jpg FlapyakPV.jpg HorstachioRomanceDance.jpg Pester2PV.jpg ReddhottPV.jpg Vulchurro-TiP-Wildcard1-PV.jpg Appear_Cutscene (8) Blackariants (1) GoodVariants (2) Learn_Primary_Trick (4) Learn_Secondary_Trick (4) Mate_Cutscene (4) Perform_Primary_Trick (3) Perform_Secondary_Trick (2) PlaceTag (25) TroubleInParadise (73) UnlockArt (4) ViewTagInJournal (3) Weather (2)
C5 (4) 17-TigermisuPV.jpg FudgehogPV.jpg TroubleInParadise (2)
C6 (67) Buzzlegum-TiP-Variant1.jpg ChewnicornPV.jpg CocoadilePV.jpg MothdropPV.jpg SweetoothPV.jpg Blackariants (2) GoodVariants (1) PlaceTag (34) TroubleInParadise (41)
C7 (10) Appear_Cutscene (5) Mate_Cutscene (5) TroubleInParadise (9)
C8 (1) TroubleInParadise (1)
C9 (11) KittyflossPV.jpg Appear_Cutscene (2) Blackariants (3) GoodVariants (3) Mate_Cutscene (2) TroubleInParadise (10)
CC (103) HootyFruity-TiP-Wildcard2-PV.jpg Moozipan-TiP-House-PV.jpg Appear_Cutscene (9) Blackariants (6) GoodVariants (1) Learn_Primary_Trick (7) Learn_Secondary_Trick (7) Mate_Cutscene (6) Perform_Secondary_Trick (4) TroubleInParadise (92) UnlockArt (8) ViewTagInJournal (6)
CE (24) HoghurtPV.jpg Appear_Cutscene (9) Mate_Cutscene (10) TroubleInParadise (22)
CF (16) Appear_Cutscene (9) Mate_Cutscene (6) RomanceMusic (1) TroubleInParadise (15)
D4 (110) BarkbarkPV.jpg Cherrapin-TiP-Variant2-PV.jpg Halloween-10.31.2008-PV.jpg ShellybeanPV.jpg Tigermisu-TiP-Variant3-PV.jpg Appear_Cutscene (5) Blackariants (1) GoodVariants (7) Learn_Primary_Trick (3) Learn_Secondary_Trick (2) Mate_Cutscene (2) Perform_Primary_Trick (3) Perform_Secondary_Trick (4) PlaceTag (34) TroubleInParadise (85) UnlockArt (3) ViewTagInJournal (6)
D5 (68) CamelloPV.jpg Eaglair-TiP-Wildcard2-PV.jpg Moozipan-TiP-Wildcard2-PV.jpg Pink_Tartridge.jpg Syrupent-Trouble_In_Paradise-Desert-Wildcard1.jpg Syrupent-Trouble_In_Paradise-Desert-Wildcard3.jpg Blackariants (6) GoodVariants (4) TroubleInParadise (53)
D6 (2) CaptainBlubber.jpg TroubleInParadise (1)
D7 (39) Learn_Primary_Trick (4) Learn_Secondary_Trick (6) Perform_Primary_Trick (4) Perform_Secondary_Trick (6) RomanceMusic (1) TroubleInParadise (38) UnlockArt (7) UnlockTag (3) ViewTagInJournal (8)
D8 (1) TroubleInParadise (1)
D9 (14) LickatoadPV.jpg Appear_Cutscene (3) Blackariants (2) GoodVariants (4) Mate_Cutscene (1) TroubleInParadise (13)
DB (81) Blackariants (6) GoodVariants (3) PlaceTag (68) TroubleInParadise (47) Weather (1)
DD (40) ArocknidPV.jpg BuzzlegumPV.jpg Cinder-Killer_Instinct-PV.jpg Glacius-Killer_Instinct-PV.jpg Moozipan-TiP-Wildcard1-PV.jpg RashberryPV.jpg Smelba-TiP-WildCard2-PV.jpg Appear_Cutscene (4) GoodVariants (2) Mate_Cutscene (4) RomanceMusic (1) TroubleInParadise (31)
DE (18) Blackariants (10) GoodVariants (7) TroubleInParadise (18)
DF (63) Arocknid-Trouble_In_Paradise-Desert-Wildcard2.jpg Fourheads-wild-card3.jpg Orange_Smelba.jpg Pieena-TiP-Variant3-PV.jpg Pink_Bispotti_variant.jpg Wild_Card_Geckie1.jpg TroubleInParadise (51)
E0 (223) Banjo-Banjo_Kazooie-PV.jpg BunnycombPV.jpg Cluckles-wildcard1-pv.jpg DoenutPV.jpg Eaglair-TiP-Variant1-PV.jpg Easter-04.12.2009-PV.jpg HootyFruity-TiP-Variant1-PV.jpg HootyFruity-wildcard3.jpg Jinjo-Banjo_Kazooie-PV.jpg Mallowolf-TroubleinParadise-House-VP.jpg Orange_Tartridge.jpg Parmadillo-TiP-3Variant-PV.jpg Pudgeon-TiP-Variant3-PV.jpg Pudgeon_WC3-PV.jpg SweetlePV.jpg Vision_Single_SparseCallback_Change_dinosaur_to_colour_2.jpg Whirlm_2nd_wildcard.jpg Appear_Cutscene (7) Blackariants (6) GoodVariants (6) Learn_Primary_Trick (6) Learn_Secondary_Trick (6) Mate_Cutscene (4) Perform_Primary_Trick (5) Perform_Secondary_Trick (6) PlaceTag (69) RomanceMusic (1) TroubleInParadise (164) UnlockArt (7) ViewTagInJournal (11)
E5 (1) RomanceMusic (1)
E6 (33) Appear_Cutscene (3) Learn_Primary_Trick (4) Learn_Secondary_Trick (6) Mate_Cutscene (3) Perform_Primary_Trick (2) Perform_Secondary_Trick (4) TroubleInParadise (31) UnlockArt (3) ViewTagInJournal (4) Weather (4)
E7 (17) Blackariants (11) GoodVariants (4) TroubleInParadise (17)
E9 (5) Blackariants (1) GoodVariants (2) Mate_Cutscene (1) TroubleInParadise (5)
EC (8) GeckiePV.jpg LemmoningPV.jpg TroubleInParadise (5)
EE (88) B._Orchid-Killer_Instinct-PV.jpg BispottiWildcard1PV.jpg Blue_Spartan-Halo-PV.jpg Buzzlegum-TiP-Wildcard1.jpg CandaryPV.jpg Chippopotamus-TiP-Wildcard1.jpg Doenut-TiP-Variant1.jpg Doenut_Wildcard1.jpg Master_Chief-Halo-PV.jpg SmorepionPV.jpg WishingWellPV.jpg Learn_Primary_Trick (7) Learn_Secondary_Trick (5) Perform_Primary_Trick (6) Perform_Secondary_Trick (7) TroubleInParadise (73) UnlockTag (2) Weather (3)
EF (21) Monsieur_Quiqui.jpg Blackariants (4) GoodVariants (14) TroubleInParadise (20) Weather (1)
F1 (165) Carrot.jpg Doenut-TiP-Variant3.jpg Eaglair-TiP-Wildcard1-PV.jpg Fulgore-Killer_Instinct-PV.jpg JuicygoosePV.jpg Kazooie-Banjo_Kazooie-PV.jpg PengumPV.jpg PonockyPV.jpg PudgeonPV.jpg Syrupent-Trouble_In_Paradise-Desert-Wildcard2.jpg Tartridge_Home.jpg TartridgePV.jpg Vision_Single_SparseCallback_Adjust_player_credits_balance_by_-10000.jpg Vision_Single_SparseCallback_Adjust_player_credits_balance_by_10000.jpg Vision_Single_SparseCallback_Red_card_-_Pester_&_Ruffians.jpg Vision_Single_SparseCallback_Send_in_Ruffian_3.jpg Vision_Single_SparseCallback_Send_in_Ruffian_4.jpg WINTER_CARD.jpg Appear_Cutscene (5) Blackariants (6) GoodVariants (7) House_Interior (1) Learn_Primary_Trick (4) Learn_Secondary_Trick (6) Mate_Cutscene (5) Perform_Primary_Trick (7) Perform_Secondary_Trick (6) TroubleInParadise (139) UnlockArt (13) UnlockTag (3) ViewTagInJournal (6)
F5 (47) HelpersPV.jpg Vision_Single_SparseCallback_Send_in_Ruffian_2.jpg Vision_Single_SparseCallback_Yellow_card_-_Ruffians.jpg Appear_Cutscene (3) Learn_Primary_Trick (3) Learn_Secondary_Trick (5) Mate_Cutscene (6) Perform_Primary_Trick (6) Perform_Secondary_Trick (4) TroubleInParadise (46) UnlockArt (7) ViewTagInJournal (9)
F6 (1) RomanceMusic (1)
F7 (88) 04-HootyfruityPV.jpg Candary_-_TiP_-_Variant_1_-_Blue_-_Bluebell_Flower_-_PV.jpg Cinnamonkey-TiP-Variant2-PV.jpg Eaglair-TiP-Variant2-PV.jpg Goobaa-wildcard3.jpg Newtgat_Wildcard2.jpg Pieena-TiP-Variant2-PV.jpg Pudgeon-TiP-House-PV.jpg Pudgeon-TiP-Variant2-VP.jpg SherbatPV.jpg Sparrowmint_House.jpg SyrupentPV.jpg Tartridge_Wildcard_2.jpg Whirm_House.jpg TroubleInParadise (69)
F9 (12) Appear_Cutscene (2) Blackariants (4) GoodVariants (2) Mate_Cutscene (1) RomanceMusic (2) TroubleInParadise (8)
FB (28) DG-asian-HaikuLing.jpg DG-asian-JadeGalasusu.jpg GoobaaPV.jpg Tusk-Killer_Instinct-PV.jpg Vision_Single_SparseCallback_Change_dinosaur_to_colour_0.jpg Appear_Cutscene (4) Mate_Cutscene (3) TroubleInParadise (23) UnlockArt (4) ViewTagInJournal (5)
FD (35) Appear_Cutscene (3) Blackariants (1) GoodVariants (6) Mate_Cutscene (3) PlaceTag (4) TroubleInParadise (26) Weather (1)
FE (21) JameleonPV.jpg QuackberryPV.jpg TroubleInParadise (18) UnlockArt (11) ViewTagInJournal (6)
FF (104) DG-asian-KitlingChang.jpg JeliPV.jpg Learn_Primary_Trick (6) Learn_Secondary_Trick (4) Perform_Primary_Trick (5) Perform_Secondary_Trick (5) PlaceTag (65) TimeWarp (1) TroubleInParadise (69) UnlockArt (7) ViewTagInJournal (9)