How to get started in reverse engineering car systems? What books to read?

   #1  

SHODAN

Verified VCDS User
Verified
Joined
Feb 12, 2016
Messages
38
Reaction score
9
Location
USA
VCDS Serial number
C?ID=253713
How did Ross-Tech start out? Was there any public documentation on VW/Audi electronics?

I'm interested in learning about how car electronics work, do I need a strong EE background or are there some basics or specific books that could give me a better understanding?

I'd like to start doing some projects with a Raspberry Pi and then much later on look at what comma.ai is doing.
 
   #2  

DGMotors

Verified VCDS User
Verified
Joined
Feb 20, 2014
Messages
219
Reaction score
193
Location
UK
VCDS Serial number
C?ID=57532
For VW/Audi I would start with reading the SSP (Self Study Program) guides (Buy on ERwin) (Or try VW SSP in google) this will give you a good amount of background information.

Other option is to make a test rig to play with See this thread on ross-tech
 
   #3  

mattylondon

Verified VCDS User
Verified
Joined
Apr 10, 2016
Messages
232
Reaction score
203
Location
United Kingdom
VCDS Serial number
C?ID=219022
I agree with DGMotors with reading SSP and getting a testbench setup. Familiarising yourself with the current flow is paramount.

For a sound foundation I recommend Bosch Automotive Electrics and Automotive Electronics book. This will give you broad knowledge and understanding of nearly all modern car technologies.

You could get a scope and see what is happening on each CAN Bus. Then capturing live data and maybe even detecting message when you do something, like press the window down button. Once you've built a database of known CAN messages and it's payload you could inject them yourself, maybe even write some code to do something when parameter X,Y,Z is met.

Next, you can buy used control modules on ebay and open them up. Look at the PCB, see what MPU is onboard, maybe a BDM header will be available you'll be able to communicate with the host.

Just some ideas :thumbs:
 
   #5  

Bruce

Active Member
Staff member
Ross-Tech Employee
Joined
Jan 30, 2014
Messages
3,182
Reaction score
5,162
Location
Near Philadelphia, PA, USA
VCDS Serial number
--------
How did Ross-Tech start out? Was there any public documentation on VW/Audi electronics?

Ross-Tech was started by benevolent dictator Uwe who had years of experience messing with his car. He studied anything he could find but public documents easily available from VAG? I highly doubt they existed. Once he had a handle on how the modules communicated with one another, then he built his own tools to observe communications. From those communications, he began understand commands and so on. To this day, Ross-Tech still operates in the same manner using the sophisticated tools we have to interpret communications between the modules.

.....do I need a strong EE background or are there some basics or specific books that could give me a better understanding?

There are books and classes one can use/take. We do not have a comprehensive list but you might look on our training page:
https://store.ross-tech.com/shop/cat/training/

I'd like to start doing some projects with a Raspberry Pi and then much later on look at what comma.ai is doing.

Good luck and let us know what great ideas you develop. People here will likely be interested.
 
   #6  

Zenerdiode

Verified VCDS User
Verified
Joined
Jun 26, 2014
Messages
1,412
Reaction score
2,124
Location
Newcastle, England
VCDS Serial number
C?ID=24330
Have an idea (roughly) of what you want to achieve. Reverse Engineering can be a very fickle business as Uwe and Eric will be able to testify. Yes, try and build your library with good books, but there's the addage that 'you can't read experience from a text-book'.

Bruce very cleverly summarised what was done by Uwe to start Vag-Com, pretty sound advice for any RE project. So start with both ends of a known working system, then you try to effectively 'get in-between' them. You need a way of watching the initiator of the comms; and how the other end reacts. Then try to mimic one of the ends.

However, the biggest pitfall of RE is that you may never get to know every feature of the system you're trying to crack; as by its very nature many features are undocumented.

My own story:
Right now I'm trying to reverse engineer one of our systems at work; it's not really my actual job, just doing it because I'm interested in the system and if I get it to work it will help with safety. Literally closed design, no documentation although the devices were built in the late 80s/early 90s. The manufacturer will not release documentation because if they think we're interested in a new control program; they'll want to sell one to us instead. Uwe was lucky with KW1281 as there's only one link - my system has four. I quicky established it used RS422 at hardware level, so needed to build a system that had 8(!) RS422 ports. Why 8? Because you need to listen to both ends of each link at the same time.

I managed to write a program that would give an accurate time stamp to the incoming data from each port, so I could later pour hours into how each link interracts with each other. The saving grace is that none of the comms is encrypted..!

Now was the time to write some test progs as the control program; sending my own data. The system wouldn't respond to any of my commands. You go over everything, checking how you calculate checksums etc. - everything, and still nothing. My logs matched the logs from my sniffer program identically, but still the system would not respond. Very frustrating. However, after a fortnight of banging my head, I discovered that even though I was transmitting at the correct baud rate, the inter-byte time spacing interval from my RS422 cards was incorrect for the old system I was trying to control. (Sound familiar, Uwe, Eric? ;))

I take my hat off to Uwe, Eric and not to forget Shaun, because the vast majority of people out there don't really (and probably never will) understand what goes into 'programming' or 'coding'. One day I'll sit at the computer and the code will just flow; another I may sit for half an hour just looking at the cursor flashing... Then there's the days when you look back on some of your previous work and marvel at the fact that you actually wrote that brilliant piece of code!! :)

Good luck, and let us know how you get on.
 
   #7  

Uwe

