永发信息网

.dxr是什么文件类型

答案:2  悬赏:80  手机版
解决时间 2021-02-13 01:25
.dxr是什么文件类型
最佳答案
DXR是Macromedia Director受保护(不可编辑)电影文件

Director文件的保护与还原
donlee

作为广受多媒体开发人员钟情的开发平台,Director可以根据开发人员的需要输出多种格式的文件,其中最常用的格式当属dir文件以及加以保护的dxr文件,后两种格式的文件是用于播放的,不可再用Director编辑,一般最终作品都做成这样的格式。但在我们在实际开发过程中,往往由于备份文件损坏或出于学习观摩的目的等种种原因,有必要打开这类文件作为参考或继续编辑。本文从技术的角度出发,完全依靠Director自身提供的工具,对dxr文件的保护与还原手段作一探讨,所有讨论基于Director 8.0。

一、保护

Director在其IDE环境可通过逐级选择菜单"Xtras"->"Update Movie...",来把文件改为dxr格式,或通过publish输入为dcr格式的文件,不允许再被Director打开或编辑,以此来保护作品不被篡改。这是Director所提供的最基本的保护手段。

二、还原

不知出于何种考虑,Director所内嵌的lingo语言中有savemovie、save castlib两个保存movie和cast的命令,而且这两个命令对于dxr和dcr也有效!正是这两个命令,为还原被保护的文件大开方便之门。由于我们不能在Director下直接打开这两种文件,于是我们想到了MIAW,把它们通过MIAW打开,Director允许使用tell命令向miaw发送消息,因而我们尝试用这种途径来遥控dxr保存成可以再编辑的dir文件。作法如下:
新建一个movie,编写一个movie script,内容为:
on outputdir input output
miaw=window(input)
tell miaw to savemovie output
forget(miaw)
end

假设我们要打开的文件是“D:\Locked.dxr”,希望解除保护并另存为“D:\unlocked.dir”,则执行此movie,在message窗口中输入outputdir "D:\Locked.dxr" "D:\unlocked.dir",然后我们察看D盘根目录,将会在那里发现unlocked.dir文件,这个文件可以用Director打开,所有的score、member安排与原文件毫无二致,但其中所有的script内容均为空白。
正如把李白的诗翻译成英文,再由英文译成的中文已完全见不到诗仙的影子。由于转换成dxr格式时,movie内的script都经过编译,转换成由计算机执行的代码。所以用savemovie也不可能得到原来文本格式script,下面谈到的所有还原手段对此都无能为力。
目前在Director各论坛上大受青睐的还原工具dirOpener实际上完全基于以上思路来完成的,这个小工具也的确是用Director来制作的。但dirOpener具有一个很好用的界面并补充了一些关于光标和不规则窗口的“秘技”,这为Director初学者提供了一些方便,但对于有一定lingo编程基础的人来说,它的能力实在有限,不如自己做一个更强的opener,至于理由,请看“再保护”。

三、再保护

通常开发人员希望全面保护自己的作品,即使是score也不愿被他人窥视,怎样防止别人用savemovie之类的手段来还原呢?还是用lingo!我们可以写一个处理程序,当movie接收到savemovie命令时不保存movie,而是执行我们所定义的代码,对于save castlib也做同样处理。下面的例子是方法之一:
on savemovie
quit
end
on save castlib
quit
end

如果movie script含有以上内容时,则当movie接收到savemovie命令时,不会执行保存,而是退出集成环境或projector,如果企图用dirOpener还原这样的dxr文件,结果将是没有任何dir或cst文件输出,并且dirOpener自身也被退出,这是由quit命令的特点决定的,既然dirOpener是用Director制作的,自然难以逃此噩运,有此软件的朋友一试便知。

四、再还原

为了解除用上述savemovie方法施加的保护,我们再次仔细研究一下lingo,发现可以用lingo在runtime动态地增加或删除member,或修改现有的member的内容。于是我们有了这样的想法,先检查一下movie中所有的member,如果是script,则删除它,自然savemovie之类的保护手段也不存在了。前面已经讨论过,还原出来的dir总是丢失所有script内容,所以在这里删去它们也不会带来更多的遗憾。解除所有script作用的代码(包括保存新的movie部分)如下:
FileToBeOut=the file name to be output --modify it in your scripts
miaw=window(FileToBeOut)
tell miaw
repeat with i=1 to the number of castlibs
repeat with j=1 to the number of members of castlib i
if member(j,i).type=#script then
if member(j,i).scripttype=#movie then
member(j,i).scripttext="" --script内容成为空白,但member名称会保留
--或者 member(j,i).erase() --整个member被删除
end if
end if
end repeat
end repeat
--上面的两层循环查找所有cast中的所有member,并解除所有movie script的作用
savemovie "输出文件名" --为输出的文件命名
end tell
forget(miaw)

至此,基于lingo的保护完全失效。我想在Director的下一个版本中,Macromedia应该不会保留这种双手互搏之术了。

如果朋友们有兴趣,可以在此基础上包装一个好界面,自己做一个新的dirOpener。如果希望方便使用,可以用fileio xtra的displayopen和displaysave函数,来选择要输入、输出文件的位置及文件名。至今我还是不能理解为什么作为免费软件的dirOpener要捆绑大而贵的三个net相关的xtras和directOs。

这种方法并不是万能的,尤其对于dcr文件,上面的手段往往无所施其技。
全部回答
DXR是Director的电影文件, 不过是保护了的格式, 一般无法用Director打开了, 绝大多数的商业CD-ROM都是以DXR格式发布的。以下文章介绍了打开方法: http://www.5d.cn/5dmedia/multimedia/director/tips/20001107/00000558.htm
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
"如果有一天我们有缘再见,你会不会想起我们
本位地址有知道的么?有点事想过去
西安在哪里能买到韩国高档化妆品?
咖岸(湖景店)地址在什么地方,我要处理点事
华为手机16g内存不够用怎么用SD卡
明强超市这个地址在什么地方,我要处理点事
山茶花的英文用中文怎么说、?
迈动射箭俱乐部地址在什么地方,我要处理点事
中国举办奥运会的意义
江湖玖久涮烤城(禹城店)地址在哪,我要去那里
重庆市第一中级人民法院地址在那里
佛山市罗村医院到底属于哪个镇。桂城街道。狮
hit fm live糖果电台宣传广告广告背景歌曲 有
我每天都想着老婆的姐姐不知道是喜欢还是爱恋
育英乳品NO.5地址在什么地方,想过去办事
推荐资讯
双星鞋店地址在什么地方,想过去办事
一部很老的武侠电影 里面最后那个大反派有一
建行卡应该有十年没用了,那时银行的工作员说
常压恒温干燥法要求药物的熔点一般在A.100℃
工商银行环球旅行信用卡有什么优惠
黄金脆皮玉米都有什么口味
我是店长 可是店员总觉自己的能力强 不服从怎
安阳大众地址在什么地方,我要处理点事
吉士酒楼我想知道这个在什么地方
用以传达重要工作会议精神和议定事项的会议纪
黑色塑料划痕处理妙招,大家对此有了解吗?
茗源茶庄地址在什么地方,想过去办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?