Piñata Vision barcode/Choclodocus egg card
Project status
The Choclodocus egg card was discovered on May 3, 2010 by Shrly, who volunteered to help scan cards for the barcode project.
This project has ended.
Summary of discoveries about the barcode
- C6 and 96 obfuscation sets are actually part of a common *6 obfuscation set.
- It's possible to note bit differences between a single pair of cards in an obfuscation set, and apply that bit change to a similarly obfuscated card a similar ID distance away from the missing (egg) card. This method will produce a valid barcode right from the start, eliminating the trial-and-error bit-flipping approach. (See #ID bit 5 bit difference results for an example.)
Working notes
Looking at the ID table, several egg cards are missing. Based on the alphabetic order for the egg cards and the missing IDs, there's likely an Egg_dinosaur_208 card that hasn't been released.
Here's the relevant snippet from the ID table.
207 C4 CB76D954B86F82A4 Vision_Single_PlaceTag_Egg_deer_207.jpg 208 ?? C6?? Dinosaur egg?? 209 FF F1706B687463A38F Vision_Single_PlaceTag_Egg_dog_209.jpg
Based on the sequence of the obfuscated sets, it's possible that the Choclodocus egg card is a C...6 9...6 card.
The goal of the project is to find a similar obfuscated card, and change its ID bits to 208, to see if a Choclodocus egg card can be scanned. Naturally, other bits (checksum or non-checksum bits that produce a net zero sum) need to be changed too, so the card remains valid.
Among the possibilities, a good candidate is the Egg_lion Egg_hydra card, since it requires the least manipulation.
0201 C6 Egg_chameleon 201 -> 208. Flip ID bits 0, 3, 4
0218 C6 Egg_firefly 218 -> 208. Flip ID bits 1, 3, 4
0248 C6 Egg_lion 248 -> 208. Flip ID bits 3, 5
0287 C6 Egg_sheep 287 -> 208. Flip ID bits 0, 1, 2, 3, 6
- 0240 96 Egg_hydra 240 -> 208. Flip ID bit 5
Results for scanning flipped cards
Flipped bits | New base barcode | Status | Results |
---|---|---|---|
13, 10 | C6FEF696AB02D0B6 | Tested by FeralKitty | No valid cards based on this barcode, or with a single additional bit-flip from 00 to 63. |
12, 10 | C6FEF696AB02E0B6 | Underway by FeralKitty | Scanned a few, including the above barcode. Nothing valid yet. |
12, 24 | C6FEF696AA02E4B6 | Underway by FeralKitty | |
12, 13, 11 | C6FEF696AB02CCB6 | Tested by FeralKitty | No valid cards based on this barcode, or with a single additional bit-flip from 00 to 63. |
12, 13, 06 | C6FEF696AB02C4F6 | Tested by FeralKitty | No valid cards based on this barcode, or with a single additional bit-flip from 00 to 63. |
12, 13, 51 | C6F6F696AB02C4B6 | Tested by Shrly | No valid cards based on this barcode, or with a single additional bit-flip from 04 to 59. |
12, 13, 51, 24 | C6F6F696AA02C4B6 | Tested by Shrly | No valid cards based on this barcode, or with a single additional bit-flip from 04 to 59. |
12, 13, 51, 45 | C6F6D696AB02C4B6 | Tested by ImaTestWentBad | No valid cards based on this barcode, or with a single additional bit-flip from 04 to 59. |
12, 13, 51, 46 | C6F6B696AB02C4B6 | Tested by ImaTestWentBad | No valid cards based on this barcode, or with a single additional bit-flip from 04 to 59. |
12, 13, 51, 47 | C6F67696AB02C4B6 | Tested by ImaTestWentBad | No valid cards based on this barcode, or with a single additional bit-flip from 04 to 59. |
12, 13, 49 | C6FCF696AB02C4B6 | Tested by Daremo 001 | No valid cards based on this barcode, or with a single additional bit-flip from 04 to 59. |
12, 13, 39 | C6FEF616AB02C4B6 | Tested by ImaTestWentBad | No valid cards based on this barcode, or with a single additional bit-flip from 04 to 59. |
12, 13, 38 | C6FEF6D6AB02C4B6 | Tested by love evil | No valid cards based on this barcode, or with a single additional bit-flip from 04 to 59. |
12, 13, 33 | C6FEF694AB02C4B6 | Tested by ImaTestWentBad | No valid cards based on this barcode, or with a single additional bit-flip from 04 to 59. |
12, 13, 31 | C6FEF6962B02C4B6 | Tested by love evil | No valid cards based on this barcode, or with a single additional bit-flip from 04 to 59. |
12, 13, 23 | C6FEF696AB82C4B6 | Tested by ImaTestWentBad | No valid cards based on this barcode, or with a single additional bit-flip from 04 to 59. |
12, 13, 21 | C6FEF696AB22C4B6 | Tested by Shrly | No valid cards based on this barcode, or with a single additional bit-flip from 04 to 59. |
12, 13, 21, 19 | C6FEF696AB2AC4B6 | Tested by ImaTestWentBad | No valid cards based on this barcode, or with a single additional bit-flip from 04 to 59. |
12, 13 | 96FEF696AB02C4A6 | Tested by Shrly | Discovered Choclodocus egg. Other discovered cards include:
|
Bit difference results
Performing a bit difference on *6 cards with known IDs, we get these possible results for the ID bits:
cat 96_no_banjostatue.txt c6_test.txt | ./bit_diff.pl 665555555554444444443333332222222211111111100000 Description VPID Barcode 209876543208765432107654209876542098765432097654 --------------------------------------------------------------------------------------------- Plant_turnip 1061 926EDBA6AA48F656 010010011010110110111001001010101010001111110101 0x0425 0b0000010000100101 Egg_walrus 0309 926EDF96E548F4A6 010010011010110111110101011001011010001111101010 0x0135 0b0000000100110101 Home_canary 0517 926EDF9EAA48C656 010010011010110111110111001010101010001100110101 0x0205 0b0000001000000101 Prop_firtreelog 0821 926EDF9EE548F4A6 010010011010110111110111011001011010001111101010 0x0335 0b0000001100110101 Plant_snapdragon 1076 926EF4A6AA48F4A6 010010011010111101001001001010101010001111101010 0x0434 0b0000010000110100 Egg_newt 0260 926EF696E548C656 010010011010111101100101011001011010001100110101 0x0104 0b0000000100000100 Egg_spider 0292 926EF696E548F656 010010011010111101100101011001011010001111110101 0x0124 0b0000000100100100 Home_dragonfly 0532 926EF69EAA48C4A6 010010011010111101100111001010101010001100101010 0x0214 0b0000001000010100 Prop_minerslantern 0772 926EF69EE548C656 010010011010111101100111011001011010001100110101 0x0304 0b0000001100000100 Prop_spade 0804 926EF69EE548F656 010010011010111101100111011001011010001111110101 0x0324 0b0000001100100100 Plant_pumpkin 1063 927ADBA6AA48F656 010010011100110110111001001010101010001111110101 0x0427 0b0000010000100111 Egg_redbutterfly 0279 927ADF96E548C4A6 010010011100110111110101011001011010001100101010 0x0117 0b0000000100010111 Egg_whitebutterfly 0311 927ADF96E548F4A6 010010011100110111110101011001011010001111101010 0x0137 0b0000000100110111 Home_cat 0519 927ADF9EAA48C656 010010011100110111110111001010101010001100110101 0x0207 0b0000001000000111 Home_goose 0551 927ADF9EAA48F656 010010011100110111110111001010101010001111110101 0x0227 0b0000001000100111 Prop_appletreelog 0823 927ADF9EE548F4A6 010010011100110111110111011001011010001111101010 0x0337 0b0000001100110111 Plant_orchid 1078 927AF4A6AA48F4A6 010010011100111101001001001010101010001111101010 0x0436 0b0000010000110110 ZZToy_origong 2243 96EA3F96AB02C656 010110111000001111110101001010110000101100110101 0x08c3 0b0000100011000011 Egg_bushbaby 0195 96EADF96AB02C656 010110111000110111110101001010110000101100110101 0x00c3 0b0000000011000011 Seed_thistle 0467 96EADF96E402C4A6 010110111000110111110101011001000000101100101010 0x01d3 0b0000000111010011 Produce_toffeeapple 0707 96EADF9EAB02C656 010110111000110111110111001010110000101100110101 0x02c3 0b0000001011000011 Prop_birdbath1 0739 96EADF9EAB02F656 010110111000110111110111001010110000101111110101 0x02e3 0b0000001011100011 Seed_blackberrybush 0482 96EAF696E402F656 010110111000111101100101011001000000101111110101 0x01e2 0b0000000111100010 Produce_dinobluebone 0722 96EAF69EAB02C4A6 010110111000111101100111001010110000101100101010 0x02d2 0b0000001011010010 ZZToy_spocoffin 2241 96FE3F96AB02C656 010110111110001111110101001010110000101100110101 0x08c1 0b0000100011000001 Produce_bone 0705 96FEDF9EAB02C656 010110111110110111110111001010110000101100110101 0x02c1 0b0000001011000001 Egg_hydra 0240 96FEF696AB02F4A6 010110111110111101100101001010110000101111101010 0x00f0 0b0000000011110000 Seed_birdofparadisep 0448 96FEF696E402C656 010110111110111101100101011001000000101100110101 0x01c0 0b0000000111000000 Seed_oak 0480 96FEF696E402F656 010110111110111101100101011001000000101111110101 0x01e0 0b0000000111100000 Produce_dinoredbone 0720 96FEF69EAB02C4A6 010110111110111101100111001010110000101100101010 0x02d0 0b0000001011010000 Black_scorpion 0109 C24EDA969E5D2476 100010010010110110100101000111101111010010100111 0x006d 0b0000000001101101 Plant_yam 1069 C26EDBA6AA48F646 100010011010110110111001001010101010001111110100 0x042d 0b0000010000101101 Egg_zebra 0317 C26EDF96E548F4B6 100010011010110111110101011001011010001111101011 0x013d 0b0000000100111101 Home_crocodile 0525 C26EDF9EAA48C646 100010011010110111110111001010101010001100110100 0x020d 0b0000001000001101 Home_hedgehog 0557 C26EDF9EAA48F646 100010011010110111110111001010101010001111110100 0x022d 0b0000001000101101 Egg_peacock 0268 C26EF696E548C646 100010011010111101100101011001011010001100110100 0x010c 0b0000000100001100 Home_mandrill 0572 C26EF69EAA48F4B6 100010011010111101100111001010101010001111101011 0x023c 0b0000001000111100 Prop_gardenjunk83 0812 C26EF69EE548F646 100010011010111101100111011001011010001111110100 0x032c 0b0000001100101100 Plant_buttercup 1071 C27ADBA6AA48F646 100010011100110110111001001010101010001111110100 0x042f 0b0000010000101111 Egg_sheep 0287 C27ADF96E548C4B6 100010011100110111110101011001011010001100101011 0x011f 0b0000000100011111 Egg_cow 0319 C27ADF96E548F4B6 100010011100110111110101011001011010001111101011 0x013f 0b0000000100111111 Home_deer 0527 C27ADF9EAA48C646 100010011100110111110111001010101010001100110100 0x020f 0b0000001000001111 Home_horse 0559 C27ADF9EAA48F646 100010011100110111110111001010101010001111110100 0x022f 0b0000001000101111 Prop_totemskunk 0799 C27ADF9EE548C4B6 100010011100110111110111011001011010001100101011 0x031f 0b0000001100011111 Prop_oillmap 0831 C27ADF9EE548F4B6 100010011100110111110111011001011010001111101011 0x033f 0b0000001100111111 Egg_pigeon 0270 C27AF696E548C646 100010011100111101100101011001011010001100110100 0x010e 0b0000000100001110 Home_fox 0542 C27AF69EAA48C4B6 100010011100111101100111001010101010001100101011 0x021e 0b0000001000011110 Home_mole 0574 C27AF69EAA48F4B6 100010011100111101100111001010101010001111101011 0x023e 0b0000001000111110 Prop_gardenjunk85 0814 C27AF69EE548F646 100010011100111101100111011001011010001111110100 0x032e 0b0000001100101110 Good_dog 0045 C65A659FCE58E2E6 100110010100011001010111110011101110001110011110 0x002d 0b0000000000101101 Home_beaver 0507 C6EADF96E402F4B6 100110111000110111110101011001000000101111101011 0x01fb 0b0000000111111011 Produce_garlicbutter 0715 C6EADF9EAB02C646 100110111000110111110111001010110000101100110100 0x02cb 0b0000001011001011 Tree_gooseberrybush 1019 C6EADF9EE402F4B6 100110111000110111110111011001000000101111101011 0x03fb 0b0000001111111011 Egg_firefly 0218 C6EAF696AB02C4B6 100110111000111101100101001010110000101100101011 0x00da 0b0000000011011010 Seed_blueberrybush 0490 C6EAF696E402F646 100110111000111101100101011001000000101111110100 0x01ea 0b0000000111101010 Prop_lantern 0730 C6EAF69EAB02C4B6 100110111000111101100111001010110000101100101011 0x02da 0b0000001011011010 ZZToy_minecart 2249 C6FE3F96AB02C646 100110111110001111110101001010110000101100110100 0x08c9 0b0000100011001001 Egg_chameleon 0201 C6FEDF96AB02C646 100110111110110111110101001010110000101100110100 0x00c9 0b0000000011001001 Egg_grasssnake 0233 C6FEDF96AB02F646 100110111110110111110101001010110000101111110100 0x00e9 0b0000000011101001 Seed_hemlock 0473 C6FEDF96E402C4B6 100110111110110111110101011001000000101100101011 0x01d9 0b0000000111011001 Home_bat 0505 C6FEDF96E402F4B6 100110111110110111110101011001000000101111101011 0x01f9 0b0000000111111001 Produce_marmalade 0713 C6FEDF9EAB02C646 100110111110110111110111001010110000101100110100 0x02c9 0b0000001011001001 Prop_haybail 0745 C6FEDF9EAB02F646 100110111110110111110111001010110000101111110100 0x02e9 0b0000001011101001 Tree_blackberrybush 1017 C6FEDF9EE402F4B6 100110111110110111110111011001000000101111101011 0x03f9 0b0000001111111001 Egg_lion 0248 C6FEF696AB02F4B6 100110111110111101100101001010110000101111101011 0x00f8 0b0000000011111000 Seed_nightshadebush 0488 C6FEF696E402F646 100110111110111101100101011001000000101111110100 0x01e8 0b0000000111101000 Black_crocodile 0026 CDAA6492CE50C0F6 101101101000011001000100010011101100001100001111 0x001a 0b0000000000011010 CocoadileHouse 525 CF4FF983EA48C646 101111010011111110010000111010101010001100110100 0x020d 0b0000001000001101 SweetoothHouse 507 CFBBF982E50DD6B6 101111101101111110010000011001010011011101111011 0x01fb 0b0000000111111011 Urny's_Milk_Float 2233 CFFF7982AB08D2F6 101111111111011110010000001010110010001101011111 0x08b9 0b0000100010111001 ID bit 0 to match 1111000000111111011111001100001111100011111110000111100011111111000111 !53 | 43 !(53 & !43) !53 | 40 !(53 & !40) !45 | 40 !(45 & !40) 43 | 40 43 | 32 !42 | 40 !(42 & !40) 40 | 28 40 ^ 28 !(!40 ^ 28) !(40 ^ !28) 40 | 18 40 | 16 !(40 ^ 15) !(!40 & 15) !40 ^ 15 40 | !15 40 ^ !15 !(40 ^ 14) !(!40 & 14) !40 ^ 14 40 | !14 40 ^ !14 ID bit 1 to match 0000000000111111111111110000000000000011111111111011111100000000001010 !(!53 | 50) 53 & !50 !(50 | 32) ID bit 2 to match 1111111111111111100000000000001111111111111111111100000000000000000100 Exact match(es): !55 ID bit 3 to match 0000000000000000000000000000001111111111111111111111111111111111111111 Exact match(es): 62, !60 ID bit 4 to match 0101100100011001100100010010010010001001100110110010110100011001101011 53 & 07 53 & 05 !32 & 07 !(32 | !07) ID bit 5 to match 1101101001101011100001100010101110101110101010011110101000101011110011 13 | 12 ID bit 6 to match 0000000000000000011111111111111000000000000000000011111111111111110010 18 | 17 18 ^ 17 !(!18 ^ 17) !(18 ^ !17) 17 | 16 17 ^ 16 !(!17 ^ 16) !(17 ^ !16) ID bit 7 to match 0000000000000000011111111111110000000000000000000011111111111111110011 Exact match(es): !22 ID bit 8 to match 0101011011011001000100100001100010010101100111001010101000011001010010 Exact match(es): !27, !25 ID bit 9 to match 0011000111000111000011010100010001101100011110111001100100000111000100 35 ^ 32 !(!35 ^ 32) !(35 ^ !32) ID bit 10 to match 1000100000100000100000000000000100000010000000000000000000000000000000 Exact match(es): 37 ID bit 11 to match 0000000000000000010000001000000000000000000000000000000010000000000001 47 ^ 44 !47 & 44 !(!47 ^ 44) !(47 | !44) !(47 ^ !44) !47 & 43 !(47 | !43) !(47 | 30) !47 & 29 !(47 | !29) !(47 | 26) !47 & 24 !(47 | !24) !(47 | 22) !(47 | 20)
ID bit 5 bit difference results
Comparing pairs of nearly identical cards whose ID values differ by 32. The sole difference that these cards have are with bits 12 and 13. Setting bits 12 and 13 to 1 sets ID bit 5 with a zero-sum change to other card bits.
Since ID 248 is a valid C6 card, clearing bits 12 and 13 should produce a valid C6 card with an ID of 216 (C6FEF696AB02C4B6). Unfortunately, there is no such item.
egrep "(0201|0233)" c6_test.txt | ./bit_diff.pl 11 Description VPID Barcode 32 ----------------------------------------------- Egg_chameleon 0201 C6FEDF96AB02C646 00 0x00c9 0b0000000011001001 Egg_grasssnake 0233 C6FEDF96AB02F646 11 0x00e9 0b0000000011101001 egrep "(0287|0319)" c6_test.txt | ./bit_diff.pl 11 Description VPID Barcode 32 ----------------------------------------------- Egg_sheep 0287 C27ADF96E548C4B6 00 0x011f 0b0000000100011111 Egg_cow 0319 C27ADF96E548F4B6 11 0x013f 0b0000000100111111 egrep "(0473|0505)" c6_test.txt | ./bit_diff.pl 11 Description VPID Barcode 32 ----------------------------------------------- Seed_hemlock 0473 C6FEDF96E402C4B6 00 0x01d9 0b0000000111011001 Home_bat 0505 C6FEDF96E402F4B6 11 0x01f9 0b0000000111111001 egrep "(0525|0557)" c6_test.txt | ./bit_diff.pl 11 Description VPID Barcode 32 ----------------------------------------------- Home_crocodile 0525 C26EDF9EAA48C646 00 0x020d 0b0000001000001101 Home_hedgehog 0557 C26EDF9EAA48F646 11 0x022d 0b0000001000101101 egrep "(0713|0745)" c6_test.txt | ./bit_diff.pl 11 Description VPID Barcode 32 ----------------------------------------------- Produce_marmalade 0713 C6FEDF9EAB02C646 00 0x02c9 0b0000001011001001 Prop_haybail 0745 C6FEDF9EAB02F646 11 0x02e9 0b0000001011101001 egrep "(0799|0831)" c6_test.txt | ./bit_diff.pl 11 Description VPID Barcode 32 ----------------------------------------------- Prop_totemskunk 0799 C27ADF9EE548C4B6 00 0x031f 0b0000001100011111 Prop_oillmap 0831 C27ADF9EE548F4B6 11 0x033f 0b0000001100111111
ID bit 3 bit difference results
Unrelated to the Egg_hydra -> Egg_dinosaur change, but an interesting method to identify obfuscated bit changes for a particular ID bit (e.g., ID bit 3).
grep "_24[08]\." VP2Beta/barcodes.txt | ./barcodetxt2bitdiff.pl --short | ./bit_diff.pl 660 Description VPID Barcode 204 ------------------------------------------------ Egg_hydra 0240 96FEF696AB02F4A6 010 0x00f0 0b0000000011110000 Egg_lion 0248 C6FEF696AB02F4B6 101 0x00f8 0b0000000011111000