Skip to main content
2 of 2
added 7 characters in body; edited tags
Paul White
  • 90.3k
  • 30
  • 424
  • 663

What kind of database is this schema for, and how can I open it?

For sentimental reasons, I'm trying to export my text messages from an old feature phone (LG Cosmos 2, circa 2011) to a flat file (CSV or the like). I was able to successfully transfer the entire contents of the phone's file system to my computer, but the messages are locked in a database format that I do not recognize.

I believe the relevant directories and files are as follows:

/DB
  /SchemaFiles
    /Handset
      inboxSchema.dat
  /SysDB
    SMSInboxDB.vol
    SMSInboxDB.vol.log
    SMSInboxDB.vol.sys

I believe the files in SysDB are the actual database volume files, and cannot be interpreted as plain text. However, the inboxSchema.dat file can be read as plain text, and contains the following:

# SMS Inbox Schema 
schema SMSInboxSchema
VERSION 0.8//SMSIN_MSG_CHARLEN

table Inbox maxrecord = 300
{
    U, SYNC_OFF, SMSIN_INBOXINDEX,          1100,   USHORT,     INDEX_KEY_ON,   ON;     # smsInboxIndex => Primary Key
    U, SYNC_OFF, SMSIN_INBOXID,             1101,   ULONG,      INDEX_KEY_OFF,  ON;     # smsInboxId 
    U, SYNC_OFF, SMSIN_MSGID,               1102,   USHORT,     INDEX_KEY_OFF,  ON;     # smsMsgID
    U, SYNC_OFF, SMSIN_CATEGORY,            1103,   BYTE,       INDEX_KEY_OFF,  ON;     # smsCategory
    U, SYNC_OFF, SMSIN_SYSTEMTIME,          1104,   ULONG,      INDEX_KEY_ON,   ON;     # smsSystemTime => Soring Key
    U, SYNC_OFF, SMSIN_MCTIME,              1105,   DATE,       INDEX_KEY_OFF,  ON;     # smsMCTimt
    U, SYNC_OFF, SMSIN_BINMCTIME,           1106,   ULONG,      INDEX_KEY_OFF,  ON;     # smsBinMCTime
    U, SYNC_OFF, SMSIN_READFLAG,            1107,   BYTE,       INDEX_KEY_OFF,  ON;     # smsReadflag
    U, SYNC_OFF, SMSIN_LOCKFLAG,            1108,   BYTE,       INDEX_KEY_OFF,  ON;     # smsLockflag
    U, SYNC_OFF, SMSIN_DUPLICATEFLAG,       1109,   BYTE,       INDEX_KEY_OFF,  ON;     # smsDuplicateflag
    U, SYNC_OFF, SMSIN_PRIORITYFLAG,        1110,   BYTE,       INDEX_KEY_OFF,  ON;     # smsPriorityflag
    U, SYNC_OFF, SMSIN_PRIVACYFLAG,         1111,   BYTE,       INDEX_KEY_OFF,  ON;     # smsPrivacyflag
    U, SYNC_OFF, SMSIN_EMSUDHPRESENT,       1112,   BYTE,       INDEX_KEY_OFF,  ON;     # smssmsEMSUdhPresent
    U, SYNC_OFF, SMSIN_MSGENCODINGTYPE,     1113,   BYTE,       INDEX_KEY_OFF,  ON;     # smsMsgEncodingType
    U, SYNC_OFF, SMSIN_NUMOFSEGMENTS,       1114,   BYTE,       INDEX_KEY_OFF,  ON;     # smsNumOfSegments
    U, SYNC_OFF, SMSIN_TITLEMESSAGE,        1115,   STRING(301),    INDEX_KEY_OFF,  ON;     # smsTitleMessage
    U, SYNC_OFF, SMSIN_NUMOFVOICEMAILS,     1116,   BYTE,       INDEX_KEY_OFF,  ON;     # smsNumOfVoicemails
    U, SYNC_OFF, SMSIN_EMSCTRLDATA,         1117,   BYTE,       INDEX_KEY_OFF,  ON;     # smsEMSCtrlData
    U, SYNC_OFF, SMSIN_EMSCONCATREFRENCE,   1118,   INT,        INDEX_KEY_OFF,  ON;     # smsEMSConcatRefrence
    U, SYNC_OFF, SMSIN_EMSCONCATSTATUS,     1119,   BYTE,       INDEX_KEY_OFF,  ON;     # smsEMSConcatStatus
    U, SYNC_OFF, SMSIN_CBADDRESS,           1120,   STRING(49), INDEX_KEY_OFF,  ON;     # smsAddress
    U, SYNC_OFF, SMSIN_CBADDRESSLEN,        1121,   BYTE,       INDEX_KEY_OFF,  ON;     # smsAddress_len
    U, SYNC_OFF, SMSIN_FRADDRESS,           1122,   STRING(49), INDEX_KEY_ON,   ON;     # smsAddress
    U, SYNC_OFF, SMSIN_FRADDRESSLEN,        1123,   BYTE,       INDEX_KEY_OFF,  ON;     # smsAddress_len
    U, SYNC_OFF, SMSIN_FRINTRIMEMAIL,       1124,   BYTE,       INDEX_KEY_OFF,  ON;     # smsIntrimEmail
    U, SYNC_OFF, SMSIN_FRNAME,              1125,   STRING(33), INDEX_KEY_OFF,  ON;     # smsName
    U, SYNC_OFF, SMSIN_FRPBMATCHICON,       1126,   BYTE,       INDEX_KEY_OFF,  ON;     # smsPBMatchIcon
    U, SYNC_OFF, SMSIN_FRPBID,              1127,   USHORT,     INDEX_KEY_ON,   ON;     # smsPBMatchFilePos
    U, SYNC_OFF, SMSIN_SORTKEY,             1129,   STRING(49),     INDEX_KEY_OFF,  ON;     # for name/number sorting
    U, SYNC_OFF, SMSIN_SORTTIME,            1130,   ULONG,      INDEX_KEY_OFF,  ON;     # for time sorting in desc
}
multikey Inbox
{
    NORMALVALUE: SMSIN_SORTKEY, SMSIN_SYSTEMTIME;
    NORMALVALUE: SMSIN_SORTKEY, SMSIN_SORTTIME;
}

