Piñata Vision barcode/Pest cards

From PinataIsland.info, the Viva Piñata wiki
Revision as of 12:58, 5 November 2010 by FeralKitty (talk | contribs) (Document method for discovery)
Jump to: navigation, search

Species IDs for the sour (pest) cards come from the species ID table.

Based on known obfuscation set progression, valid generated sour cards would likely use the same obfuscation as a card 2 IDs distant from them. So the preferred bit to flip is ID bit 1.

ID Binary Species Flip 6 Flip 5 Flip 4 Flip 3 Flip 2 Flip 1 Flip 0
64 01000000 zz1lemmingpest -- 96 80 72 68 66 65
102 01100110 zz3rhinopest 38 70 118 110 98 100 103
107 01101011 zz3skunkpest 43 75 123 99 111 105 106
110 01101110 zz2scorpionpest 46 78 126 102 106 108 111
127 01111111 batpest 63 95 101 119 123 125 126
146 10010010 crowpest
147 10010011 raccoonpest
148 10010100 crocodilepest
149 10010101 molepest
150 10010110 wolfpest
156 10011100 mandrillpest
160 10100000 snailpest

Possible species cards that can be bit-flipped


RedFlutterscotchPV      100     A24CFBF76904CC69                                                        ID = 000001100100  100
36071C4914090957B7DC    0       BD41FBA96DE60E03                                                        ID = 000001100100  100 o -100
8442376A1408CA0D33DE    0       F946985B275F9581                                                        ID = 000001101100  108 o -108

To flip obfuscation set 9 ID bit 1

Bitmask to flip ID bit 1 is 0000310005400000. We determine this by finding a pair of identical-type cards (that only differ by ID bit 1), which also share the same obfuscation as the card to be bit-flipped. We compare what actual bits change between the two cards, ...

BuzzlegumLifeSweet-P	0	964ED4F3FC442C29                                                	ID = 011010001100 1676 o -1676
TafflyLifeSweet-PV  	0	964EE5F3F9042C29                                                	ID = 011010001110 1678 o -1678

egrep "(Buzzlegum|Taffly)-TroubleInParadise-LifeSweet" barcodes.txt | ./barcodetxt2bitdiff.pl --short | ./bit_diff.pl --nomatch
                                             444222
 Description           VPID Barcode          540642
---------------------------------------------------
BuzzlegumLifeSweet-P      0 964ED4F3FC442C29 010101  0x0000 0b0000000000000000
TafflyLifeSweet-PV        0 964EE5F3F9042C29 101010  0x0000 0b0000000000000000

Red Flutterscotch -> Sour Limeoceros

... and then flip the same bits in our likely-obfuscated (Red Flutterscotch) card, to change its ID by 2 to the rhinopest ID.

0000310005400000 XOR Bitmask
A24CFBF76904CC69 Red Flutterscotch (ID 100)
A24CCAF76C44CC69 Sour Limeoceros (ID 102)

It works, and we've discovered a generated Sour Limeoceros card.