Login Register

Vida CEM swapping

A mid-size luxury crossover SUV, the Volvo XC90 made its debut in 2002 at the Detroit Motor Show. Recognized for its safety, practicality, and comfort, the XC90 is a popular vehicle around the world. The XC90 proved to be very popular, and very good for Volvo's sales numbers, since its introduction in model year 2003 (North America). P2 platform.
Post Reply
User avatar
RickHaleParker
Posts: 7129
Joined: 25 May 2015
Year and Model: See Signature below.
Location: Kansas
Has thanked: 8 times
Been thanked: 958 times

Re: Vida CEM swapping

Post by RickHaleParker »

vtl wrote: 23 Apr 2022, 11:08 Any real world examples of SPA pin + seed + key?
Seed / key pairs have been dug out of VIDA logs. Each pair leads to 65536 collisions. I am running a proof to determine if all 65536 will work as valid PINS. So far it looks like it is so.
⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙
1998 C70, B5234T3, 16T, AW50-42, Bosch Motronic 4.4, Special Edition package.
2003 S40, B4204T3, 14T twin scroll AW55-50/51SN, Siemens EMS 2000.
2004 S60R, B8444S TF80 AWD. Yamaha V8 conversion
2005 XC90 T6 Executive, B6294T, 4T65 AWD, Bosch Motronic 7.0.

User avatar
RickHaleParker
Posts: 7129
Joined: 25 May 2015
Year and Model: See Signature below.
Location: Kansas
Has thanked: 8 times
Been thanked: 958 times

Post by RickHaleParker »

I think of one where to run a P3 as Hex it would also produce 65536 collisions. If a SPA was ran as BCD it would get the same results you got with the P3. It not conclusive but it looking like what works on a P3 works on a SPA and vice versa as far as unlocking security level 1 goes.
⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙
1998 C70, B5234T3, 16T, AW50-42, Bosch Motronic 4.4, Special Edition package.
2003 S40, B4204T3, 14T twin scroll AW55-50/51SN, Siemens EMS 2000.
2004 S60R, B8444S TF80 AWD. Yamaha V8 conversion
2005 XC90 T6 Executive, B6294T, 4T65 AWD, Bosch Motronic 7.0.

vtl  
Posts: 4727
Joined: 16 August 2012
Year and Model: 2005 XC70
Location: Boston
Has thanked: 114 times
Been thanked: 606 times

Post by vtl »

That would take around 2h30m using my staged hash algo on a 3GHz CPU using 1 thread. Matching the very first hash hit is a fraction of second.

User avatar
RickHaleParker
Posts: 7129
Joined: 25 May 2015
Year and Model: See Signature below.
Location: Kansas
Has thanked: 8 times
Been thanked: 958 times

Post by RickHaleParker »

vtl wrote: 23 Apr 2022, 11:26 That would take around 2h30m using my staged hash algo on a 3GHz CPU using 1 thread. Matching the very first hash hit is a fraction of second.
I calculated 2.75 hours. I thinking if it can be done use BCD on the P5 & P6. Everything will go faster. I already cooking a algo using your staged hash to beat the UDS timeout on the P5 & P6.
⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙
1998 C70, B5234T3, 16T, AW50-42, Bosch Motronic 4.4, Special Edition package.
2003 S40, B4204T3, 14T twin scroll AW55-50/51SN, Siemens EMS 2000.
2004 S60R, B8444S TF80 AWD. Yamaha V8 conversion
2005 XC90 T6 Executive, B6294T, 4T65 AWD, Bosch Motronic 7.0.

User avatar
RickHaleParker
Posts: 7129
Joined: 25 May 2015
Year and Model: See Signature below.
Location: Kansas
Has thanked: 8 times
Been thanked: 958 times

Post by RickHaleParker »

Come to think of it the staged hash could be used to speed up your P3 crack if you do it on the host.
⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙
1998 C70, B5234T3, 16T, AW50-42, Bosch Motronic 4.4, Special Edition package.
2003 S40, B4204T3, 14T twin scroll AW55-50/51SN, Siemens EMS 2000.
2004 S60R, B8444S TF80 AWD. Yamaha V8 conversion
2005 XC90 T6 Executive, B6294T, 4T65 AWD, Bosch Motronic 7.0.