table InboxUserData maxrecord = 6000, maxviewsize = 20
{
    U, SYNC_OFF, SMSIN_INBOXINDEX,          1100,   USHORT,     INDEX_KEY_OFF,  ON;     # smsInboxIndex
    U, SYNC_OFF, SMSIN_SEGINDEX,            1140,   BYTE,       INDEX_KEY_OFF,  ON;     # smsSegIndex
    U, SYNC_OFF, SMSIN_MSG,             1141,   BINARY(220),    INDEX_KEY_OFF,  ON;     # smsMsgLen, smsMsg
    U, SYNC_OFF, SMSIN_MSG_CHARLEN,         1142,   BYTE,       INDEX_KEY_OFF,  ON;     # userdataCharLen(before encoding)
}
multikey InboxUserData
{
    NORMALVALUE:SMSIN_INBOXINDEX, SMSIN_SEGINDEX;
}

table CMAS maxrecord = 100
{
    U, SYNC_OFF, SMSCMAS_INBOXINDEX,        1170,   USHORT,     INDEX_KEY_ON,   ON;     # SMSCMASboxIndex => Primary Key
    U, SYNC_OFF, SMSCMAS_INBOXID,           1171,   ULONG,      INDEX_KEY_OFF,  ON;     # smsInboxId 
    U, SYNC_OFF, SMSCMAS_MSGID,         1172,   USHORT,     INDEX_KEY_OFF,  ON;     # smsMsgID
    U, SYNC_OFF, SMSCMAS_CATEGORY,          1173,   BYTE,       INDEX_KEY_OFF,  ON;     # smsCategory
    U, SYNC_OFF, SMSCMAS_SYSTEMTIME,        1174,   ULONG,      INDEX_KEY_ON,   ON;     # smsSystemTime => Soring Key
    U, SYNC_OFF, SMSCMAS_MCTIME,            1175,   DATE,       INDEX_KEY_OFF,  ON;     # smsMCTimt
    U, SYNC_OFF, SMSCMAS_BINMCTIME,         1176,   ULONG,      INDEX_KEY_OFF,  ON;     # smsBinMCTime
    U, SYNC_OFF, SMSCMAS_READFLAG,          1177,   BYTE,       INDEX_KEY_OFF,  ON;     # smsReadflag
    U, SYNC_OFF, SMSCMAS_LOCKFLAG,          1178,   BYTE,       INDEX_KEY_OFF,  ON;     # smsLockflag
    U, SYNC_OFF, SMSCMAS_DUPLICATEFLAG,     1179,   BYTE,       INDEX_KEY_OFF,  ON;     # smsDuplicateflag
    U, SYNC_OFF, SMSCMAS_PRIORITYFLAG,      1180,   BYTE,       INDEX_KEY_OFF,  ON;     # smsPriorityflag
    U, SYNC_OFF, SMSCMAS_PRIVACYFLAG,       1181,   BYTE,       INDEX_KEY_OFF,  ON;     # smsPrivacyflag
    U, SYNC_OFF, SMSCMAS_MSGENCODINGTYPE,       1182,   BYTE,       INDEX_KEY_OFF,  ON;     # smsMsgEncodingType
    U, SYNC_OFF, SMSCMAS_MSG_CHAR,          1183,   BINARY(220),    INDEX_KEY_OFF,  ON;     # smsCMASMessage
    U, SYNC_OFF, SMSCMAS_MSG_CHAR_LEN,      1184,   BYTE,       INDEX_KEY_OFF,  ON;     # smsCMASMessageLength
    U, SYNC_OFF, SMSCMAS_FRADDRESS,         1185,   STRING(49), INDEX_KEY_ON,   ON;     # smsAddress
    U, SYNC_OFF, SMSCMAS_FRADDRESSLEN,      1186,   BYTE,       INDEX_KEY_OFF,  ON;     # smsAddress_len
    U, SYNC_OFF, SMSCMAS_SORTKEY,           1187,   STRING(49), INDEX_KEY_OFF,  ON;     # for name/number sorting
    U, SYNC_OFF, SMSCMAS_SORTTIME,          1188,   ULONG,      INDEX_KEY_OFF,  ON;     # for time sorting in desc
    U, SYNC_OFF, SMSCMAS_SRVC_CATEGORY,     1189,   USHORT,     INDEX_KEY_OFF,  ON;     # broadcast service category
    U, SYNC_OFF, SMSCMAS_CMAS_RECORD,       1190,   ULONG,      INDEX_KEY_OFF,  ON;     # CMAE Record 01 data(Category, Urgency, ...)
}
multikey CMAS
{
    NORMALVALUE: SMSCMAS_SORTKEY, SMSCMAS_SYSTEMTIME;
    NORMALVALUE: SMSCMAS_SORTKEY, SMSCMAS_SORTTIME;
}

database SMSInboxDB;

What kind of RDBMS is this schema for? And, is there a publicly available tool that will let me open and export the contents of the volumes?

alexw
  • 192
  • 6