Skip to content

Commit 4fceb65

Browse files
committed
Add Qualcomm QDB (Qshrink Database) format
This is a very simple wrapper around compressed XML used by Qualcomm to store modem debug info. I gather that these files are used by Qualcomm's official QXDM diagnostic software, but I derived the format without reference to any documentation or tooling; it's just that simple.
1 parent 09f4172 commit 4fceb65

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

firmware/qualcomm_qdb.ksy

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
meta:
2+
id: qualcomm_qdb
3+
title: Qualcomm Qshrink hash database file
4+
application: Qualcomm QXDM
5+
file-extension: qdb
6+
license: CC0-1.0
7+
8+
doc: |
9+
This format is nothing more than zlib-compressed XML appended to a trivially
10+
simple binary header. The XML maps diagnostic codes emitted by Qualcomm modem
11+
firmware to textual log messages. A file of this type typically resides on the
12+
"modem" partition of a Qualcomm device with a name like "qdsp6m.qdb".
13+
14+
doc-ref:
15+
- https://github.com/mzakocs/qualcomm_baseband_scripts/blob/main/qshrink4_qdb_ghidra_script.py
16+
17+
seq:
18+
- id: magic
19+
contents: [0x7f, "QDB"]
20+
- id: guid
21+
size: 0x10
22+
doc: Matches the top-level <GUID> element in the compressed XML
23+
24+
instances:
25+
xml:
26+
pos: 0x40
27+
size-eos: true
28+
process: zlib

0 commit comments

Comments
 (0)