Hi
I am atm trying to make my own tool to communicate with the cable to make thinks a bit more easy.
The first stage of the communication is to agree on a 256 bits AES key to use for the rest of the session.
This key (there are in fact 19 of the) was also changed from my 415 / 405 cable to the upgradable one so I needed help from a forum member to extract this info.
But the best way would be to make the tool support this and there is one more function I need to reverse to complete this task.
Since I am working with the loader and have the key it's not to important and I wont spend time on this algo atm but if anyone else want to join in and helt that would be great.
So the cable sends 0x80 (128 byte 1024bit) to vcds.exe and this data is now decrypted/encrypted (depends how you look at it) using RSA1024. The 256bits' AES key is now derived from this data by calling a function that will return this AES key. I need someone to have a look at this function and figure out how this is done.
Use the unpacked version of vcds (20.12) and thanks to whom ever unpacked this exe coz this helped speed things up

At address 0x4B56DC is the function that will extract the AES key from RSA-C
In this function there is a call to RSA decrypt
0x004B5736 call rsa_decrypt(rsa_c, len, v11, &rsa_ses, 0, a7);
and the decrypted rsa data (rsa-m) will be returned in "rsa_res"
below this then this function is called
0x004B575E call sub_4B5377(v11, rsa_ses, a6, aes_key, a5, key)
and uses the decrypted rsa data and derived the aes key from it.
If someone could have a look at this function then that would be great..
Bookmarks