Login Register

Vida CEM swapping

Post Reply
rp9
Posts: 3
Joined: 17 May 2021, 14:35
Year and Model: S80'08
Location: Lodz

Post by rp9 »

vtl wrote: 11 May 2021, 08:13 It was said multiple times that a good power source is mandatory. I flashed my bench CEM with a few dumps that people claimed uncrackable and got the pin in the very first pass.
In my case it is somehow the matter of the pin itself. Can you please set the pin to this one and try if it will be cracked (not shuffled, as is in flash): 57 99 91 53 67 58

vtl  
Posts: 4936
Joined: 16 Aug 2012, 13:35
Year and Model: 2005 XC70
Location: Boston
Has thanked: 130 times
Been thanked: 686 times

Post by vtl »

rp9 wrote: 17 May 2021, 14:41 In my case it is somehow the matter of the pin itself. Can you please set the pin to this one and try if it will be cracked (not shuffled, as is in flash): 57 99 91 53 67 58
Does it have a checksum? I've never changed anything in the dump.

From what I saw, the crackability depends on how the pin verification code is placed withing the address space (how it is aligned to something, like cache line or flash page?).

User avatar
RickHaleParker
Posts: 7208
Joined: 25 May 2015, 14:30
Year and Model: See Signature below.
Location: Kansas
Has thanked: 8 times
Been thanked: 980 times

Post by RickHaleParker »

Got a CEM-H on the bench. Cannot get it to communicate with the pin cracker. The cracker just sits and waits for the CEM CAN-LS to respond.

Power Supply: ( 13.8V 2.5A )
+13.8V => D:8 & D:15.
GND = D:6

CAN bus:
CAN-HS => D:33 & D:48.
CAN-LS => D:40 & D:55

Termination:
120Ω D:31 & D:46 ( CAN-HS )
120Ω D:34 & D:49 ( CAN-LS )

What am I missing?

PS: Found it. It was poor connections on the solderless breadboard.
Active
1998 C70, B5234T3, 16T, AW50-42, Bosch Motronic 4.4, Special Edition package.
2017 Ford PIU. 3.5l, Twin Turbo, 365 Hp.
............................
Past
2003 S40, B4204T3, 14T twin scroll AW55-50/51SN, Siemens EMS 2000. ( Killed by a plastic radiator. )
2004 S60R, B8444S TF80 AWD. Yamaha V8 conversion ( I moved, the project did not )
2005 XC90 T6 Executive, B6294T, 4T65 AWD, Bosch Motronic 7.0. ( Transmission dead after sitting for a winter )

rp9
Posts: 3
Joined: 17 May 2021, 14:35
Year and Model: S80'08
Location: Lodz

Post by rp9 »

vtl wrote: 17 May 2021, 14:49
rp9 wrote: 17 May 2021, 14:41 In my case it is somehow the matter of the pin itself. Can you please set the pin to this one and try if it will be cracked (not shuffled, as is in flash): 57 99 91 53 67 58
Does it have a checksum? I've never changed anything in the dump.

From what I saw, the crackability depends on how the pin verification code is placed withing the address space (how it is aligned to something, like cache line or flash page?).
No, it does not have any checksum. I modified it multiple times in the flash - it just works. I am asking for that, because in my case it somehow have problems guessing byte on position 2 if it is close to 100. If it is less then 50 - there are no problems with guessing correct value. Also, I already checked this pin on two different CEMs with different (probably) flash versions - in the car and on the bench. Same result.

vtl  
Posts: 4936
Joined: 16 Aug 2012, 13:35
Year and Model: 2005 XC70
Location: Boston
Has thanked: 130 times
Been thanked: 686 times

Post by vtl »

rp9 wrote: 18 May 2021, 10:12 No, it does not have any checksum. I modified it multiple times in the flash - it just works. I am asking for that, because in my case it somehow have problems guessing byte on position 2 if it is close to 100. If it is less then 50 - there are no problems with guessing correct value. Also, I already checked this pin on two different CEMs with different (probably) flash versions - in the car and on the bench. Same result.
Try with SAMPLES == 100.

vtl  
Posts: 4936
Joined: 16 Aug 2012, 13:35
Year and Model: 2005 XC70
Location: Boston
Has thanked: 130 times
Been thanked: 686 times

Post by vtl »

