Difference between revisions of "Piñata Vision barcode/Name bits"

From PinataIsland.info, the Viva Piñata wiki
Jump to: navigation, search
(New page: __NOTOC__ == Matching names == The following cards have similar second barcode rows and matching last bytes for row 2, raising the possibility that row 2 is obfuscated differently from ro...)
 
(Add example of searching for and decoding name characters from the barcode.)
Line 48: Line 48:
 
C02EFAB3FC45C649 F29EE298258F17B2 Horstachio-TroubleInParadise-Black-(Kai-)PV.jpg
 
C02EFAB3FC45C649 F29EE298258F17B2 Horstachio-TroubleInParadise-Black-(Kai-)PV.jpg
 
EE89E1A8D8E56D27 F2D5E29D458F37B2 DesertSyrupent-TroubleInParadise-Black-Ben-PV.jpg
 
EE89E1A8D8E56D27 F2D5E29D458F37B2 DesertSyrupent-TroubleInParadise-Black-Ben-PV.jpg
 +
</pre>
 +
 +
== Decoded names ==
 +
 +
Drop row 1 from the barcode to focus on row 2.  Change IDs to match the ASCII value of the name's 2nd character  (e.g., Kieran, i = 105 decimal).
 +
 +
<pre>
 +
% grep Blackariants barcodes.txt | cut -d" " -f2 | egrep '^[0-9A-F]{15}C' | sort | ./barcodetxt2bitdiff.pl --short
 +
Black_unicorn          114    1098FCBC0C65C0AC        Francesca
 +
Black_snailpest        105    144263E69C8B58AC        Kieran
 +
Black_bluebottle        101    2754CB15FAFBD6AC        Henry
 +
Black_chameleon        105    30B040B6BFBB599C        Finlay
 +
Black_pony              101    35542B15FBEBC7AC        Keira
 +
Black_orangebutterfl    101    71B6E394DCDEE3BC        Benjamin
 +
Black_whitebutterfly    117    909008F68F9B18BC        Summer
 +
Black_fox              104    945FD18B2F50D4AC        Rhys
 +
Black_bear              97      945FD4B86C41E59C        Maya
 +
Black_penguin          97      94826266BE9B188C        Daniel
 +
Black_snowtiger        121    95B02B15FBF9F3AC        Lydia
 +
Black_cow              108    C1802815F8CAC3AC        Ellie
 +
Black_sandant          105    E6769697BF19E6FC        Mia
 +
</pre>
 +
 +
The reader script decodes the columns holding character 2 of the name, and the decoded values are a match.
 +
 +
<pre>
 +
% ./reader.pl  black_variant_names_c.txt
 +
Black_unicorn      114 1098FCBC0C65C0AC ID = 01110010  114
 +
Black_snailpest    105 144263E69C8B58AC ID = 01101001  105
 +
Black_bluebottle    101 2754CB15FAFBD6AC ID = 01100101  101
 +
Black_chameleon    105 30B040B6BFBB599C ID = 01101001  105
 +
Black_pony          101 35542B15FBEBC7AC ID = 01100101  101
 +
Black_orangebutterfl 101 71B6E394DCDEE3BC ID = 01100101  101
 +
Black_whitebutterfly 117 909008F68F9B18BC ID = 01110101  117
 +
Black_fox          104 945FD18B2F50D4AC ID = 01101000  104
 +
Black_bear          97 945FD4B86C41E59C ID = 01100001  97
 +
Black_penguin      97 94826266BE9B188C ID = 01100001  97
 +
Black_snowtiger    121 95B02B15FBF9F3AC ID = 01111001  121
 +
Black_cow          108 C1802815F8CAC3AC ID = 01101100  108
 +
Black_sandant      105 E6769697BF19E6FC ID = 01101001  105
 +
</pre>
 +
 +
