`
zeroliu
  • 浏览: 193056 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

OMADRM2学习笔记:DCF-v2结构解析

阅读更多

【虎.无名】由于需要支持流媒体格式,因而OMA-DRM-DCF-v2采用了基于ISO14496-12的多媒体结构来定义,它与OMA-DRM-DCF-v1完全不兼容。其他如quicktime和3gpp等多媒体文件也是采用了类似的结构定义。我刚实现了一个OMA-DRM-v2的编码解码器,找了一个odf文件解析了一把,以树型结构很清晰地输出了[DCF-v2]的结构。

--- printInfo(test_decode) ---
0 #class   = omadrm2.IsoDcf$OMADRM2Dcf...test_decode
0.1 ftyp#class= omadrm2.Iso14496$FileBrandBox...test_decode-ftyp
0.1 ftyp.size = 20B(h:8B)
0.1 ftyp.Brand1  = odcf
0.1 ftyp.Version = 2
0.1 ftyp.Brand2  = odcf
0.1 odrm#class= omadrm2.IsoDcf$OMADRMContainer...test_decode-0
0.1 odrm.size = 482028B(h:20B)
0.1 odrm.ext4 = ver:0/flag:0x000000
0.1.2 odhe#class= omadrm2.IsoDcf$OMADRMDiscreteHeaders...test_decode-0
0.1.2 odhe.size = 300B(h:12B)
0.1.2 odhe.ext4 = ver:0/flag:0x000001
0.1.2 odhe.ContentTypeLength = 10
0.1.2 odhe.ContentType   = audio/mpeg
0.1.2.3 ohdr#class= omadrm2.IsoDcf$OMADRMCommonHeaders...test_decode-0-ohdr
0.1.2.3 ohdr.size = 186B(h:12B)
0.1.2.3 ohdr.ext4 = ver:0/flag:0x000000
0.1.2.3 ohdr.EncryptionMethod   = 0x01/AES_128_CBC
0.1.2.3 ohdr.PaddingScheme    = 0x01/RFC_2630
0.1.2.3 ohdr.PlaintextLength  = 0x0000000000075977/用途??
0.1.2.3 ohdr.ContentID    = [40] cid:1170254469809@portal.beepscience.com
0.1.2.3 ohdr.RightsIssuerURL  = [118] http://portal.beepscience.com/demo/marketingZone/xhtml/ri/ris.jsp?cid=1170254469809@portal.beepscience.com&zoneid=9021
0.1.2.3 ohdr.TextualHeadersLength = 0
0.1.2.3 ohdr.ExtendedHeaders.n = 0
0.1.2.3 udta#class= omadrm2.Iso14496$UserDataBox...test_decode-0-udta
0.1.2.3 udta.size = 91B(h:8B)
0.1.2.3 udta.UserData = 000000177469746C0000000015C74261627920426F79000000001E637072740000000015C74265796F6E6365204B6E6F776C6573000000001E617574680000000015C74265796F6E6365204B6E6F776C657300
0.1.2.3 udta.UserData =  . . . . t i t l . . . . . . B a b y B o y . . . . . c p r t . . . . . . B e y o n c e K n o w l e s . . . . . a u t h . . . . . . B e y o n c e K n o w l e s .
0.1.2.3.4 titl#class= omadrm2.Iso14496$FullBox...test_decode-0-udta-0
0.1.2.3.4 titl.size = 23B(h:12B)
0.1.2.3.4 titl titl.body = [11] = 15C74261627920426F7900
0.1.2.3.4 titl titl.body = [11] =  . . B a b y B o y .
0.1.2.3.4 titl.ext4 = ver:0/flag:0x000000
0.1.2.3.4 cprt#class= omadrm2.Iso14496$FullBox...test_decode-0-udta-1
0.1.2.3.4 cprt.size = 30B(h:12B)
0.1.2.3.4 cprt cprt.body = [18] = 15C74265796F6E6365204B6E6F776C657300
0.1.2.3.4 cprt cprt.body = [18] =  . . B e y o n c e K n o w l e s .
0.1.2.3.4 cprt.ext4 = ver:0/flag:0x000000
0.1.2.3.4 auth#class= omadrm2.Iso14496$FullBox...test_decode-0-udta-2
0.1.2.3.4 auth.size = 30B(h:12B)
0.1.2.3.4 auth auth.body = [18] = 15C74265796F6E6365204B6E6F776C657300
0.1.2.3.4 auth auth.body = [18] =  . . B e y o n c e K n o w l e s .
0.1.2.3.4 auth.ext4 = ver:0/flag:0x000000
0.1.2 odda#class= omadrm2.IsoDcf$OMADRMContentObject...test_decode-0
0.1.2 odda.size = 481708B(h:20B)
0.1.2 odda.ext4 = ver:0/flag:0x000000
0.1.2 odda.OMADRMDataLength = 481680
0.1.2 odda.OMADRMData   = 52C5F64A6ABAE9DABF3496B9031BC5D87F3795D7D01EE8D34C135A9E38BF935AF52193CBB99E02ADE94BA2F7F87962A85F3F7D22011A2B700CC6735B943D3379571873972EDF2B34137988FD317829C96A33AE00478A21E19A3CC41547BAAAE6502E6A99337F6D950E05CC8BE6C69FE67F08559F930AB43FCF492BA5ACDB9E69A6941BD1C50A82F7ABD40BD621B02B9A56DA306EDF94CC7CD70A03BEED86DE0C6C05232BD604A60C811A096AA3AA31F5567B8D06176D954252015D4DD3E19F91EA4614A490DCF2CF
0.1.2 odda.OMADRMData   =  R . . J j . . . . 4 . . . . . . . 7 . . . . . . L . Z . 8 . . Z . ! . . . . . . . K . . . y b . _ ? } " . . + p . . s [ . = 3 y W . s . . . + 4 . y . . 1 x ) . j 3 . . G . ! . .< . . G . . . P . j . 3 . m . . . . . . . . . . . U . . . . ? . I + . . . . i . . . . . . . . . . . . ! . + . V . 0 n . . . | . . . . . . . . l . # + . . . . . . . j . . 1 . V { . . . m . B R . ] M . . . . . F . . . . . .(加密的内容数据,略)
0.1 odrm.Extensions.n = 0
0.1 mdri#class= omadrm2.IsoDcf$MutableDRMInformation...test_decode-mdri
0.1 mdri.size = 4291B(h:8B)
0.1 mdri.Extensions.n = 2
0.1.2 odtt#class= omadrm2.IsoDcf$OMADRMTransactionTracking...test_decode-mdri-0
0.1.2 odtt.size = 28B(h:12B)
0.1.2 odtt.ext4 = ver:0/flag:0x000000
0.1.2 odtt.TransactionID16 = TID1173919171069(会话标志)
0.1.2 odrb#class= omadrm2.IsoDcf$OMADRMRightsObject...test_decode-mdri-1
0.1.2 odrb.size = 4255B(h:12B)
0.1.2 odrb.ext4 = ver:0/flag:0x000000
0.1.2 odrb.Data[4243] = <roap:protectedRO xmlns:roap = "urn:oma:bac:dldrm:roap-1.0">。。。(权限文件,直接以XML格式显示,而不是WBXML压缩格式)

分享到:
评论
1 楼 hhw312 2010-07-07  
顶好文章!
另外,请问你的odf文件是从哪儿找到的,有的话能给我在站内留言吗,或者email:hhw312@126.com,多谢~

相关推荐

    node-v8.15.0-linux-s390x.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    Java基础知识总结(超详细整理).txt

    Java基础知识总结(超详细整理)

    ISO IEC 27021-2017 信息技术.安全技术.信息安全管理系统专业人员的能力要求.pdf

    ISO IEC 27021-2017 信息技术.安全技术.信息安全管理系统专业人员的能力要求.pdf

    2024年中国DFB激光器芯片行业研究报告.docx

    2024年中国DFB激光器芯片行业研究报告

    公开整理-ESG视角下的多期DID构建数据集(2009-2022年).xlsx

    详细介绍及样例数据:https://blog.csdn.net/li514006030/article/details/138510939

    红帆OA(医疗版)漏洞细节未授权SQL注入请求注入数据包

    红帆OA(医疗版)是**一款专为医疗机构设计的办公自动化软件,旨在提高医院和相关卫生机构的工作效率和管理效能**。其功能特点包括: 1. **日常办公管理**:提供医院日常行政办公所需的基本功能,如文档处理、通知公告、会议管理等。 2. **科室管理**:支持医院内部各科室的管理需求,包括人员管理、资源分配、绩效考核等。 3. **信息集成**:能够整合医院内部的各类信息系统,实现数据共享和业务协同。 4. **多样化的医院类型支持**:适用于不同类型和规模的医院,如大学附属教学医院、综合性医院、专科医院、民营医院和集团医院等。 5. **业务范围广泛**:涵盖行政办公、医务室管理、科研管理、护士排班管理、党政管理和医患关系管理等多个方面。 6. **综合业务管理平台**:结合了卫生主管部门的管理规范和众多行业特色应用,是符合医院行业特点的综合业务管理平台。 7. **丰富的成功案例**:拥有众多成功案例,是医院综合业务管理软件中应用最广泛的之一。 需要注意的是,尽管红帆OA(医疗版)提供了强大的功能和广泛的应用场景,但任何软件系统都可能存在一定的安全风险,例如SQL注入漏洞等。因

    网页制作基础学习--HTML+CSS常用代码.txt

    网页制作基础学习--HTML+CSS常用代码

    ECHO HCS-2810ES_3810ES 操作手册

    HCS-2810ES_3810ES 说明书

    2024-2030中国3-吗啉丙磺酸市场现状研究分析与发展前景预测报告.docx

    2024-2030中国3-吗啉丙磺酸市场现状研究分析与发展前景预测报告

    node-v4.6.2-x64.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v8.8.1-linux-arm64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    QYResearch:2023年前10大高流量治疗系统企业占据全球98%的市场份额.docx

    QYResearch:2023年前10大高流量治疗系统企业占据全球98%的市场份额.docx

    0.Python实现3D建模工具(上)内含设计文档和源码.md

    0.Python实现3D建模工具(上)内含设计文档和源码.md

    node-v8.8.1-linux-x86.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    c语言文件读写操作代码

    c语言文件读写操作代码

    node-v9.8.0-linux-arm64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    公开整理-ESG视角下的多期DID构建数据集(2009-2022年).dta

    详细介绍及样例数据:https://blog.csdn.net/li514006030/article/details/138510939

    MATLAB编程高效实战:涵盖核心数学、科学计算、数据可视化及算法应用,助力工程师与研究人员的必备函数代码集

    这款“matlab常用的函数代码”资源是您的最佳助手!它详细介绍了matlab中常用的函数代码,包括基本数学运算、数组创建和操作、控制流、数据导入和导出、绘图、数学函数以及字符串操作等。无论您是工程师、研究人员、学生还是matlab爱好者,这个资源都适合您。 资源以通俗易懂的语言,配合实例演示,帮助您更好地理解和掌握matlab编程的核心技巧。您可以在学习matlab的过程中,将其作为参考资料,随时查阅和巩固知识点。也可以在准备matlab项目或考试时,通过这个资源进行复习和提升。此外,这个资源还可以作为教学资料,辅助教学和学习。 这个资源的优势在于它的全面性和实用性。它不仅涵盖了matlab中的常用函数代码,还提供了一些实用的编程技巧和经验分享。通过学习这个资源,您将能够更加熟练地使用matlab,解决实际问题和项目挑战。 这款“matlab常用的函数代码”资源旨在帮助您快速掌握matlab编程的基本知识和技能,为您的学术和职业生涯提供坚实的支持。还等什么呢?快来学习这个资源,开启您的matlab编程之旅吧!

    node-v8.9.3-linux-s390x.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    validate_before_handin.py

    validate_before_handin

Global site tag (gtag.js) - Google Analytics