Posts by Year

2025

Extracting firmware code part 2

12 minute read

In order to operate the BDM interface via an Arduino, as introduced in the previous post, there are a number of processes that need to be coded. To recall, v...

Extracting firmware code part 1

5 minute read

Whilst analyzing an ECU is important, it is of limited value without the ability to modify code and data. Most ECUs can be re-programmed, but the procedure i...

Diagnostic Trouble Codes (DTCs)

15 minute read

Tracing the code supporting the OBD2 Diagnostic Trouble Codes (DTCs) can help provide more insights on which DTCs are supported, and also on the identity of ...

Back to Top ↑

2024

OBD2 and UDS services over Canbus

16 minute read

A canbus message (ignoring for a moment multi-frame messages) can transmit/receive 8 data bytes. When requesting OBD2/UDS services over canbus the request...

Analyzing Canbus operation

6 minute read

Looking into the OBD2 implementation at an early stage is beneficial, since it can help identify key variables in the code. Mode 1 for reading current data w...

Annotating a firmware file in Ghidra

8 minute read

In this post, we will look into more detail of an AJ27 CPU firmware file. We will review how to add appropriate memory blocks and address labels to make the ...

Writing a Ghidra Loader

5 minute read

To create a loader in Ghidra, we will need to use the Eclipse IDE with GhidraDev installed (see post on “Writing a Ghidra processor specification part 1” for...

AJ27 Firmware Files

4 minute read

There are a few ways of obtaining a copy of the firmware from an ECU. One is to extract it directly from the ECU hardware, and there several techniques to do...

AJ27 Firmware Introduction

2 minute read

In order to analyze the firmware stored in the ECU, there are few things that have to be done Obtain a copy of the firmware code Use a tool to analyze t...

AJ27 ECU Hardware Schematic

9 minute read

In this post I will take a quick tour around the hardware schematic of the Jaguar AJ27 ECU to investigate some of the features, and provide a view of a mid/l...

Back to Top ↑