# ODX (Open Diagnostic Data Exchange)

> ODX (Open Diagnostic Data Exchange) ist das XML-basierte Datenformat, standardisiert als ASAM MCD-2 D und ISO 22901-1, das die Diagnoseschnittstelle eines Steuergeräts beschreibt: welche Services es unterstützt, Requests und Antworten, Data Identifier und Routinen und wie Rohbytes in physikalische Werte umgerechnet werden. Diagnosetester und Flash-Tools lesen ODX, statt jedes Steuergerät fest einzuprogrammieren. Für Security-Tests ist es die Spezifikation, mit der das echte Verhalten verglichen wird.

ODX (ISO 22901-1, ASAM MCD-2 D) ist das XML-Format, das beschreibt, wie ein Steuergerät UDS spricht: Services, DIDs, Routinen und Daten. Aufbau und Nutzen für Tester.

Source: https://auto-st.com/de/glossar/odx · Updated: 2026-10-07

## Was ist ODX?

ODX ist ein Datenmodell in XML, das die Diagnosekommunikation eines Steuergeräts beschreibt, damit Tools ohne steuergerätespezifischen Code damit arbeiten können. Der Hauptinhalt ist in Diagnose-Layern organisiert, die voneinander erben: PROTOCOL, FUNCTIONAL-GROUP, BASE-VARIANT und ECU-VARIANT, dazu ECU-SHARED-DATA für gemeinsame Definitionen. Jeder Layer enthält DIAG-SERVICE-Elemente mit ihren Strukturen für REQUEST, POS-RESPONSE und NEG-RESPONSE sowie Data Object Properties (DOPs) mit Umrechnungsmethoden, die Bytes in physikalische Werte und Einheiten übersetzen.

Der ODX-Eintrag für einen ReadDataByIdentifier-Service sagt einem Tool zum Beispiel, dass der Request `22 F1 8C` die Seriennummer des Steuergeräts liest, dass auf die Antwort `62 F1 8C` ASCII-Bytes folgen und in welchen Sessions der Service erlaubt ist.

## Wo ist es definiert?

ASAM definiert ODX als MCD-2 D; ISO 22901-1 veröffentlicht das Datenmodell als internationalen Standard. Zu den Dateitypen gehören `.odx-d` für Diagnose-Layer, `.odx-c` und `.odx-cs` für Kommunikationsparameter und `.odx-f` für Flash-Daten. Der UDS-Inhalt, den ODX beschreibt, kommt aus ISO 14229-1.

## Was es in der Praxis bedeutet

ODX ist das, was einer Spezifikation der Diagnoseschnittstelle am nächsten kommt, die ein Testteam normalerweise bekommt. Die Datei benennt Data Identifier und Routinen, zeigt, welche davon beschreibbar sein sollen, und welche Session oder welches Security Level jeder Service braucht. Damit ist ODX die Referenz für zwei Security-Fragen: Setzt das Steuergerät durch, was in der Datei steht, und gibt es etwas preis, das die Datei nicht erwähnt?

Wir sehen regelmäßig beide Arten von Lücke. Data Identifier, die in der Beschreibung als nur lesbar markiert sind, nehmen Schreibzugriffe an, und Services, die laut Datei auf die Extended Session beschränkt sind, antworten in der Default Session. Undokumentierte Identifier sind oft Überbleibsel aus der Entwicklung, die niemand geprüft hat.

## Wie AutoST es testet

AutoST importiert ODX- und CDD-Dateien. Die Diagnose-Engine nutzt sie, um die bei der Enumeration gefundenen Data Identifier zu benennen und die in der Datei gelisteten Routine Identifier zu scannen, inklusive Schreibtests, die prüfen, ob der Schreibschutz wie dokumentiert greift. Identifier, die antworten, aber nicht in der Datei stehen, erscheinen als eigene Findings.

## Häufige Missverständnisse

ODX ist eine Beschreibung, keine Sicherheitsrichtlinie. Ein Steuergerät liest seine ODX-Datei zur Laufzeit nicht, die Datei kann also stimmen, während die Implementierung falsch ist. Und nicht jeder Zulieferer liefert vollständiges ODX: Eine unvollständige Datei hilft trotzdem, aber die Enumeration muss die Lücken füllen.

## FAQ

**Was ist der Unterschied zwischen ODX und PDX?**

ODX ist das Datenformat, PDX der Container. Eine PDX-Datei ist ein ZIP-Archiv, das mehrere ODX-Dateien (Diagnose-Layer, Kommunikationsparameter, Flash-Daten) mit einem Index bündelt, damit ein Tool die Beschreibung eines ganzen Steuergeräts oder Fahrzeugs in einer Datei laden kann.

**Was ist der Unterschied zwischen ODX und CDD?**

CDD ist das proprietäre Format des Vector-Tools CANdelaStudio. Beide beschreiben dieselbe Art von Information, und CANdelaStudio kann ODX exportieren. Viele Zulieferer pflegen ihre Stammdaten in CDD und liefern ODX oder PDX an den OEM.

**Verrät mir eine ODX-Datei alles, was ein Steuergerät kann?**

Nein. Die Datei beschreibt, was der Hersteller dokumentiert hat. Echte Steuergeräte beantworten oft Data Identifier oder Services, die nicht darin stehen, und der Vergleich beider ist eine der nützlichsten Prüfungen in einem Security-Test.

## Sources

- [ISO 22901-1:2008 Straßenfahrzeuge, Open diagnostic data exchange (ODX), Teil 1: Datenmodellspezifikation](https://www.iso.org/standard/41207.html)
- [ISO 14229-1:2020 Straßenfahrzeuge, Unified diagnostic services (UDS), Teil 1: Anwendungsschicht](https://www.iso.org/standard/72439.html)

## Related

- [PDX (Packaged ODX)](https://auto-st.com/de/glossar/pdx)
- [CDD (CANdela Diagnostic Description)](https://auto-st.com/de/glossar/cdd)
- [DID (Data Identifier)](https://auto-st.com/de/glossar/did)
- [RID (Routine Identifier)](https://auto-st.com/de/glossar/rid)
- [ODX-gestütztes Testen: Diagnosedaten in Tests verwandeln](https://auto-st.com/de/insights/odx-gestuetztes-testen)
- [Dein ODX und CDD, zu Tests gemacht.](https://auto-st.com/de/did-und-routinen-scan)

---
AutoST by Zyberum. Canonical page: https://auto-st.com/de/glossar/odx