Repeating the same process to look for columns matching ASCII values for the following 3 characters, we can read name data from the barcode.  It looks like the name field has an (undiscovered) length "byte," since the name data does not appear to be zero-terminated.
 +
 +
<pre>
 +
% ./reader.pl --names black_variant_names_character5_c.txt
 +
Black_unicorn      99 1098FCBC0C65C0AC Francesca Name = ranc
 +
Black_snailpest    97 144263E69C8B58AC Kieran  Name = iera
 +
Black_bluebottle    121 2754CB15FAFBD6AC Henry  Name = enry
 +
Black_chameleon    97 30B040B6BFBB599C Finlay  Name = inla
 +
Black_pony          97 35542B15FBEBC7AC Keira  Name = eira
 +
Black_orangebutterfl 97 71B6E394DCDEE3BC Benjamin Name = enja
 +
Black_whitebutterfly 101 909008F68F9B18BC Summer  Name = umme
 +
Black_fox          0 945FD18B2F50D4AC Rhys    Name = hysb
 +
Black_bear          0 945FD4B86C41E59C Maya    Name = ayaf
 +
Black_penguin      101 94826266BE9B188C Daniel  Name = anie
 +
Black_snowtiger    97 95B02B15FBF9F3AC Lydia  Name = ydia
 +
Black_cow          101 C1802815F8CAC3AC Ellie    Name = llie
 +
Black_sandant      0 E6769697BF19E6FC Mia    Name = iag}
 +
</pre>
 +
 +
Unfortunately, the good (other) variants don't appear to keep their name data in the same location.  One possibility is that the GoodVariant cards have additional data located before the name data, which shifts the underlying name data in the structure.
 +
 +
<pre>
 +
./reader.pl --names names_c.txt
 +
Black_unicorn      114 1098FCBC0C65C0AC Francesca Name = ranc
 +
Black_snailpest    105 144263E69C8B58AC Kieran  Name = iera
 +
Black_bluebottle    101 2754CB15FAFBD6AC Henry  Name = enry
 +
Good_hydra          97 308023D28DBA80AC Jayden  Name = tll`
 +
Black_chameleon    105 30B040B6BFBB599C Finlay  Name = inla
 +
Black_pony          101 35542B15FBEBC7AC Keira  Name = eira
 +
Good_chameleon      109 36B268A68FBBB0BC Amelia  Name = ilhy
 +
Black_orangebutterfl 101 71B6E394DCDEE3BC Benjamin Name = enja
 +
Black_whitebutterfly 117 909008F68F9B18BC Summer  Name = umme
 +
Black_fox          104 945FD18B2F50D4AC Rhys    Name = hysb
 +
Black_bear          97 945FD4B86C41E59C Maya    Name = ayaf
 +
Good_vulture        118 945FD5B17C41D49C Evie    Name = a}ab
 +
Black_penguin      97 94826266BE9B188C Daniel  Name = anie
 +
Black_snowtiger    121 95B02B15FBF9F3AC Lydia  Name = ydia
 +
Good_armadillo      116 97913855FD31E78C Ethan  Name = yriy
 +
Black_cow          108 C1802815F8CAC3AC Ellie  Name = llie
 +
Good_snail          108 C1926815FC94F7AC Alice  Name = u`ie
 +
Black_sandant      105 E6769697BF19E6FC Mia    Name = iag}
 +
Good_bat            105 E676CF169F09E6FC Mia    Name = icgy
 
</pre>
 
</pre>

Revision as of 07:07, 27 July 2010

Matching names

The following cards have similar second barcode rows and matching last bytes for row 2, raising the possibility that row 2 is obfuscated differently from row 1's obfuscation (set).

These cards also share pinata names.

Ava

9FBEF59DCF5DD656 8683F11D287FC206	Bunnycomb-TroubleInParadise-BrightPink-PV.jpg
A2F8D48C480E9EFA 8683F11D2DED9606	Buzzenge-TroubleInParadise-Black-Ava-PV.jpg

Harley

