Mrp编辑助手 开源1.0版
    英文名:Mrper(Mrp Edit Helper) version:Open 1.0

    Date: 2011.7.15

    版本编译环境:Microsoft Visual Studio 2005
    使用语言:Visual Basic 2005

    版权所有:space
    网盘: http://ourmrp.ys168.com/
    http://ourmrp.3gdisk.net/

    开源版本附送 mrp文件结构,以字节位偏移

    三部分:头信息、文件信息、数据信息

    一、头信息

    0-3 MRPG
    4-7 实际数据开始位置+4
    8-11 整个Mrp文件总长度
    12-15 头信息长度(或者说文件信息开始位置,一般为\x F0 00 00 00,以下为例)
    16-27 内部名(总最长12字节,可用11字节)
    28-51 显示名(总最长24字节,可用23字节)
    52-61 串号(总最长10字节,可用9字节)
    62-67 6字节0
    68-71 软件编号APPID(注意一般是 小端位序)
    72-75 版本ID(注意一般是 小端位序)
    76-79 列表可见 及 CPU数信息 及是否Shell启动信息(偶数表示列表不可见,奇数表示可见,可见+3个CPU+shell=\x0F ,不可见+3个CPU=\x06)
    80-83 未知,现在一般为\x 12 27 00 00
    84-87 未知
    88-127 出品商信息(总最长40字节,可用39字节)
    128-191 软件描述(总最长64字节,可用63字节)
    192-195 软件编号APPID(注意一般是 大端位序,此处为列表识别APPID)
    196-199 版本ID(注意一般是 大端位序,此处为列表识别ID)
    200-239 备用

    如果头信息长度不是\x F0,则还有其他附带信息

    二、文件信息

    文件信息格式(C标准):4字节文件名长度+文件名+文件数据偏移+4字节数据长度+4字节空
    注意:文件名长度=文件名实际长度+1
    例:mrp文件中基本会含有start.mr文件

    /x
    09 00 00 00 73 74 61 72 74 2E 6D 72 00 57 01 00 00 D1 06 00 00 00 00 00 00

    /x 09 00 00 00 表示 start.mr 的长度9(注意C标准自动+/0,所以是 文件名长度8+1)
    /x 73 74 61 72 74 2E 6D 72 00 是字符“start.mr”+“/x00”
    /x 57 01 00 00 表示start.mr这个文件的数据存放在 哪个位置(即在偏移 /x0157=343 处)
    /x D1 06 00 00 表示start.mr这个文件的数据长度(即数据长 /x06D1=1745 )

    三、数据信息

    文件信息格式(C标准):4字节文件名长度+文件名+4字节数据长度+实际数据内容

    注意:文件名长度=文件名实际长度+1

    例:start.mr数据信息

    /x09 00 00 00 73 74 61 72 74 2E 6D 72 00 D1 06 00 00 1F 8B 08 00 00 …

    /x 09 00 00 00 表示 start.mr 的长度9(注意C标准自动+/0,所以是 文件名长度8+1)
    /x 73 74 61 72 74 2E 6D 72 00 是字符“start.mr”+“/x00”
    /x D1 06 00 00 表示start.mr这个文件的数据长度(即数据长 /x06D1=1745 )
    /x 1F 8B 08 00 00 … 紧接着是实际数据
    3