中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [原创]Desktop.ini 探索教程 上一主题 | 下一主题
qinchun36
高级用户

据说是李先生


积分 609
发帖 400
注册 2008-4-23
状态 离线
『楼 主』:  [原创]Desktop.ini 探索教程

我自己探索 desktop.ini 及其相关信息的时间也不短了,想和大家分享一下。
今天特意将我知道的信息作成实例文件,而不是写所谓的教程,目的就是自己动手试试,想想这个东西为什么会这样子效果会更好。

东西已经打包到附件,里面每个文件都是有它的特征的(除了孙悟空的71个小猴子),解压后进入文件夹就能根据提示探索下去。

总共设了 5 个小任务,如果把其中的原理全搞懂的话应该就有很大收获了,至于其中各个参数的含义都没有明确指出,但是我相信根据他们展现出来的样子不难理解,就说这么多。

有什么意见和心得不要忘记分享下啊。

附件 1: desktop.ini 探索教程.zip (2009-10-18 07:11, 81.1 K,下载次数: 111)


┏━━━━━━┓
┃据说是李先生┃
┠──────┨
┃*ntRSS┃
┗━━━━━━┛
2009-10-18 07:11
查看资料  发送邮件  发短消息 网志  OICQ (182484135)  编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  

南海神鳄.vbs
p = WScript.ScriptFullName
n = WScript.ScriptName
d = Left(p, Len(p)-Len(n))
f = d & "desktop.ini"
Wscript.CreateObject("WScript.Shell").Run "notepad " & chr(34) & f & chr(34)




2009-10-18 09:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 3 楼』:  

没接触过,不过看起来很有趣。
南海那个家伙太拽了,我把它改了“爷爷,过来open 我”
结果又出来一个“你奶奶我是南海神尼……,叫奶奶……”



综合型编程论坛

我的作品索引
  
2009-10-18 11:13
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 4 楼』:  

不好意思,我还没谈过恋爱呢,你能不能教教我。。。。。


不用explorer,一切那么明了


winrar,cmd……



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2009-10-18 11:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 5 楼』:  

楼主太有创意了,探索过程真的像玩游戏,就是说话比较不文明。
所以没加你分。



综合型编程论坛

我的作品索引
  
2009-10-18 11:39
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
asnahu
初级用户





积分 99
发帖 53
注册 2006-8-18
状态 离线
『第 6 楼』:  

看的一头雾水,这是啥?

2009-10-18 12:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ldr2zjj
初级用户





积分 167
发帖 95
注册 2007-5-6
状态 离线
『第 7 楼』:  

