PDA

View Full Version : VWZ1Z3C decode algo



eSan
6th May, 2023, 01:34 PM
Hi!

I am wondering if it is possible to decode my radio CODE without desoldering 95160.
So I took my logic analyzer device, connect it to S, D, Q, C pins of 95160 and record all communication between CPU and FLASH.

It worked and I have now "history" of this communication:




SPI
result
9.7670955
4.66666667e-06
0x03
0xFF


SPI
result
9.7671015
4.66666667e-06
0x06
0xFF


SPI
result
9.7671075
4.66666667e-06
0x64
0xFF


SPI
result
9.7671135
4.66666667e-06
0x00
0x04


SPI
result
9.7671195
4.66666667e-06
0x00
0x03


SPI
result
9.7671255
4.66666667e-06
0x00
0x01


SPI
result
9.7671315
4.66666667e-06
0x00
0x01


SPI
result
9.7671375
4.66666667e-06
0x00
0x1E


SPI
disable
9.76715075
8.33333324e-08




SPI
enable
9.76720508
8.33333324e-08




SPI
result
9.76720967
4.66666667e-06
0x05
0xFF


SPI
result
9.76722
4.66666667e-06
0x00
0x00


SPI
disable
9.7672265
8.33333343e-08




SPI
enable
9.76723883
8.33333343e-08




SPI
result
9.76724533
4.66666667e-06
0x03
0xFF


SPI
result
9.76725133
4.66666667e-06
0x06
0xFF


SPI
result
9.76725733
4.66666667e-06
0x69
0xFF


SPI
result
9.76726333
4.66666667e-06
0x00
0x74


SPI
result
9.76726933
4.66666667e-06
0x00
0x7F


SPI
result
9.76727533
4.66666666e-06
0x00
0x01


SPI
disable
9.76728858
8.33333343e-08




SPI
enable
9.77058058
8.33333343e-08




SPI
result
9.77058517
4.66666667e-06
0x05
0xFF


SPI
result
9.7705955
4.66666667e-06
0x00
0x00


SPI
disable
9.77060208
8.33333324e-08




SPI
enable
9.77061383
8.33333324e-08




SPI
result
9.77062033
4.66666667e-06
0x03
0xFF


SPI
result
9.77062633
4.66666667e-06
0x04
0xFF


SPI
result
9.77063233
4.66666667e-06
0x90
0xFF


SPI
result
9.77063833
4.66666667e-06
0x00
0x97


SPI
result
9.77064433
4.66666667e-06
0x00
0x00


SPI
result
9.77065033
4.66666666e-06
0x00
0x19


SPI
result
9.77065633
4.66666667e-06
0x00
0x05


SPI
result
9.77066233
4.66666667e-06
0x00
0x00


SPI
result
9.77066833
4.66666667e-06
0x00
0x02


SPI
result
9.77067433
4.66666667e-06
0x00
0x00


SPI
result
9.77068033
4.66666667e-06
0x00
0x00


SPI
result
9.77068633
4.66666667e-06
0x00
0x00


SPI
disable
9.7707
8.33333343e-08




SPI
enable
9.77089967
8.33333343e-08




SPI
result
9.77090425
4.66666667e-06
0x05
0xFF


SPI
result
9.77091458
4.66666667e-06
0x00
0x00


SPI
disable
9.77092108
8.33333343e-08




SPI
enable
9.77093292
8.33333324e-08




SPI
result
9.77093942
4.66666667e-06
0x03
0xFF


SPI
result
9.77094542
4.66666667e-06
0x04
0xFF


SPI
result
9.77095142
4.66666667e-06
0x99
0xFF


SPI
result
9.77095742
4.66666667e-06
0x00
0xFF


SPI
disable
9.770971
8.33333324e-08




SPI
enable
9.77119825
8.33333324e-08




SPI
result
9.77120283
4.66666667e-06
0x05
0xFF


SPI
result
9.77121317
4.66666666e-06
0x00
0x00


SPI
disable
9.77121967
8.33333324e-08




SPI
enable
9.7712315
8.33333343e-08




SPI
result
9.771238
4.66666666e-06
0x03
0xFF


SPI
result
9.771244
4.66666667e-06
0x04
0xFF


SPI
result
9.77125
4.66666667e-06
0x62
0xFF


SPI
result
9.771256
4.66666667e-06
0x00
0x01


