『漫游』酷论坛>『eDonkey交流区』>ED精華區>精華中的精華>JCD 文件格式详细信息
JCD 文件格式详细信息
MeteorRain@2003-12-14 13:02
以上几个不清楚且值为0的地方,可能隐含着下面这样的结构:
BYTE Length;//长度
char String[Lenth];//具体值
JCD 文件格式详细信息
MeteorRain@2003-12-15 20:14
000h-021h
48 06 00 00 00 01 00 00 00 01 00 00 00 00 00 00
00 01 00 00 00 ff ff ff ff 01 00 00 00 0f 00 00
00 08
UNKNOWN
022h-029h FlashGet
02Ah 默认下载地址长度
02Bh-036h 默认下载地址 C:\Downloads
037h-052h
05 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00
01 00 00 00 02 00 00 00 0f 00 00 00 UNKNOWN
053h 分类名称长度 06h
054h-05Bh 分类名称 正在下载
05Ch 默认文件存放地址长度 0Ch
05Dh-068h 默认文件存放地址 C:\Downloads
069h-084h
02 00 00 00 0a 00 00 00 06 00 00 00 02 00 00 00
02 00 00 00 00 00 00 00 0f 00 00 UNKNOWN
085h 文件url长度 7eh
086h-103h 文件url
104h-107h 07 3b 00 00 UNKNOWN
108h 账号长度 06h
109h-10Eh 账号 xxxxxx
10Fh 密码长度 06h
110h-115h 密码 xxxxxx
116h-11Eh 03 00 00 00 05 00 00 00 UNKNOWN
11Fh 文件存放地址长度
120h-122h 文件存放地址 K:\
123h-173h
00 00 00 00 00 01 00 00 00 00 f8 4d 11 00 c0 4e
e0 3d a7 88 65 3f ff ff ff 00 17 00 00 00 00 00
00 00 00 00 00 05 00 00 00 00 00 00 00 00 80 08
00 66 fe 75 03 66 be 77 03 cc fc eb 06 cc 9c ed
06 32 fe 61 0a 32 7b 63 0a 99 b9 d8 0d 99 b9 d8
0d UNKNOWN
174h-18Fh
01 00 00 00 03 00 00 00 03 00 00 00 01 00 00 00
01 00 00 00 04 00 00 00 0f 00 00 00 UNKNOWN
190h 分类名称长度 06h
191h-196h 分类名称 已下载
197h 默认文件存放地址长度 0Ch
198h-1A3h 默认文件存放地址 C:\Downloads
1A4h-1BFh
01 00 00 00 03 00 00 00 03 00 00 00 01 00 00 00
01 00 00 00 04 00 00 00 0f 00 00 00 UNKNOWN
1C0
1C0h 分类名称长度 06h
1C1h-1C6h 分类名称 已删除
1C7h 默认文件存放地址长度 0Ch
1C8h-1D3h 默认文件存放地址 C:\Downloads
1D4h-1EFh
01 00 00 00 03 00 00 00 03 00 00 00 01 00 00 00
01 00 00 00 04 00 00 00 0f 00 00 00 UNKNOWN
1F0h 文件名长度 36h
1F1h-226h 文件名 http://.........
227h-235h
00 38 00 00 00 00 03 00 00 00 00 02 00 00 00 UNKNOWN
236h 文件存放地址长度 0Ch
237h-242h 文件存放地址 C:\Downloads
243h 注释长度 0eh
244h-251h 注释 说明信息aabbcc
252h-279h
00 00 00 00 01 00 00 00 ff ff ff ff 00 ff ff ff
ff 03 87 65 3f ff ff ff ff 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 UNKNOWN
#eof
自己生成了一个样例,详细分析了一下…………
JCD 文件格式详细信息
supercase@2003-12-16 11:06
啊,大公开大公开。有兴趣的也来帮我把没搞清楚的地方研究研究。
to MeteorRain:我这里的字段A相当于你那里的069h
对每个下载任务,有下列结构
typedef struct tag_JcdFormat
{
int A,B,C,D,E,F,G;//2,8+第几个,6,2,2,0,15
/*上面这一段记录的是每个下载任务的排列信息,具体含义尚不十分清楚,主要是我没仔细研究-_-|||*/
BYTE URLLength;//下载地址长度
char URL[MAX_CHAR];
/*用得着的实际长度是URLLength的值,以下凡是这样的字符串都是这样*/
int Flags;
/*bit0,1,9表示任务是否开始了;2表示是否要登录;3表示是否启用替代网址;12,13始终为1*/
BYTE UserNameLength;//登录的用户名长度
char UserName[MAX_CHAR];//UserNameLength=0时无此项
BYTE PWDLength;//登录的密码长度
char PWD[MAX_CHAR];//PWDLength=0时无此项
int SaveType;//从上到下第几个存储类别
BYTE RenameLength;//重命名的长度,0为不重命名
char Rename[MAX_CHAR];
int ThreadNum;//并发线程数
BYTE SavePathLength;//存储路径长度
char SavePath[MAX_CHAR];
BYTE REMLength;//注释长度
char REM[MAX_CHAR];//REMLength=0时无此项
WORD I;//0,用途不清
WORD BeginTime;//0暂停,1立即,2计划
int J;//1,用途不清
int FileSize;//-1为未有任何下载
BYTE K;//0,用途不清
int L;//文件日期,未开始时为-1,相对于1970年1月1日0时的秒数
int H;//本地文件创建日期
int M;//完成日期?
BYTE ReferenceLength;//引用网址长度
char Reference[MAX_CHAR];//ReferenceLength=0时无此项
int N;//下载总耗时,秒数
WORD O;//0,用途不清
int InsteadURLNum;//替代URL的数目
BYTE InsteadURLLength;//替代URL的长度
char InsteadURL[MAX_CHAR];//替代URL
int InsteadStatus;//不太清楚,没用到时为0,以上三个字段循环InsteadURLNum次
int BlockNum;//已下载块数目
int BlockBegin;//块开始位置
int BlockEnd;//块结束位置,以上两个字段循环BlockNum次
}JcdFormat;
下载任务之外的是下载类别的分类及其相关信息,因为编程时没用到,所以没有仔细研究。不过显然结构比较简单。
MeteorRain@2003-12-16 23:00
I:HTTP代理,对应“选项”中的代理设置项目。
MeteorRain@2003-12-16 23:04
142h FTP代理设置
定位下来应该是O。
MeteorRain@2003-12-16 23:28
引用
int Flags;
/*bit0,1,9表示任务是否开始了;2表示是否要登录;3表示是否启用替代网址;12,13始终为1*/
好像有点问题…………估计要拆开
BYTE Flag1;
0 允许断点续传
1 是否已经开始?
2 是否要求登录
3 为1,不启用“通过镜像文件列表和FTP查找功能发现替代URL”
4
5
6
7
BYTE Flag2;
0
1
2 是否为检查文件是否更新
3 高级 从FTP站点下载子目录
4 高级 在本地创建子目录
5 高级 创建类别
6
7
WORD unknown;
MeteorRain@2003-12-16 23:30
K:确认为byte+char[]结构。
| TOP