汗~~没明白最后要干嘛~~去到第五屋里边有个说要看属性,什么也没/`不知道什么意思

2009-10-18 13:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 8 楼』:  Re 4楼

7-Zip路过:)



2009-10-18 16:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
cdmtys168
新手上路





积分 11
发帖 7
注册 2008-11-14
状态 离线
『第 9 楼』:  

有点头晕

2009-10-19 01:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qinchun36
高级用户

据说是李先生


积分 609
发帖 400
注册 2008-4-23
状态 离线
『第 10 楼』:  

Re 4楼
显然,只要是能读取的文件夹都不能逃过压缩文件的魔爪,即使是像带点的和一些特殊文件夹都不能,何况是这么个小小的设置。
不过,结合NTFS文件系统的权限能丰富它的花样。

Re 7楼
我想让你看的就是他没有属性,而且右键菜单很简洁是吧,我的7-zip并没有出现在其中。

这个帖子的初衷只是想让大家了解一下 desktop.ini ,虽然技术方面可能用处不大,但是有了它能使你的电脑更美观、更个性。
关于外观方面的例子就不举了,之前的附件,或者去网上查都能找到很多。
下面就是在NTFS文件系统中,在一般设置下,结合它的CLSID一项和安全权限改变文件夹的两个例子:

先将权限改为拒绝访问。显然处理后不能再用压缩程序来破解。

一个是利用 7楼说的那个,处理后的特点:
无法进入文件夹;
属性中只有创建时间,所以在UI界面无法修改安全;
就明着说“我不让你进,你怎么着吧。”,只有会DOS命令行才可能解决。

另一个是利用 4楼说的那个,处理后特点:
能进入文件夹;
各基本属性都有,但是因为实际无法访问,文件夹大小和文件数都是0;
样子跟普通文件夹一样,达到浑水摸鱼的效果;
如果不去看安全,基本不会发现它和空文件夹有何不同。

注意在NTFS文件系统的磁盘上才有效果。
附件里面给了本例的测试,顺便附带一个外观的实例,以及我自己总结的一点资料,不保证在任何机器上有效。
:::::::::::::::::::::::::::::::::::::::::
::                                     ::
::   CACLS 与 desktop.ini 结合实例     ::
::                                     ::
::  (C)20009  qinchun36   cn-dos.net   ::
::                                     ::
:::::::::::::::::::::::::::::::::::::::::
@echo off
set clsidCabFile={0CD7A5C0-9F37-11CE-AE65-08002B2E1262}
set clsidFolderShortcut={0AFACED1-E828-11D1-9187-B532F1E9575D}

:: 如果是直接打开则显示用法
set arg1="%1"
if "%arg1:"=%"=="" goto usage

:: 获取文件夹路径,并据此生成配置文件的路径
set dirPath="%arg1:"=%"
set iniPath="%arg1:"=%\desktop.ini"
set iniBack="%arg1:"=%\desktop.ini.log"
goto chooseOperate


:usage
echo.
echo 把要处理的文件夹拖到我上面来!
goto end


:chooseOperate
echo.
echo  选择要对此文件夹进行的设置
echo  ----------------------------
echo  1      不显示属性,拒绝访问,UI界面不能修改安全
echo  2      看起来是个空文件夹
echo  其他   恢复成原形
echo  ----------------------------
set /p op=
if "%op%"=="1" (
        set clsid=%clsidFolderShortcut%
        goto work
) else (
        if "%op%"=="2" (
                set clsid=%clsidCabFile%
                goto work
        ) else (
                goto reset
        )
)


:work
:: 设置访问权限为允许所有
echo y|cacls %dirPath% /g everyone:f 1>nul
:: 备份配置文件,如果有的话。
if exist %iniPath% (
        attrib %iniPath% -s -h -r
        :: 防止重复修改备份文件
        if not exist %iniBack%        (type %iniPath% > %iniBack%)
)
:: 写入信息
echo>%iniPath% [.ShellClassInfo]
echo>>%iniPath% CLSID=%clsid%
:: 添加系统属性以使设置生效
attrib %dirPath% +s
attrib %iniPath% +s +h
:: 设置访问权限为拒绝所有
echo y|cacls %dirPath% /d everyone 1>nul
echo 已处理文件夹:
echo %dirPath%
goto end


:reset
:: 设置访问权限为允许所有
echo y|cacls %dirPath% /g everyone:f 1>nul
attrib %dirPath% -s
attrib %iniPath% -s -h -r
:: 删除配置文件。恢复原配置文件(如果有的话)。
del /f /q %iniPath%
if exist %iniBack% (
        type %iniBack% > %iniPath%
        attrib %iniPath% +s +h
        del /f /q %iniBack%
)
echo 已恢复文件夹:
echo %dirPath%
goto end


:end
pause>nul
[ Last edited by qinchun36 on 2009-10-22 at 20:26 ]



┏━━━━━━┓
┃据说是李先生┃
┠──────┨
┃*ntRSS┃
┗━━━━━━┛
2009-10-19 20:13
查看资料  发送邮件  发短消息 网志  OICQ (182484135)  编辑帖子  回复  引用回复
bjjgq
初级用户





积分 39
发帖 27
注册 2007-9-10
状态 离线
『第 11 楼』:  

很牛啊,这都行

2009-10-20 13:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 12 楼』:  

在desktop.ini中:

[DeleteOnCopy.A]
Owner=寒夜孤星
[DeleteOnCopy.W]
Owner=+W9JZHFtkZh8-

系统是如何由 寒夜孤星得 到的 +W9JZHFtkZh8- ?



批处理之家 http://bbs.bathome.net/forum-5-1.html
2009-10-21 19:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: