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 filesystemfile system to my computer, but the messages are locked in a database format that I do not recognize.
/DB
/SchemaFiles
/Handset
inboxSchema.dat
/SysDB
SMSInboxDB.vol
SMSInboxDB.vol.log
SMSInboxDB.vol.sys
/DB
/SchemaFiles
/Handset
inboxSchema.dat
/SysDB
SMSInboxDB.vol
SMSInboxDB.vol.log
SMSInboxDB.vol.sys
# 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;
# 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;