SPI
result
9.771262
4.66666667e-06
0x00
0x90


SPI
disable
9.77127525
8.33333324e-08




SPI
enable
9.7715815
8.33333324e-08




SPI
result
9.77158608
4.66666667e-06
0x05
0xFF


SPI
result
9.77159642
4.66666667e-06
0x00
0x00


SPI
disable
9.77160292
8.33333343e-08




SPI
enable
9.77161475
8.33333343e-08




SPI
result
9.77162125
4.66666667e-06
0x03
0xFF


SPI
result
9.77162725
4.66666667e-06
0x04
0xFF


SPI
result
9.77163325
4.66666667e-06
0x39
0xFF


SPI
result
9.77163925
4.66666667e-06
0x00
0x02


SPI
disable
9.77165283
8.33333361e-08




SPI
enable
9.80655233
8.33333324e-08




SPI
result
9.80655692
4.66666667e-06
0x05
0xFF


SPI
result
9.80656733
4.66666666e-06
0x00
0x00


SPI
disable
9.80657383
8.33333324e-08




SPI
enable
9.80659158
8.33333324e-08




SPI
result
9.80659808
4.66666667e-06
0x03
0xFF


SPI
result
9.80660408
4.66666667e-06
0x04
0xFF


SPI
result
9.80661008
4.66666666e-06
0x91
0xFF


SPI
result
9.80661608
4.66666667e-06
0x03
0x00


SPI
disable
9.80662942
8.33333324e-08




SPI
enable
9.80663392
8.33333343e-08




SPI
result
9.8066385
4.66666667e-06
0x06
0xFF


SPI
disable
9.80664492
8.33333343e-08




SPI
enable
9.80665542
8.33333324e-08




SPI
result
9.80666192
4.66666667e-06
0x02
0xFF


SPI
result
9.80666792
4.66666667e-06
0x04
0xFF


SPI
result
9.80667392
4.66666667e-06
0x91
0xFF


SPI
result
9.80667992
4.66666666e-06
0x03
0xFF


SPI
disable
9.80669308
8.33333343e-08




SPI
enable
9.81191258
8.33333343e-08




SPI
result
9.81191717
4.66666667e-06
0x05
0xFF


SPI
result
9.8119275
4.66666667e-06
0x00
0x00


SPI
disable
9.811934
8.33333324e-08




SPI
enable
9.81199108
8.33333324e-08




SPI
result
9.81199567
4.66666667e-06
0x05
0xFF


SPI
result
9.812006
4.66666667e-06
0x00
0x00


SPI
disable
9.81201258
8.33333324e-08




SPI
enable
9.81202433
8.33333343e-08




SPI
result
9.81203083
4.66666667e-06
0x03
0xFF


SPI
result
9.81203683
4.66666667e-06
0x04
0xFF


SPI
result
9.81204283
4.66666667e-06
0x99
0xFF


SPI
result
9.81204883
4.66666667e-06
0x00
0xFF




I believe I can take memory values of memory from that and decode it to get code.

But is there algorythm available somewhere or only calculators for bin files?
I found here algorythm for Z3Z3 but it's probably something different...

Best regards!

shooting
6th May, 2023, 04:46 PM
Hi!

I am wondering if it is possible to decode my radio CODE without desoldering 95160.
So I took my logic analyzer device, connect it to S, D, Q, C pins of 95160 and record all communication between CPU and FLASH.

It worked and I have now "history" of this communication:




SPI
result
9.7670955
4.66666667e-06
0x03
0xFF


SPI
result
9.7671015
4.66666667e-06
0x06
0xFF


SPI
result
9.7671075
4.66666667e-06
0x64
0xFF


SPI
result
9.7671135
4.66666667e-06
0x00
0x04


SPI
result
9.7671195
4.66666667e-06
0x00
0x03


SPI
result
9.7671255
4.66666667e-06
0x00
0x01


SPI
result
9.7671315
4.66666667e-06
0x00
0x01


SPI
result
9.7671375
4.66666667e-06
0x00
0x1E


SPI
disable
9.76715075
8.33333324e-08




SPI
enable
9.76720508
8.33333324e-08




SPI
result
9.76720967
4.66666667e-06
0x05
0xFF


SPI
result
9.76722
4.66666667e-06
0x00
0x00


SPI
disable
9.7672265
8.33333343e-08




SPI
enable
9.76723883
8.33333343e-08




SPI
result
9.76724533
4.66666667e-06
0x03
0xFF


SPI
result
9.76725133
4.66666667e-06
0x06
0xFF


SPI
result
9.76725733
4.66666667e-06
0x69
0xFF


SPI
result
9.76726333
4.66666667e-06
0x00
0x74


SPI
result
9.76726933
4.66666667e-06
0x00
0x7F


SPI
result
9.76727533
4.66666666e-06
0x00
0x01


SPI
disable
9.76728858
8.33333343e-08




SPI
enable
9.77058058
8.33333343e-08




SPI
result
9.77058517
4.66666667e-06
0x05
0xFF


SPI
result
9.7705955
4.66666667e-06
0x00
0x00


SPI
disable
9.77060208
8.33333324e-08




SPI
enable
9.77061383
8.33333324e-08




SPI
result
9.77062033
4.66666667e-06
0x03
0xFF


SPI
result
9.77062633
4.66666667e-06
0x04
0xFF


SPI
result
9.77063233
4.66666667e-06
0x90
0xFF


SPI
result
9.77063833
4.66666667e-06
0x00
0x97


SPI
result
9.77064433
4.66666667e-06
0x00
0x00


SPI
result
9.77065033
4.66666666e-06
0x00
0x19


SPI
result
9.77065633
4.66666667e-06
0x00
0x05


SPI
result
9.77066233
4.66666667e-06
0x00
0x00


SPI
result
9.77066833
4.66666667e-06
0x00
0x02


SPI
result
9.77067433
4.66666667e-06
0x00
0x00


SPI
result
9.77068033
4.66666667e-06
0x00
0x00


SPI
result
9.77068633
4.66666667e-06
0x00
0x00


SPI
disable
9.7707
8.33333343e-08




SPI
enable
9.77089967
8.33333343e-08




SPI
result
9.77090425
4.66666667e-06
0x05
0xFF


SPI
result
9.77091458
4.66666667e-06
0x00
0x00


SPI
disable
9.77092108
8.33333343e-08




SPI
enable
9.77093292
8.33333324e-08




SPI
result
9.77093942
4.66666667e-06
0x03
0xFF


SPI
result
9.77094542
4.66666667e-06
0x04
0xFF


SPI
result
9.77095142
4.66666667e-06
0x99
0xFF


SPI
result
9.77095742
4.66666667e-06
0x00
0xFF


SPI
disable
9.770971
8.33333324e-08




SPI
enable
9.77119825
8.33333324e-08




SPI
result
9.77120283
4.66666667e-06
0x05
0xFF


SPI
result
9.77121317
4.66666666e-06
0x00
0x00


SPI
disable
9.77121967
8.33333324e-08




SPI
enable
9.7712315
8.33333343e-08




SPI
result
9.771238
4.66666666e-06
0x03
0xFF


SPI
result
9.771244
4.66666667e-06
0x04
0xFF


SPI
result
9.77125
4.66666667e-06
0x62
0xFF


SPI
result
9.771256
4.66666667e-06
0x00
0x01


SPI
result
9.771262
4.66666667e-06
0x00
0x90


SPI
disable
9.77127525
8.33333324e-08




SPI
enable
9.7715815
8.33333324e-08




SPI
result
9.77158608
4.66666667e-06
0x05
0xFF


SPI
result
9.77159642
4.66666667e-06
0x00
0x00


SPI
disable
9.77160292
8.33333343e-08




SPI
enable
9.77161475
8.33333343e-08




SPI
result
9.77162125
4.66666667e-06
0x03
0xFF


SPI
result
9.77162725
4.66666667e-06
0x04
0xFF


SPI
result
9.77163325
4.66666667e-06
0x39
0xFF


SPI
result
9.77163925
4.66666667e-06
0x00
0x02


SPI
disable
9.77165283
8.33333361e-08




SPI
enable
9.80655233
8.33333324e-08




SPI
result
9.80655692
4.66666667e-06
0x05
0xFF


SPI
result
9.80656733
4.66666666e-06
0x00
0x00


SPI
disable
9.80657383
8.33333324e-08




SPI
enable
9.80659158
8.33333324e-08




SPI
result
9.80659808
4.66666667e-06
0x03
0xFF


SPI
result
9.80660408
4.66666667e-06
0x04
0xFF


SPI
result
9.80661008
4.66666666e-06
0x91
0xFF


SPI
result
9.80661608
4.66666667e-06
0x03
0x00


SPI
disable
9.80662942
8.33333324e-08




SPI
enable
9.80663392
8.33333343e-08




SPI
result
9.8066385
4.66666667e-06
0x06
0xFF


SPI
disable
9.80664492
8.33333343e-08




SPI
enable
9.80665542
8.33333324e-08




SPI
result
9.80666192
4.66666667e-06
0x02
0xFF


SPI
result
9.80666792
4.66666667e-06
0x04
0xFF


SPI
result
9.80667392
4.66666667e-06
0x91
0xFF


SPI
result
9.80667992
4.66666666e-06
0x03
0xFF


SPI
disable
9.80669308
8.33333343e-08




SPI
enable
9.81191258
8.33333343e-08




SPI
result
9.81191717
4.66666667e-06
0x05
0xFF


SPI
result
9.8119275
4.66666667e-06
0x00
0x00


SPI
disable
9.811934
8.33333324e-08




SPI
enable
9.81199108
8.33333324e-08




SPI
result
9.81199567
4.66666667e-06
0x05
0xFF


SPI
result
9.812006
4.66666667e-06
0x00
0x00


SPI
disable
9.81201258
8.33333324e-08




SPI
enable
9.81202433
8.33333343e-08




SPI
result
9.81203083
4.66666667e-06
0x03
0xFF


SPI
result
9.81203683
4.66666667e-06
0x04
0xFF


SPI
result
9.81204283
4.66666667e-06
0x99
0xFF


SPI
result
9.81204883
4.66666667e-06
0x00
0xFF




I believe I can take memory values of memory from that and decode it to get code.

But is there algorythm available somewhere or only calculators for bin files?
I found here algorythm for Z3Z3 but it's probably something different...

Best regards!


Algorithm is not complicated but requires NEC decoding as well as the eeprom,
and a Mask table from 0000 to FFAD for NEC




wbr

eSan
9th May, 2023, 10:35 AM
Didn't quite understand what NEC decoding does mean, but...


I've done it!


Using a logic analyzer I recorded communication between CPU and memory.
So, in effect, I've got information about some areas in my memory.


I've written a simple script (PHP, please don't judge me ;)) to convert that information to a complete hex dump filling missing information with 0x00 or 0xFF.
Geza (code extractor), complained about an incorrect image (probably it is making some checks first), so I took some dump from the internet and overridden (my) known areas of memory in it.
Geza didn't complain this time and generated code worked.


In conclusion: it is no longer necessary to desolder memory to extract necessary information.

shooting
9th May, 2023, 10:40 AM
Didn't quite understand what NEC decoding does mean, but...


I've done it!


Using a logic analyzer I recorded communication between CPU and memory.
So, in effect, I've got information about some areas in my memory.


I've written a simple script (PHP, please don't judge me ;)) to convert that information to a complete hex dump filling missing information with 0x00 or 0xFF.
Geza (code extractor), complained about an incorrect image (probably it is making some checks first), so I took some dump from the internet and overridden (my) known areas of memory in it.
Geza didn't complain this time and generated code worked.


In conclusion: it is no longer necessary to desolder memory to extract necessary information.

What radio are you actually talking about? RCD310 RCD510 ???



wbr

eSan
10th May, 2023, 08:46 AM
The radio is VWZ1Z3C.

shooting
10th May, 2023, 09:06 AM
The radio is VWZ1Z3C.



Yes that's the serial Ident, this Ident is used on more than one model....



wbr

carradio2001
10th May, 2023, 10:25 AM
Didn't quite understand what NEC decoding does mean, but...
In conclusion: it is no longer necessary to desolder memory to extract necessary information.

Also IF use an SMD clip ...not need to de-solder. And of course an programmer for eeprom's.

BR,
Carradio2001.

eSan
24th May, 2023, 07:08 PM
Yes that's the serial Ident, this Ident is used on more than one model....
Oh, didn't know that.


Also IF use an SMD clip ...not need to de-solder. And of course an programmer for eeprom's.
Even bought one!
But with serial eeprom (24c06) it is possible to read memory after powering radio, but with 25160/95160 memory constantly communicates with CPU so it is impossible to send commands with programmer.
Although, I didn't try to power externally memory and I was using arduino based programmer...