Cargando...

21 de noviembre de 2012 880 vistas

Estructura del Formato JCD

Gracias a Nikola Bozovic, podemos proporcionarle casi toda la estructura de archivos del formato de archivo JCD. Este formato de archivo se guarda con FlashGet versión 1.73 build 128.

Extensiones relacionadas:

Gracias a Nikola Bozovic, podemos proporcionarte casi toda la estructura de archivos del formato JCD. Este formato de archivo se guarda con FlashGet versión 1.73 build 128.

Estructura del formato JCD

LEYENDA

UBYTE - byte sin signo (8 bits)
UINT - entero sin signo (32 bits)
ArrayOf(TYPE) - arreglo de elementos de tipo TYPE
OleString - elemento de cadena empaquetada 1 byte (8 bits) como N, y N bytes (caracteres) siguientes
enum - campo de bits (32 bits)
USHORT - short sin signo (16 bits)
CTime - Fecha y hora empaquetada como mfc CTime (1/1/1970)

Estructura del archivo

tamaño en bytes

tipo de dato

nombre

comentario

1

UBYTE

Signature

 0x48

4

UINT

RecordsCount

total de registros en la base de datos

0+N

ArrayOf(RCATEGORY o RFILE)

Records

arreglo de registros

 

 

Estructura RCATEGORY

tamaño en bytes

tipo de dato

nombre

comentario

4

UINT

type

define el tipo de registro (1, 5)

4

UINT

ID

identificador único del registro

4

UINT

_u01

* desconocido

4

UINT

_u02

* desconocido

4

UINT

_u03

* desconocido

4

UINT

_u04

* desconocido

4

UINT

_u05

* desconocido

1+N

OleString

Name

Nombre de la categoría

1+N

OleString

Path

Ruta de la carpeta de la categoría

 

Estructura RFILE

tamaño en bytes

tipo de dato

nombre

comentario

4

UINT

type

define el tipo de registro (2)

4

UINT

ID

identificador único del registro

4

UINT

_u03

* desconocido (6)

4

UINT

_u04

* desconocido (2)

4

UINT

IDDirCurrent

categoría actual del registro

4

UINT

_u06

* desconocido (0)

4

UINT

_u07

* desconocido (79)

1+N

OleString

Url

url de descarga del archivo

4

enum

Flags

banderas de campo de bits [ver *1]

1+N

OleString

ServerUsername

nombre de usuario para login en el servidor

1+N

OleString

ServerPassword

contraseña para login en el servidor

4

UINT

IDDirTarget

categoría destino para descarga completa

1+N

OleString

Filename

nombre de archivo para la descarga

4

UINT

NumOfCnn

número de conexiones

1+N

OleString

Folder

carpeta para la descarga

1+N

OleString

Comment

comentario

4

UINT

_u11

* desconocido (1 / 65537)

4

enum

State

1 - pausado, 2 - iniciado, 4 - completo, 8 - error

4

INT

FileSize

tamaño del archivo desde el servidor, -1 para tamaño desconocido

1+N

OleString?

_s01

* desconocido (0) ¿quizás byte?

4

CTime

FileDate

fecha del archivo tomada del servidor

4

CTime

CreateTime

tiempo de creación del registro del archivo

4

CTime

CompleteTime

fecha y hora de finalización del archivo, última fecha y hora de escritura

1+N

OleString

Referer

url referer

4

UINT

TotalTime

total de segundos que tomó la descarga

2

USHORT

_us18

* desconocido (0)

4

UINT

AltUrlCount

cantidad de urls alternativos

0+N

ArrayOf(ALTURL)

AltUrls

arreglo de urls alternativos (puede tener tamaño cero)

4

UINT

JetCount

cantidad de jets de descarga

0+N

ArrayOf(JETITEM)

JetItems

arreglo de elementos jet (puede tener tamaño cero)

4

UINT

_u21

* desconocido (0)

 

Estructura ALTURL

tamaño en bytes

tipo de dato

nombre

comentario

1+N

OleString

Url

url alternativo

4

UINT

_u01

* desconocido (0)

 

Estructura JETITEM

tamaño en bytes

tipo de dato

nombre

comentario

4

UINT

start

dirección de inicio del archivo descargado por el jet

4

UINT

end

dirección de fin del archivo descargado por el jet

 

 

// Campo de bits [*1]
[Flags]
public enum JCDFileFlags : uint
{
bit1 = 1, /* descarga incompleta */
bit2 = 2, /* descarga incompleta */
LoginToServer = 4,
bit4 = 8,
bit5 = 0x10,
bit6 = 0x20,
bit7 = 0x40,
bit8 = 0x80,
bit9 = 0x100, /* descarga incompleta */
bit10 = 0x200, /* descarga incompleta */
bit11 = 0x400,
FtpDownloadSubDirs = 0x800,
CreateSubDirsLocally = 0x1000,
CreateCategory = 0x2000,
bit15 = 0x4000,
bit16 = 0x8000,
bit17 = 0x10000,
bit18 = 0x20000,
bit19 = 0x40000,
bit20 = 0x80000,
bit21 = 0x100000,
bit22 = 0x200000,
bit23 = 0x400000,
bit24 = 0x800000,
bit25 = 0x1000000,
bit26 = 0x2000000,
bit27 = 0x4000000,
bit28 = 0x8000000,
bit29 = 0x10000000,
bit30 = 0x20000000,
bit31 = 0x40000000,
bit32 = 0x80000000