Go Back   The 75 and ZT Owners Club Forums > The 75 and ZT Owners Club Forums > Technical Help Forum
Register FAQ Image Gallery Members List Calendar
Notices

Reply
 
Thread Tools Display Modes
Old 16th July 2013, 21:29   #11
Phil-T4
I really should get out more.......
 
Phil-T4's Avatar
 
MG ZT-T, Rover 75 Tourer

Join Date: Mar 2011
Location: Olney
Posts: 2,969
Thanks: 245
Thanked 1,088 Times in 657 Posts
Default

Well it did help that some other systems on the 75 use a similar form of encoding
Phil-T4 is offline   Reply With Quote
Old 16th July 2013, 22:11   #12
Anthony & Maricel
This is my second home
 
Rover 75 Connoisseur 1.8L pre production S573 AOX Vin 001493 Feb 1999

Join Date: Mar 2011
Location: Leicester
Posts: 5,145
Thanks: 642
Thanked 318 Times in 259 Posts
Default

Ohh I see you augment standard hex for the hex table to convert numbers and letters to a ASCII format.
Anthony & Maricel is offline   Reply With Quote
Old 16th July 2013, 22:47   #13
maintenanceman
Gets stuck in
 
maintenanceman's Avatar
 
75 CDTi Connoisseur SE Tourer, MGF vvc, 1963 MGB

Join Date: Aug 2012
Location: Cheltenham
Posts: 658
Thanks: 38
Thanked 20 Times in 16 Posts
Default Code breakers!

Quote:
Originally Posted by Phil-T4 View Post
I'm feeling pretty pleased with myself as it only took me 3 hours to work this out..

Here is your challenge if you wish to accept it

Here are two encoded VIN numbers that i read from different EWS ecu's.

1C29B6D371D64B0CD088241041
1C29B6D345544C896046084046

Here are the decoded VIN's for the above

SARRJSTPB3D289111
SARRJHLHCYM162416

How is it done?

Good Luck
Phil
Interesting solution!

They are always advertising for code breakers at that big doughnut shaped building here in Cheltenham if you fancy a career/job change!
maintenanceman is offline   Reply With Quote
Old 17th July 2013, 08:27   #14
Mark2000cc
This is my second home
 
Mark2000cc's Avatar
 
MG ZT CDTI

Join Date: Jun 2011
Location: Sutton in ashfield
Posts: 6,751
Thanks: 1,017
Thanked 699 Times in 501 Posts
Default

I worked it out straight away, I just didn't want to make you all look silly
__________________
http://i1151.photobucket.com/albums/...b595c11ba6.jpgStill going strong!
Mark2000cc is offline   Reply With Quote
Old 29th July 2013, 15:28   #15
Avulon
This is my second home
 
1.8t Tourer

Join Date: Oct 2011
Location: Tanelorn
Posts: 4,830
Thanks: 956
Thanked 1,148 Times in 916 Posts
Default

Still can't get this to work all the way through, I follow up to SAR and then depending what I do I can get the next R or going a different way not get the next R but get the J correct, I can't get anything beyond that right
__________________
Need a T4 ?: T4 Owners Map thanks to Stevestrat ( use at your own risk)

Where?:
https://en.wikipedia.org/wiki/Tanelorn
Mods/Retrofits:

PCV vortex 'filter'; bluetooth; inline thermostat; reversing sensors; plenum spyhole ; headlamp washers ; Diy mp3 player replacing CD multichanger; FBH with remote; Headlamp washers; black/chrome front grille, rear blind; Xenon projectors
To do:
puddle lights; 2 Din cd/nav to fit; boot release button
Avulon is offline   Reply With Quote
Old 29th July 2013, 16:36   #16
Phil-T4
I really should get out more.......
 
Phil-T4's Avatar
 
MG ZT-T, Rover 75 Tourer

Join Date: Mar 2011
Location: Olney
Posts: 2,969
Thanks: 245
Thanked 1,088 Times in 657 Posts
Default The Answer......

Does this help?

Code:
   public byte[] find_VIN(byte[] EWS_image)
        {
            byte[] sbPtr = new byte[17];
            sbPtr[0] = vindecode.KeyQuery(EWS_image[0]);
            sbPtr[1] = vindecode.KeyQuery(Convert.ToByte(EWS_image[1] / 0x04));
            sbPtr[2] = vindecode.KeyQuery(Convert.ToByte((EWS_image[1] % 0x04 * 0x10) + (EWS_image[2] / 0x10)));
            sbPtr[3] = vindecode.KeyQuery(Convert.ToByte(((EWS_image[3] / 0x10) + (EWS_image[2] % 0x10 * 0x10)) / 0x04));
            sbPtr[4] = vindecode.KeyQuery(Convert.ToByte((((EWS_image[3] / 0x10) % 0x04) * 0x10) + (EWS_image[3] % 0x10 % 0x10)));
            sbPtr[5] = vindecode.KeyQuery(Convert.ToByte(EWS_image[4] / 0x04));
            sbPtr[6] = vindecode.KeyQuery(Convert.ToByte(((EWS_image[5] / 0x10) + (EWS_image[4] % 0x04) * 0x10)));
            sbPtr[7] = vindecode.KeyQuery(Convert.ToByte(((EWS_image[6] / 0x10) + (EWS_image[5] % 0x10 * 0x10)) / 0x04));
            sbPtr[8] = vindecode.KeyQuery(Convert.ToByte((((EWS_image[6] / 0x10) % 0x04) * 0x10) + (EWS_image[6] % 0x10)));
            sbPtr[9] = vindecode.KeyQuery(Convert.ToByte(EWS_image[7] / 0x04));
            sbPtr[10] = vindecode.KeyQuery(Convert.ToByte((EWS_image[7] % 0x04 * 0x10) + (EWS_image[8] / 0x10)));
            sbPtr[11] = vindecode.KeyQuery(Convert.ToByte(((EWS_image[8] % 0x10 * 0x10) + (EWS_image[9] / 0x10)) / 0x04));
            sbPtr[12] = vindecode.KeyQuery(Convert.ToByte((((EWS_image[9] / 0x10) % 0x04) * 0x10) + (EWS_image[9] % 0x10)));
            sbPtr[13] = vindecode.KeyQuery(Convert.ToByte(EWS_image[10] / 0x04));
            sbPtr[14] = vindecode.KeyQuery(Convert.ToByte((EWS_image[10] % 0x04 * 0x10) + (EWS_image[11] / 0x10)));
            sbPtr[15] = vindecode.KeyQuery(Convert.ToByte(((EWS_image[11] % 0x10 * 0x10) + (EWS_image[12] / 0x10)) / 0x04));
            sbPtr[16] = vindecode.KeyQuery(Convert.ToByte((((EWS_image[12] / 0x10) % 4) * 0x10) + (EWS_image[12] % 0x10)));
            Program.ews_vin = System.Text.Encoding.Default.GetString(sbPtr);
            return sbPtr;
            }
Phil-T4 is offline   Reply With Quote
Old 29th July 2013, 16:56   #17
Anthony & Maricel
This is my second home
 
Rover 75 Connoisseur 1.8L pre production S573 AOX Vin 001493 Feb 1999

Join Date: Mar 2011
Location: Leicester
Posts: 5,145
Thanks: 642
Thanked 318 Times in 259 Posts
Default

Quote:
Originally Posted by Avulon View Post
Still can't get this to work all the way through, I follow up to SAR and then depending what I do I can get the next R or going a different way not get the next R but get the J correct, I can't get anything beyond that right
Use this table to decode the vin data, the key is to add, multiply and divide in Hex.

1C 29 B6 D3 71 D6 4B 0C D0 88 24 10 41
1C 29 B6 D3 45 54 4C 89 60 46 08 40 46

Hex Let
0A= A
0B= B
0C= C
0D= D
0E= E
0F= F
10= G
11= H
12= I
13= J
14= K
15= L
16= M
17= N
18= O
19= P
1A= Q
1B= R
1C= S
1D= T
1E= U
1F= V
20= W
21= X
22= Y
23= Z

Last edited by Anthony & Maricel; 29th July 2013 at 18:01..
Anthony & Maricel is offline   Reply With Quote
Old 29th July 2013, 19:00   #18
Avulon
This is my second home
 
1.8t Tourer

Join Date: Oct 2011
Location: Tanelorn
Posts: 4,830
Thanks: 956
Thanked 1,148 Times in 916 Posts
Default

Got it now, I hadn't appreciated that the encoding pattern repeated every 4 characters (not counting the very first ), I was assuming that it progressed, using pairs of input bytes.

i.e.

0 = 0
1 = 1/4
2 = 1 and 2
3 = 2 and 3
4 = 3 and 4
5 = 4 and 5 ...
and so on

Cheers.
__________________
Need a T4 ?: T4 Owners Map thanks to Stevestrat ( use at your own risk)

Where?:
https://en.wikipedia.org/wiki/Tanelorn
Mods/Retrofits:

PCV vortex 'filter'; bluetooth; inline thermostat; reversing sensors; plenum spyhole ; headlamp washers ; Diy mp3 player replacing CD multichanger; FBH with remote; Headlamp washers; black/chrome front grille, rear blind; Xenon projectors
To do:
puddle lights; 2 Din cd/nav to fit; boot release button
Avulon is offline   Reply With Quote
Old 8th March 2014, 19:12   #19
Conni
Regular poster
 
Rover 75 Saloon and MG ZT-T

Join Date: Mar 2013
Location: 42551 Velbert
Posts: 45
Thanks: 8
Thanked 6 Times in 4 Posts
Default

Quote:
Originally Posted by Phil-T4 View Post
Does this help?

Code:
   public byte[] find_VIN(byte[] EWS_image)
        {
            byte[] sbPtr = new byte[17];
            sbPtr[0] = vindecode.KeyQuery(EWS_image[0]);
            sbPtr[1] = vindecode.KeyQuery(Convert.ToByte(EWS_image[1] / 0x04));
            sbPtr[2] = vindecode.KeyQuery(Convert.ToByte((EWS_image[1] % 0x04 * 0x10) + (EWS_image[2] / 0x10)));
            sbPtr[3] = vindecode.KeyQuery(Convert.ToByte(((EWS_image[3] / 0x10) + (EWS_image[2] % 0x10 * 0x10)) / 0x04));
            sbPtr[4] = vindecode.KeyQuery(Convert.ToByte((((EWS_image[3] / 0x10) % 0x04) * 0x10) + (EWS_image[3] % 0x10 % 0x10)));
            sbPtr[5] = vindecode.KeyQuery(Convert.ToByte(EWS_image[4] / 0x04));
            sbPtr[6] = vindecode.KeyQuery(Convert.ToByte(((EWS_image[5] / 0x10) + (EWS_image[4] % 0x04) * 0x10)));
            sbPtr[7] = vindecode.KeyQuery(Convert.ToByte(((EWS_image[6] / 0x10) + (EWS_image[5] % 0x10 * 0x10)) / 0x04));
            sbPtr[8] = vindecode.KeyQuery(Convert.ToByte((((EWS_image[6] / 0x10) % 0x04) * 0x10) + (EWS_image[6] % 0x10)));
            sbPtr[9] = vindecode.KeyQuery(Convert.ToByte(EWS_image[7] / 0x04));
            sbPtr[10] = vindecode.KeyQuery(Convert.ToByte((EWS_image[7] % 0x04 * 0x10) + (EWS_image[8] / 0x10)));
            sbPtr[11] = vindecode.KeyQuery(Convert.ToByte(((EWS_image[8] % 0x10 * 0x10) + (EWS_image[9] / 0x10)) / 0x04));
            sbPtr[12] = vindecode.KeyQuery(Convert.ToByte((((EWS_image[9] / 0x10) % 0x04) * 0x10) + (EWS_image[9] % 0x10)));
            sbPtr[13] = vindecode.KeyQuery(Convert.ToByte(EWS_image[10] / 0x04));
            sbPtr[14] = vindecode.KeyQuery(Convert.ToByte((EWS_image[10] % 0x04 * 0x10) + (EWS_image[11] / 0x10)));
            sbPtr[15] = vindecode.KeyQuery(Convert.ToByte(((EWS_image[11] % 0x10 * 0x10) + (EWS_image[12] / 0x10)) / 0x04));
            sbPtr[16] = vindecode.KeyQuery(Convert.ToByte((((EWS_image[12] / 0x10) % 4) * 0x10) + (EWS_image[12] % 0x10)));
            Program.ews_vin = System.Text.Encoding.Default.GetString(sbPtr);
            return sbPtr;
            }
Hello Phil and All,

to the code-script I have two questions.

1.) In the line sbPtr[4] is writen at the end % 0x10 % 0x10
Is this correct or is there a typing mistake ?

2.) In the line sbPtr[16] is writen % 4
I think it should be % 0x04 otherwise the computer will not know
that it is a hexadecimal number.

It can of course also be a mistake on my part. What do you think of that ?
I wait with interest for an answer to this.

Best wishes to All

Conni
__________________
[SIGPIC]Test-Signature[/SIGPIC]
Conni is offline   Reply With Quote
Old 8th March 2014, 19:49   #20
Phil-T4
I really should get out more.......
 
Phil-T4's Avatar
 
MG ZT-T, Rover 75 Tourer

Join Date: Mar 2011
Location: Olney
Posts: 2,969
Thanks: 245
Thanked 1,088 Times in 657 Posts
Default

Quote:

1.) In the line sbPtr[4] is writen at the end % 0x10 % 0x10
Is this correct or is there a typing mistake ?
Correct

Quote:
2.) In the line sbPtr[16] is writen % 4
I think it should be % 0x04 otherwise the computer will not know
that it is a hexadecimal number.
Doesn't matter, decimal 4 is the same as hex 4, the compiler doesn't care how its written but to keep it neat then yes it should have been written as 0x04
Phil-T4 is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:31.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Copyright © 2006-2023, The Rover 75 & MG ZT Owners Club Ltd