|
主题: 关于diropener及其diy(转自MMCHINA)
|
Call Me Simon
职务:普通成员
等级:2
金币:2.0
发贴:646
|
#12000/12/12 18:21:56
这是donlee在macromediachina的director 论坛的一个贴子, 很有用, 我也没问donlee 就转过来了, :):) 顺便介绍一下, donlee 是那边的版主。 引用:
许多朋友对diropener感兴趣,下面谈一点自己的看法: 我们在director中今后制作了dir,这是不加保护的源文件,然后通过xtra、aftershock或publish来转换成用director不能打开的dxr或dcr,无论哪种格式,其内部的script均经过编译,至今我尚不知道有什么办法从上述文件中得到script源代码。 实际上director提供了一个savemovie,例如,我们在author状态下通过message输入savemovie "c:\myback.dir"就可以得到当前文件的一个副本。 对于dxr和dcr,我们可以用类似的方法,用miaw作为桥梁来传送savemovie,假设要打开受保护的文件protected.dxr(dcr),我们可以这样做: on startmovie miaw=window("D:\protected.dxr") tell miaw savemovie "D:\unprotected.dir" end forget(miaw) end 一般情况下就可以得到与diropener等价的结果,如果愿意可以通过fileio等xtra上fileopen等对话框,经过编译也做一个opener。 但这种方法不是万能的,如果我要保护我的movie,在movie中加上 on savemovie alert("No! No!") --或其它的什么,甚至nothing end 那么,我自己也无能为力了。 我有点吃惊的是diropener的作者使用了directos,不知道有什么特别之处。我用d8作了一个movie,加上了on savemovie,diropener报告由于版本....,无法...,不知d7的类似movie可否用diropener打开。我在机器时没有d7,麻烦试过的朋友告诉我一声.
编辑历史:[这消息被草原风编辑过(编辑时间2001-11-04 04:45:32)]
|
wws2000
职务:普通成员
等级:1
金币:1.0
发贴:126
|
#22000/12/14 8:11:22
这个好的贴子,怎么没有回应,有点枉费了flyingbird版主的一片苦心。 以前我用diropener的确发现有些dcr或dxr文件打不开,反而用savemovie命令倒可以,另外我发现除了让miaw保存自己以外,还可以用以下方法: go to "xxx.dxr" savemovie "unprotected.dir" 这种方法成功机会好像不如用miaw保存的方法。
但这几种方法正如donlee所说并不是万能的,有些根本打不开,尤其是macromedia本家的一些作品我不知道他们用什么方法加的密。好像也有一个什么“不能完成请求的命令”的提示来着。
自从flyingbird公布opener以来,我也在琢磨director作品的安全性问题,并发现了一个“让别人不能看您的dxr或dcr文件的方法”,不过还不太成熟,现在已经到上班时间了,等下班后我尽快贴出来。
|
toto
职务:版主
等级:5
金币:17.0
发贴:2582
|
#32000/12/21 1:16:18
flyingbird 在DR6和7中同样能实现这个alert功能,真的就没有别的办法看到dxr中的源程序吗?
wws2000你能把你的 go to 无法通过,能不能再写的详细些
|
wws2000
职务:普通成员
等级:1
金币:1.0
发贴:126
|
#42000/12/21 8:07:54
上面已经写得很明白了,不管怎么说都是让打算被破解的movie执行一个savemovie的命令,很简单都是两句命令: 方法1: open window "protected.dxr" tell window"protected.dxr" to savemovie "unprotected.dxr" 方法2:go to window "protected.dxr" savemovie "unprotected.dxr" 方法2不如方法成功率高,因为有时go to 执行后不等待,就执行下一条因此有时可能保存成跳转前的movie, 不过倒是可以改造一下即: if the movie="protected.dxr" then savemovie "unprotected.dxr"
另外,donlee 介绍了让dxr或dcr无法破解的方法下面我介绍一下让它们“连看都无法看”的方法:
1、建一共享cast库,让除播放器movie之外的所有movie与之连接。 2、在该库内建一movie script 演员,其lingo代码如下:
on startmovie global password if password<>"wws2000" then quit --wws2000为密码值 end
3、让播放器movie运行一开始先输入密码,搞一个密码登录。 on mouseup me global password if member("password").text="wws2000" then go to "start" password="wws2000" else quit end if end
4、打包播放器为exe。
以上方法大伙看看行不行?
|
荣誉版主
职务:普通成员
等级:1
金币:0.0
发贴:82
|
#52000/12/21 17:02:41
不行,我还是能知道你的密码
|
D计划-混沌
职务:管理员
等级:6
金币:15.2
发贴:3528
|
#62000/12/21 20:50:38
可以读时间再加算法(分以上,秒太快,自己都进不去)
|
荣誉版主
职务:普通成员
等级:1
金币:0.0
发贴:82
|
#72000/12/22 13:13:21
dxr,dcr安全漏洞很多。可以轻松的得到全局变量的值以及属性变量的值。
|
toto
职务:版主
等级:5
金币:17.0
发贴:2582
|
#82000/12/22 13:34:21
cjx2000能告诉我怎么得到吗?
|
cooly
职务:普通成员
等级:1
金币:0.0
发贴:11
|
#92000/12/22 13:36:49
dxr用savemovie转成dir后,好像script都没啦!!!不是吗?我这儿是这样。
|
D计划-混沌
职务:管理员
等级:6
金币:15.2
发贴:3528
|
#102000/12/22 23:17:32
这样呀,书上还说D加密%^$^$&%^&%&% 我劈
|
荣誉版主
职务:普通成员
等级:1
金币:0.0
发贴:82
|
#112000/12/23 0:12:15
如果把dxr或dcr作为外部文件(注意不要把加密的这两个改名成dir,否则导不进来)导入角色表中,把脚本开关打开,在消息窗中按下跟踪代码按钮。天哪,全局变量、属性变量全都出现。简直就大公开,如果你有密码,嘿嘿,暴露了。就算是投影机(exe)照看不误。全是消息窗的错。不过我在研究对象的方式,如何避免,办法是有,但太麻烦了,谁愿意多化时间,但真是要检测密码方式,还是认真一点,尽量避免吧。
|