mirror of https://github.com/x64dbg/btparser
59 lines
1.3 KiB
Plaintext
59 lines
1.3 KiB
Plaintext
|
//-----------------------------------
|
||
|
//--- 010 Editor v2.0 Binary Template
|
||
|
//
|
||
|
// File: RDBTemplate.bt
|
||
|
// Author: AnTler
|
||
|
// Revision: 1.0
|
||
|
// Purpose: Defines a template for parsing RDB files.
|
||
|
// Changes:
|
||
|
|
||
|
//-----------------------------------
|
||
|
|
||
|
// Define structures used in RDB files
|
||
|
|
||
|
// Defines a file header
|
||
|
typedef struct {
|
||
|
CHAR reserved[16];
|
||
|
DWORD fhFileTotalCount;
|
||
|
INT64 fhFileNameOffBits <format=hex>;
|
||
|
INT64 fhFileDataOffBits <format=hex>;
|
||
|
} RDBFILEHEADER ;
|
||
|
|
||
|
// Defines a file record
|
||
|
typedef struct {
|
||
|
local INT fileNameLength = 0;
|
||
|
local USHORT value = 0;
|
||
|
do
|
||
|
{
|
||
|
value = ReadUShort( FTell() + fileNameLength) ;
|
||
|
fileNameLength += sizeof(value);
|
||
|
} while(value != 0x0000);
|
||
|
|
||
|
CHAR frCurFileName[fileNameLength];
|
||
|
INT64 frCurFileDataOffBits <format=hex>;
|
||
|
INT64 frCurFileDataSize;
|
||
|
} RDBFILERECORD <read=ReadRDBFILERECORD>;
|
||
|
|
||
|
string ReadRDBFILERECORD( RDBFILERECORD &r )
|
||
|
{
|
||
|
string s;
|
||
|
SPrintf( s, "%s", r.frCurFileName);
|
||
|
return s;
|
||
|
}
|
||
|
|
||
|
//--------------------------------------------
|
||
|
|
||
|
// Define the file
|
||
|
LittleEndian();
|
||
|
|
||
|
RDBFILEHEADER rdbFileHeader;
|
||
|
|
||
|
FSeek(rdbFileHeader.fhFileNameOffBits);
|
||
|
|
||
|
local int i;
|
||
|
for( i = 0; i < rdbFileHeader.fhFileTotalCount; i++ )
|
||
|
RDBFILERECORD rdbFileRecord;
|
||
|
|
||
|
|
||
|
|