97B6A3855B66CF88 5168F4494A171D81	Elephanilla-TroubleInParadise-PaleBlue-PV.jpg
D37649004D560805 5168F44A4A161D91	Dragumfly-TroubleInParadise-PaleBlueRed-PV.jpg
D1EBE85E5810F7AE 5168F4594AA61BF1	Mothdrop-TroubleInParadise-Black-PV.jpg

Aimee

9A586E134C0BCD3C D26B28D7670ED64E	Roario-TroubleInParadise-Pink-PV.jpg
E17EC6B36C459649 D26B68C6F50ED64E	Tartridge-TroubleInParadise-Black-PV.jpg

Mia

836195952A2BC52B E6769697BF19E6FC	DesertRaisant-TroubleInParadise-Black-Mia-PV.jpg
E4653B3B3F14538F E676CF169F09E6FC	Sherbat-TroubleInParadise-Blue-PV.jpg

Non-matching names

The following cards have similar second barcode rows and matching last bytes for row 2, but their pinata names are different. However, their names are all the same length, raising the possibility that a) there is a length "byte" for the name field, and b) the row 2 obfuscation set selection involves bits from that field.

D4FBCA4E0F98F7AE 945FD18B2F50D4AC	Pretztail-TroubleInParadise-Black-Rhys-PV.jpg
D772B9106F1F0425 945FD4B86C41E59C	Fizzlybear-TroubleInParadise-Black-Maya-PV.jpg
9A586E134D21E62C 945FD5B17C41D49C	Vulchurro-TroubleInParadise-Green-Evie-PV.jpg
E7BCB0A0D0C52D37 F283E298458F17B2	ArcticBunnycomb-TroubleInParadise-Black-(Leo-)PV.jpg
C02EFAB3FC45C649 F29EE298258F17B2	Horstachio-TroubleInParadise-Black-(Kai-)PV.jpg
EE89E1A8D8E56D27 F2D5E29D458F37B2	DesertSyrupent-TroubleInParadise-Black-Ben-PV.jpg

Decoded names

Drop row 1 from the barcode to focus on row 2. Change IDs to match the ASCII value of the name's 2nd character (e.g., Kieran, i = 105 decimal).

% grep Blackariants barcodes.txt | cut -d" " -f2 | egrep '^[0-9A-F]{15}C' | sort | ./barcodetxt2bitdiff.pl --short
Black_unicorn           114     1098FCBC0C65C0AC        Francesca
Black_snailpest         105     144263E69C8B58AC        Kieran
Black_bluebottle        101     2754CB15FAFBD6AC        Henry
Black_chameleon         105     30B040B6BFBB599C        Finlay
Black_pony              101     35542B15FBEBC7AC        Keira
Black_orangebutterfl    101     71B6E394DCDEE3BC        Benjamin
Black_whitebutterfly    117     909008F68F9B18BC        Summer
Black_fox               104     945FD18B2F50D4AC        Rhys
Black_bear              97      945FD4B86C41E59C        Maya
Black_penguin           97      94826266BE9B188C        Daniel
Black_snowtiger         121     95B02B15FBF9F3AC        Lydia
Black_cow               108     C1802815F8CAC3AC        Ellie
Black_sandant           105     E6769697BF19E6FC        Mia

The reader script decodes the columns holding character 2 of the name, and the decoded values are a match.

% ./reader.pl  black_variant_names_c.txt 
Black_unicorn       	114	1098FCBC0C65C0AC	 ID = 01110010  114
Black_snailpest     	105	144263E69C8B58AC	 ID = 01101001  105
Black_bluebottle    	101	2754CB15FAFBD6AC	 ID = 01100101  101
Black_chameleon     	105	30B040B6BFBB599C	 ID = 01101001  105
Black_pony          	101	35542B15FBEBC7AC	 ID = 01100101  101
Black_orangebutterfl	101	71B6E394DCDEE3BC	 ID = 01100101  101
Black_whitebutterfly	117	909008F68F9B18BC	 ID = 01110101  117
Black_fox           	104	945FD18B2F50D4AC	 ID = 01101000  104
Black_bear          	97	945FD4B86C41E59C	 ID = 01100001   97
Black_penguin       	97	94826266BE9B188C	 ID = 01100001   97
Black_snowtiger     	121	95B02B15FBF9F3AC	 ID = 01111001  121
Black_cow           	108	C1802815F8CAC3AC	 ID = 01101100  108
Black_sandant       	105	E6769697BF19E6FC	 ID = 01101001  105

