-
-
[原创]通过修改系统函数创建"同名"文件的程序和代码
-
发表于:
2006-6-4 15:10
4527
-
[原创]通过修改系统函数创建"同名"文件的程序和代码
大概是一年前我写的东西,可能也没太多实际用途,不过程序本身基本上是一个调试器,所以就拿出来给大家看看。
同时用它可以做些好玩的事情
-------------------------------------------------
源代码和程序的地址:
程序:
ftp://FTP_visitor:visitor@ftp.csksoft.net/Public/Products/Crack/WinFileKiller.rar
代码:
ftp://FTP_visitor:visitor@ftp.csksoft.net/Public/Products/Crack/winfilekiller_src.rar
先说说这个程序有什么用吧。
之前一个朋友告诉我件怪事,就是他桌面上有类似这样的2个文件
"file1.txt"和"file1.txt1."
注意后面那个文件名最后有个"."。2个文件存在于同一目录下,不过修改任何一个文件的内容,另外一个也会跟着改变。
如果把其中一个删除,那么剩下的那个文件无论先前叫什么,之后都会成为"file1.txt.",即变成第二个文件名,且剩下的无法删除
其实可以试着建立个以"."结尾的文件名,会发现实际那个"."将会省略。我估计是应为文件系统实际上是把文件名和扩展名分开存储,而中间的"."并不存储,所以上面2个文件实际上会被windows认为同名文件看待,即"file1.txt",从而所有操作都会针对"file1.txt"进行。
经过验证的确如此,比如修改无论哪个文件,其实都是在修改"file1.txt"的数据。
那么我们换个角度想,如果通过某种办法能去操作那个"file1.txt."文件的数据,这样正规的操作将无法去读取其中数据,如此一来我们就可以把一些机密数据放在其中了。别人就算打开这个文件,也会因为windows把文件解析成了"file1.txt"而防止我们的信息泄露。
这样就能做很多事情,再用一个file1.txt去作为伪装,呵呵
我今天发的这个程序就是用来创建这样的文件的。平时如果想创建"file1.txt.",系统会自动滤去后面的".",而用这个程序将绕过系统的过滤部分,从而使得我们创建这样的文件。
这个程序还能把一个正常文件复制为一个以"."结尾的新文件,这样就起到了信息保密的作用,以后需要恢复里面的数据可以再用该程序复制回来
同时前面说过了,以"."结尾的文件,常规下除了格式化外是很难删除的,所以可以保证我们的机密数据不被破坏。要删除文件也只能通过我们的程序了^_^
不过还有另外一个好玩的现象:创建出"file1.txt"和"file1.txt."这样类似的文件对后,在资源管理器里面用重名名可以把后者改名为"file1.txt",就是说出现了同名文件!不过这只是暂时的,只要按F5刷新下就回来了,不过在别人面前变变魔术还是蛮有趣的
顺便说一下的是,以前在xfocus上的一篇创建带有"\"字符的目录的文章,实际上不是带有"\",而是带有"."。他的方法是命令"mkdir aaa..\"这样的形式。实际情况是windows把"\"过滤了,但是由于bug,后面的".."确没有过滤,所以就被得逞了。
具体的破解原理很简单,只是做个断点捕获,然后修改下缓冲区的文件名字符串,就是在过滤字符后,又把文件名改了回来。然后程序就是自己写了个简单的调试器去模拟在od的过程,这个大家就看源代码吧^_^
那个程序的截图
呵呵,祝各位玩得开心,不过不要拿来做坏事
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)