The way the cracker works - it sends a sequence of 3 meaningful bytes in 6 bytes pin and collects the the reply latency. Originally it was 2 bytes, but in most of cases more samples are needed to collect a statistically meaningful distribution. It is possible to send these 2 bytes over and over, but why not sending the third byte?

Now, going over all 100 values in all 3 bytes (BCD bytes, 0-99, not 0-255) is 100*100*100 pins, which takes quite a time even at 500 Kbps. So there's that SAMPLES value that limits the range for the last byte. SAMPLES thus serves two goals: collecting more samples and scanning through the third byte as well.

The problem with the SAMPLES less than 100 is that it may or may not hit the correct byte. When it does, the pin comparison routing in CEM goes to the next byte check and that increases the latency, quite significant on some CEM software versions. When it does not hit the correct byte, the latency anomaly detection may fail. All depends on the CEM software.

So in cases when quick pin scan with the default SAMPLES=30 does not do anything - set it to 100 and have a couple of beers while it is scanning through the whole range.

User avatar
RickHaleParker
Posts: 7208
Joined: 25 May 2015, 14:30
Year and Model: See Signature below.
Location: Kansas
Has thanked: 8 times
Been thanked: 980 times

Post by RickHaleParker »

vtl wrote: 18 May 2021, 11:30 Try with SAMPLES == 100.
Got Frankenstein to bench crack at Samples = 100, Latency + high_std.

I'm thinking the default code should be:
1. Samples = 100, Calc_bytes = 3.
2. Pick two sets for B0 - B1. First set based on Latency + high_std. Second set based on Latency + low_std.
3. Brute force using set one if it fails then brute force using set two.

That should produce a reliable code base.
Reliability is a higher priority than speed.
Would drastically cut done on "Not working for me".

Might want to add a version number so we can look at the output and tell what code the end user is running. I would print it out at the end along with any other information that would be helpful.
Active
1998 C70, B5234T3, 16T, AW50-42, Bosch Motronic 4.4, Special Edition package.
2017 Ford PIU. 3.5l, Twin Turbo, 365 Hp.
............................
Past
2003 S40, B4204T3, 14T twin scroll AW55-50/51SN, Siemens EMS 2000. ( Killed by a plastic radiator. )
2004 S60R, B8444S TF80 AWD. Yamaha V8 conversion ( I moved, the project did not )
2005 XC90 T6 Executive, B6294T, 4T65 AWD, Bosch Motronic 7.0. ( Transmission dead after sitting for a winter )

vtl  
Posts: 4936
Joined: 16 Aug 2012, 13:35
Year and Model: 2005 XC70
Location: Boston
Has thanked: 130 times
Been thanked: 686 times

Post by vtl »

Can you read your CEM dump with T5Luke's software now? Curious about the pin routine placement in memory.

vtl  
Posts: 4936
Joined: 16 Aug 2012, 13:35
Year and Model: 2005 XC70
Location: Boston
Has thanked: 130 times
Been thanked: 686 times

Post by vtl »

https://d5t5.com/article/volvo-cem-pin-code

> P2 — (S60 / V70II / XC70II / S80 / XC90) 1/ For cars MY2005 — 2012 (except 3,2 6V and 4,4 V8) decode via OBD with VDD — VDASH Dongle in 30 minutes!

Aha... :)

User avatar
RickHaleParker
Posts: 7208
Joined: 25 May 2015, 14:30
Year and Model: See Signature below.
Location: Kansas
Has thanked: 8 times
Been thanked: 980 times

Post by RickHaleParker »

vtl wrote: 19 May 2021, 06:11 Can you read your CEM dump with T5Luke's software now? Curious about the pin routine placement in memory.

Have not tried yet. If you think you maybe able to glean some useful information from it I'll bump it up on my priority list.

How much current does the 5V power supply need?
Active
1998 C70, B5234T3, 16T, AW50-42, Bosch Motronic 4.4, Special Edition package.
2017 Ford PIU. 3.5l, Twin Turbo, 365 Hp.
............................
Past
2003 S40, B4204T3, 14T twin scroll AW55-50/51SN, Siemens EMS 2000. ( Killed by a plastic radiator. )
2004 S60R, B8444S TF80 AWD. Yamaha V8 conversion ( I moved, the project did not )
2005 XC90 T6 Executive, B6294T, 4T65 AWD, Bosch Motronic 7.0. ( Transmission dead after sitting for a winter )

Post Reply
  • Similar Topics
    Replies
    Views
    Last post