Repeating the same process to look for columns matching ASCII values for the following 3 characters, we can read name data from the barcode. It looks like the name field has an (undiscovered) length "byte," since the name data does not appear to be zero-terminated.

 % ./reader.pl --names black_variant_names_character5_c.txt
Black_unicorn       	99	1098FCBC0C65C0AC	Francesca	Name = ranc
Black_snailpest     	97	144263E69C8B58AC	Kieran  	Name = iera
Black_bluebottle    	121	2754CB15FAFBD6AC	Henry   	Name = enry
Black_chameleon     	97	30B040B6BFBB599C	Finlay  	Name = inla
Black_pony          	97	35542B15FBEBC7AC	Keira   	Name = eira
Black_orangebutterfl	97	71B6E394DCDEE3BC	Benjamin 	Name = enja
Black_whitebutterfly	101	909008F68F9B18BC	Summer  	Name = umme
Black_fox           	0	945FD18B2F50D4AC	Rhys     	Name = hysb
Black_bear          	0	945FD4B86C41E59C	Maya    	Name = ayaf
Black_penguin       	101	94826266BE9B188C	Daniel  	Name = anie
Black_snowtiger     	97	95B02B15FBF9F3AC	Lydia   	Name = ydia
Black_cow           	101	C1802815F8CAC3AC	Ellie    	Name = llie
Black_sandant       	0	E6769697BF19E6FC	Mia     	Name = iag}

Unfortunately, the good (other) variants don't appear to keep their name data in the same location. One possibility is that the GoodVariant cards have additional data located before the name data, which shifts the underlying name data in the structure.

./reader.pl --names names_c.txt 
Black_unicorn       	114	1098FCBC0C65C0AC	Francesca	Name = ranc
Black_snailpest     	105	144263E69C8B58AC	Kieran  	Name = iera
Black_bluebottle    	101	2754CB15FAFBD6AC	Henry   	Name = enry
Good_hydra          	97	308023D28DBA80AC	Jayden  	Name = tll`
Black_chameleon     	105	30B040B6BFBB599C	Finlay  	Name = inla
Black_pony          	101	35542B15FBEBC7AC	Keira   	Name = eira
Good_chameleon      	109	36B268A68FBBB0BC	Amelia  	Name = ilhy
Black_orangebutterfl	101	71B6E394DCDEE3BC	Benjamin 	Name = enja
Black_whitebutterfly	117	909008F68F9B18BC	Summer  	Name = umme
Black_fox           	104	945FD18B2F50D4AC	Rhys    	Name = hysb
Black_bear          	97	945FD4B86C41E59C	Maya    	Name = ayaf
Good_vulture        	118	945FD5B17C41D49C	Evie    	Name = a}ab
Black_penguin       	97	94826266BE9B188C	Daniel  	Name = anie
Black_snowtiger     	121	95B02B15FBF9F3AC	Lydia   	Name = ydia
Good_armadillo      	116	97913855FD31E78C	Ethan   	Name = yriy
Black_cow           	108	C1802815F8CAC3AC	Ellie   	Name = llie
Good_snail          	108	C1926815FC94F7AC	Alice   	Name = u`ie
Black_sandant       	105	E6769697BF19E6FC	Mia     	Name = iag}
Good_bat            	105	E676CF169F09E6FC	Mia     	Name = icgy