Benevolent Dictator
Administrator
Joined
Jan 29, 2014
Messages
49,245
Reaction score
33,795
Location
USA
VCDS Serial number
HC100001
Then there's the days when you look back on some of your previous work and marvel at the fact that you actually wrote that brilliant piece of code!! :)
Yeah, but there are also days when I've looked back at something I wrote years ago (that's still in use!) and have asked myself: "Why the heck did I do this that way; that was dumb!" :D

-Uwe-
 
   #8  

vreihen

Verified VCDS User
Verified
Joined
Sep 6, 2014
Messages
5,043
Reaction score
6,395
Location
The Land of OCC, NY, USA
VCDS Serial number
C?ID=31688
Yeah, but there are also days when I've looked back at something I wrote years ago (that's still in use!) and have asked myself: "Why the heck did I do this that way; that was dumb!" :D

I have that "what the hell was I thinking?" moment whenever I look at code that I wrote more than a week ago. There's a reason why my nickname at work and Github ID is Captain Coredump! :D

You should see the Arduino code that I have open in another window right now, to build a wifi home weather station sensor interface using an $8.00 ESP8266 (NodeMCU) IoT module. Let's just say that the only thing missing from that spaghetti is some sauce right now..... :facepalm:
 
   #9  

vreihen

Verified VCDS User
Verified
Joined
Sep 6, 2014
Messages
5,043
Reaction score
6,395
Location
The Land of OCC, NY, USA
VCDS Serial number
C?ID=31688
You should see the Arduino code that I have open in another window right now, to build a wifi home weather station sensor interface using an $8.00 ESP8266 (NodeMCU) IoT module. Let's just say that the only thing missing from that spaghetti is some sauce right now..... :facepalm:

Speaking of spaghetti, I just finished breadboarding the prototype with one of the cleanest wiring jobs that I've ever done:

71FCDC88-9D75-4FA2-BD87-DB1F57E297F5_zpsrcgn4o3t.jpg


12128F61-7D49-431F-A278-FC5BE64237E4_zpsmcnjc49f.jpg


In case anyone's curious, the big thing is a NodeMCU (ESP8266) with built-in 2.4Ghz wifi, the purple thing is a BMP-280 barometer/temperature sensor, and the two things (intentionally) hanging over the edge of the board are a TSL2591 lux/light sensor and a SI1145 UV sensor.....
 
   #10  

Bruce

Active Member
Staff member
Ross-Tech Employee
Joined
Jan 30, 2014
Messages
3,182
Reaction score
5,162
Location
Near Philadelphia, PA, USA
VCDS Serial number
--------
Yeah, but there are also days when I've looked back at something I wrote years ago (that's still in use!) and have asked myself: "Why the heck did I do this that way; that was dumb!" :D

-Uwe-

I sometimes have that feeling within the same day! So be blessed you get to feel that way after years!

And then there is the time I designed a transformer as anesthetics were wearing off from a small procedure. Talk about Wind Mills not working that way! Drugs and design don't work very well!
 
   #11  

DV52

Verified VCDS User
Verified
Joined
May 16, 2014
Messages
5,469
Reaction score
5,935
Location
Melbourne, Australia
VCDS Serial number
C?ID=194404
I sometimes have that feeling within the same day! So be blessed you get to feel that way after years!

And then there is the time I designed a transformer as anesthetics were wearing off from a small procedure. Talk about Wind Mills not working that way! Drugs and design don't work very well!

Bruce: I'd respond to Uwe's, and your observations in a slightly less-kind way: anyone who looks back on their past work/decisions/achievements and can't find a better outcome are very sad folk indeed because their latter years have taught them nothing!! :)

Don
 
   #12  

vreihen

Verified VCDS User
Verified
Joined
Sep 6, 2014
Messages
5,043
Reaction score
6,395
Location
The Land of OCC, NY, USA
VCDS Serial number
C?ID=31688
Bruce: I'd respond to Uwe's, and your observations in a slightly less-kind way: anyone who looks back on their past work/decisions/achievements and can't find a better outcome are very sad folk indeed because their latter years have taught them nothing!! :)

As a recovering perfectionist, I would like to respectfully disagree. There are several things that I worked on in the past that were so perfect when finished that improvement is impossible, and a few that I wish I had patented because they were brilliant and strangers later capitalized on marketing the ideas.

One of my crowning jewels was an improvement that I came up with for the toilet plunger as a kid. The prototype was soooooooo potent that it blew a hole through the sewer line in my grandparents' front yard where tree roots had penetrated the pipe. After spending the next few days digging (smelly) holes in their front yard, I decided that the world wasn't ready for such a powerful tool. I saw someone hawking my very invention online for about $30 a few years ago, and realized that Captain Coredump would have also been a good name for the king of turd-herders..... :(
 
   #13  

DV52

Verified VCDS User
Verified
Joined
May 16, 2014
Messages
5,469
Reaction score
5,935
Location
Melbourne, Australia
VCDS Serial number
C?ID=194404
^^^ vreihen: Clearly I have erred! I failed to consider the case of a budding juvenile inventor and his turbo-charged turd-buster (thank God it never went to market in a world where such devastating devices can be used by terrorists for badness, rather than for good!) . :facepalm:

In a strange, similar parallel, I suspect that Uwe's inventive prowess may equally have changed Ross-Tech's direction in the early period of development - but for an insignificant twist of fate, this forum may be discussing the fascinating topic of fecal waste management, rather OBD protocols! (and Ross - Tech may well now be a much larger organization - everyone has to sh#t, but not everyone has to own a VCDS cable). ;)

Don
 
Last edited:
Back
Top