An insight into Reverse Engineering

The three most common questions we hear is “What do you actually do?”, “How do you do it?” and “How did you learn?”. These are all great questions, so this post is for the curious bees that are reading this now,  to give you an insight into what it is we actually do. 

Don’t worry, I won’t be running through anything technical, but just highlighting a few things we do daily to illustrate the level of work and time that is invested into everything we do.

Well, time to jump into it, lets start with our first question.

1. What Do You Actually Do?

In short, we reverse engineer electronic modules in cars such as radios and BCMs to allow enabling factory options and features.

But what is reverse engineer I hear you say? Its the process in which we analyse firmwares, algorithms and module information. Basically deciphering large amounts of data to work out how to program various options and capabilities.

Take the picture above as an example (Same as our post image), this is a decompiled firmware image from a module we were working on. The words and data seen there is called ‘opcodes’, we interpret this information, going through thousands of lines of code to reverse engineer features including enabling cameras, tuning on/off TPMS, reconfiguring MRC and many other items. This is how we find hidden features and capabilities that even the car manufactures are not aware of such as Video in Motion (VIM for short).

2. How Do We Do It?

This is probably my favourite question. Everything we do is custom made, even down to the scantools and software we use which are developed from the ground up!

This next image is a quick view of one of the first custom pcb’s designed for an early scantool prototype (I still have it on my desk today!) which has custom built firmware to interact with our custom designed software to custom program various car modules! (Okay I’ll stop saying custom!).

The design had its flaws, which were fixed in later revisions but making the scantool alone was many hundreds (if not thousands) of hours of work over many years. Then the hundreds of hours in software development which is all ontop of the reverse engineering performed on the cars.

3. How Did We Learn?

Both Chad and I (Jason) have always been one to modify and tinker with anything electronic, whether it be fixing the pcb of a Nespesso machine bought off of Ebay, or modifying and fitting car parts to get upper spec capabilities.

I started 10years ago, utilizing my engineering to develop software and hardware to begin interacting with cars. At the time, it was alot of trial and error to even work out how to communicate with the car, but eventually could begin requesting and writing information and begin the real fun.

Once we had enough understand and control of the communication to the car, we could begin comparing parts and firmwares to identify patterns and similarities to begin mapping out all the various options available.

Alot of the things we do are all self taught. From designing and developing a website (Like this!) to diving into algorithms and firmware analysis, it all extends from utilizing previous knowledge and building on it.

Thats it for now! Thanks fo reading!

Related News