User avatar
RickHaleParker
Posts: 7129
Joined: 25 May 2015
Year and Model: See Signature below.
Location: Kansas
Has thanked: 8 times
Been thanked: 958 times

Post by RickHaleParker »

vtl wrote: 22 Apr 2022, 10:25 The worst case would be a hit with pin 00 99 99 99 99, which would take almost 63 hours at your speed.
00 99 99 99 99 not 99 99 99 99 99?
There might be a way to reduce the maximum number of tries to 16,777,216 by means of brute force. That would be a 83.22% reduction over 00 99 99 99 99.

Assuming whats true for the SPA is true for the P3. Do the search in Hexadecimal rather then BCD. In Hexadecimal there is one collision, no more no less, for each B0, B1 set. ( (B0 B1) B2 B3 B4 ) 256^3 = 16,777,216 ( B2 - B4 ). After you got a valid Seed / Key pair, switch to BCD for the PIN finder function.
⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙
1998 C70, B5234T3, 16T, AW50-42, Bosch Motronic 4.4, Special Edition package.
2003 S40, B4204T3, 14T twin scroll AW55-50/51SN, Siemens EMS 2000.
2004 S60R, B8444S TF80 AWD. Yamaha V8 conversion
2005 XC90 T6 Executive, B6294T, 4T65 AWD, Bosch Motronic 7.0.

Power6
Posts: 14
Joined: 7 March 2022
Year and Model: 2019 S60
Location: MA
Has thanked: 1 time
Been thanked: 12 times

Post by Power6 »

vtl wrote: 23 Apr 2022, 11:08 Any real world examples of SPA pin + seed + key?
The algorithm is the same yes. How many examples do you need, I got plenty ;-) What would you like to see?

I've figured out the algorithm has some properties useful for security hashing that make the result always unique, the set of possible results per seed is maximal with no repeats, in a pseudo random order security of course. So no need to find every PIN match, you can look at a small set and always find a single match. This can be done with just ~17 million possible (2^24)

I see you are doing things a different way, breaking down the hashing, which is beyond my capability, but I am wondering if you have come to the same conclusion, that the actual set of PINs you need to check to find a match is not very large. Rick had been trying to explain your process to me, but I can't quite follow your code...

Power6
Posts: 14
Joined: 7 March 2022
Year and Model: 2019 S60
Location: MA
Has thanked: 1 time
Been thanked: 12 times

Post by Power6 »

RickHaleParker wrote: 23 Apr 2022, 11:36 I calculated 2.75 hours. I thinking if it can be done use BCD on the P5 & P6. Everything will go faster. I already cooking a algo using your staged hash to beat the UDS timeout on the P5 & P6.
Thanks for adding some clarity Rick. Are you talking about getting around the security timeout for seed/key on the ECU? That would be needed, but it's beyond me! One thing I have discovered, is the timeout from the ECU is rudimentary, it doesn't timeout for bad key, it times out from any 3 seed/key operation within a time frame, even successful!

User avatar
RickHaleParker
Posts: 7129
Joined: 25 May 2015
Year and Model: See Signature below.
Location: Kansas
Has thanked: 8 times
Been thanked: 958 times

Post by RickHaleParker »

Power6 wrote: 23 Apr 2022, 13:53 That would be needed, but it's beyond me! One thing I have discovered, is the timeout from the ECU is rudimentary, it doesn't timeout for bad key, it times out from any 3 seed/key operation within a time frame, even successful!
Did you get a length measurement of the timeout period?
⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙
1998 C70, B5234T3, 16T, AW50-42, Bosch Motronic 4.4, Special Edition package.
2003 S40, B4204T3, 14T twin scroll AW55-50/51SN, Siemens EMS 2000.
2004 S60R, B8444S TF80 AWD. Yamaha V8 conversion
2005 XC90 T6 Executive, B6294T, 4T65 AWD, Bosch Motronic 7.0.

Power6
Posts: 14
Joined: 7 March 2022
Year and Model: 2019 S60
Location: MA
Has thanked: 1 time
Been thanked: 12 times

Post by Power6 »

Not until I write a tool, can I get the timeout worked out, doing it in DSA is too slow clicking a button..

Post Reply
  • Similar Topics
    Replies
    Views
    Last post