CSK.Blog--个人原创Weblog

曾经的爱好~和我做过的傻事

其实程序,不,应该是电脑不是我最初的兴趣。 我以前比较喜欢搞电子制作,但那是文化过低,没有到设计电路的份上,但看图接线还是会的~ 当时比较自豪的就是能自己设计焊接FM发射电路。升压装置,还有把模型电动船改装为遥控的~~不过现在看也是小儿科了。哎,小学的美好记忆阿 其实现在还是很喜欢这一切,但首先没有条件,其次没有时间。 弄过电子制作的人都知道,这方面的东西比较“脏”。因为有些元件往往不是买来而是从其他地方拆下来。因此往往会收集在别人眼里看来是垃圾的东西。而焊接和冒出的烟雾更是在普通公房里所不允许的。 但我还是会弄一些的。 前不久心爱的文曲星坏了,后来发现是排线折断,哎,这质量……处于没有替代排线,我就疯狂的用漆包线来替代,但似乎条件设备有限,焊接格外困难啊~~ 这是那时候拍摄的照片,应为工程艰巨,不留念也太对不住自己了 放大的地方,哎,自己的设备太原始,焊这个十分吃力。 但是最终由于排线过于密集,修复工程失败,但我不忍心,但没办法,寒假继续把~~ 上篇提到了数字电路的课程设计,其实第一个设计是做一个有时,分,秒,毫秒的计时器。 这就是变态之处。一般分就足够了,要显示小时…… 加上我没有过数字电路设计经验,于是用了最原始的计数器和7段数码显示译码电路,电路图一下子就成这样了…… 但怎么说也是自己设计的第一个电子作品了,呵呵。由于考虑精确性,我采用石英振荡器作为脉冲,但那该死的教科书给了个没标有供电源的电路图,无奈只好自己尝试…… 呵呵,以后学了单片机就爽了。毕竟比起程序,这个更实在些

成为历史的CET4

真莫名其妙,非要等这种时候SJTU才让我们考CET4。我自然也和大部分人一样:裸考! 哎,不想对这个评论什么,毕竟自己不好,到了大学唯一接触e文的时候出了英语课就是msdn、breakpoint还有查阅资料时看到的东东了……以前也有一段时间写句子是总有种要加上()和;的冲动~~~ 不过考前我还是做了些题目的,但发觉那样似乎没用。错掉的题目终究不知道原因,于是从书橱中翻出了高中时候整理的语法和词汇点还有错题集。 终于发现自己还不是彻底的idealist,高中的自己和现在简直不能比较,当时的认真似乎没有了。如果我真是idealist也许就不该读大学了,似乎这样还能学到更多。 有个办法是马上退学然后打着继续考大学的幌子读高四,然后死循环。利用高四的紧张气氛学习大学知识,然后考研。呵呵呵,我是疯子阿~~~ 期末将至,面对数点和基电的论文,没办法,那就做吧。我是属于那种宁愿自己不会做,交不出,也不会去抄别人的人。哎。不知道这种性格是好是坏,反正我知道多锻炼自己才能学到真本事…… 不过有些老师也太疯狂了,就比如X国华(呵呵~~其实n多人都这么叫他)。总把电子工程师放在嘴边,布置得作业和课程设计也bt。昨天在MutliSim里面胡乱弄了一下午,放弃……改日继续努力 呵呵。作为一个教徒,在这个日子里面还是要祝各位Merry Xmas!

来说说目前编译器对宽字符符号的支持

如果不明白标题的含义就看下面的代码: 如果我说这段代码能通过编译的话你会怎么想? ...

利用动态修改API函数创建“同名”文件及其利用

作者该文章保留对文章的版权,转载时请注明出处。 文章中需要WinFileKiller工具,你可以在我的blog:blog.csksoft.net找到说明文章和下载地址 工具下载地址:[url]http://www.csksoft.net/blog/post/11.html[/url] 不要被标题那拗口的文字弄晕了,不过用这种办法可以做很多事情哦~~ 首先要从和一个朋友的对话说起:他曾经在用FlashGet下载文件时候突然发些在桌面上产生了类似于这样的两个文件 download.rar download.rar. 注意第二个文件名后面有一个点"."。我一开始也没觉得有什么大不了的,但后来他对我说这两个文件中只能删除其中一个,假设删除了"download.rar."。这是奇怪的事情发生了:留下的“download.rar”或自动更名成为“download.rar.”。然后就删不掉了。 我不知道为什么FlashGet会产生这样的文件,但当时我的朋友正苦于想办法删除那两个文件,于是我想到了以前发布过的WinFileKiller,就是那个用来创建con.txt的工具(请参见[url]http://www.csksoft.net/blog/post/11.html[/url]),毕竟那个是通过修改内核进行工作的,可能管用,于是就传给他,用里面的删除功能。果然有效!文件被删掉了。 后来经过我研究,WinFileKiller还可以创建这样的文件:即文件名以"."作为结尾。同样这样的文件是用正常办法无法删除的。 不过如果问题就仅仅如此简单那也就罢了。下面就来说说这个以"."结尾的文件的一些有趣的问题: 除了上面所说的无法删除和自动更名以外,如果你在创建一个前面文件名字相同,但没有最后的"."的文件,比如: file.txt file.txt. 你会发现它们2者均能正常访问,如果用记事本修改其中一个的数据,那个打开另外一个文件时,会发现显示出来的数据是相同的! 当然还有更有趣的现象,那就是能创建出“同名”的文件(对于这个的解释后面会详细说明) 这是在windows explorer里面显示的情况: 上面的图绝对不是我处理出来的哦。其实只要在explorer里面把test1.txt.改名为test1.txt即可。但我是给重名文件加上引号的,因为这种重名现象很不稳定,你只要刷新下explorer显示就会回到前面的状态了。 但我不是要重点说这个的,现在就来分析下产生这些现象的原因吧。 首先在explorer中是无法直接创建以"."结尾的文件的:比如我要创建"file.txt.",如果起先没有"file.txt"这个文件,那么当你在创建文件输入文件名"file.txt."以后,系统会自动为你改名,你实际就创建了"file.txt"。对于原先存在"file.txt"的情况,当你要创建"file.txt."以后,系统就会提示你有同名文件存在。 可以说是系统把最后面的"."给略去了,这样正好能解释上面的现象。那为什么要略去呢?我们来研究下文件系统吧。 一般文件名分为标题名和扩展名两部分,这大部分人是知道的,比如上面的file.txt。他的标题名是file,扩展名是txt。这没问题,那么请问中间的"."属于什么呢?可能只能算是分割符吧。 但实际上文件系统中文件名是不保存分割符"."的,所以上面的file.txt在磁盘上其实就记录成下面的形式 file txt。其中空格可能是用一个0字节来将2部分分割开来了(当然本文不是要论述文件系统的,具体解释请参考资料)。 所以上面的“file.txt”,实际上那个"."是不记录在文件系统里面的,只是在显示的时候由文件系统负责加上去了而已。 知道了这点那么我们就来研究“file.txt.”这样的文件: 按照规定,扩展名部分是文件末端到由右向左出现的第一个"."位置的部分,如果没有出现".",则表示没有扩展名。 于是得出的结论是上面这个“file.txt.”是没有扩展名的。按照上面的说法,文件系统中他的记录形式可以是: file.txt<分割字节><空字符串> 也就是说最后面的"."是被去掉也是无所谓的。但他和“file.txt”实际上不是同名的文件。 但是我们知道除了文件系统内部,一般程序都是用以“.”作为分割符的文件名的,对于普通程序,由于略去了最后的“.”,“file.txt.”和“file.txt”在字符串形式上就成了同名文件。 如果你打开了“file.txt.”,由于略去了最后的".",实际上最后访问了“file.txt”。这就是为什么修改了其中的一个文件,另外一个文件就会跟着改变的原因。 而对于文件的删除,由于2个文件的等效性,无论删除哪一个,实际上都是“file.txt”被删除。所以总会留下那个“file.txt.”,因此就会感觉是自动被改名了。 同样,如果再想删除留下的那个“file.txt.”,因为实际要删除的是“file.txt”,但这个文件已不存在了,所以系统当然就会报错,那也就无法删除了。 这样一来,上面的问题就解释好了,不过为什么系统会显示file.txt.而不把"."在显示中略去的原因我还没有弄清楚。 这里顺便说一下以前看到的建立带有"\"文件夹的办法,大家还记得创建的方法吗? md c:\aa..\ 为什么在文件夹后面要带上“.”。同时建立的文件夹也和我这里说的带有点的文件具有相同的性质!后来经过我反汇编CreateDirectoryW API发现,其中调用完RtlDosPathNameToNtPathName_U以后,没有对文件名正确性进行检查。这和我的WinFileKiller修改的目的一致:绕过了正确性检查。 而我尝试用WinFileKiller建立如下文件“file..\”。但失败了,“\”在RtlDosPathNameToNtPathName_U调用完毕以后就被略去了,在CreateDirectoryW 中也是如此(这是说的是WinNT内核下面的情况) 所以我猜测其实md c:\aa..\是建立了以“.”作为结尾的文件夹而不是先前认为的带有“\”。 呵呵,扯远了。 下面就来说说利用的问题。 接着上面说的“file.txt.”和“file.txt”。因为按照常规的操作,实际上都只是“file.txt.”这个文件被访问,所以“file.txt.”可以被认为是“中立”了。 但是如果我们想办法把数据写入到其中,在需要时在通过特殊手段读取出来不是很好玩吗? 比如我把很重要的数据注入“file.txt.”,又附上“file.txt”里面存着无关的数据。这样可以很好的保护自己的信息,别人即使打开“file.txt.”,那也是在看“file.txt”得文件,而要删除“file.txt.”,那也是删除了“file.txt”,呵呵,很有趣不是? 如果有种病毒能利用这个原理复制自己的话,那我想目前所有的杀毒软件都会失效^_^ 对于这种文件的制作和数据植入我已经在WinFileKiller里面实现了,具体办法可以看[url]http://www.csksoft.net/blog/post/11.html[/url]。对于写入数据其实就是用同样办法修改MoveFile API。 说下简单的文件注入: 启动了WinFileKiller以后,选择2:"copy a File".此时按照提示,现输入要注入数据的源文件路径,然后输入带有"."结尾的文件路径即可。 其实这只是利用了文件系统的一些运作机制而已,并无高深技术。 本文适用于windowsXP和win2k,理论上支持winNT内核系统。测试环境winxp sp2_RTM

帮我表弟做下宣传~

我表弟Somnia(其实我更喜欢叫他阿呆^_^)最近又新作品发布了。呵呵,这是由他带来的Trance新作Cascade,Original mix FTP下载地址:[url]ftp://FTP_visitor:visitor@ftp.csksoft.net/Public/DJ_SOMNIA/Cascade.mp3[/url] 希望各位能喜欢,他的Blog地址[url]http://spaces.msn.com/members/djsomnia/[/url]

即将告别FTTB+LAN和我现在的家

随着日子的邻近,下周我就要住进新家了,虽然说环境和现在没得比,但有一点令我不爽,那就是网络。 我现在的小区不知什么原因使全上海最早推行FTTB+LAN(光纤到小区,局域网到户)的10个小区之一,所以我很早就享受其宽待的实惠。用过的人都因该知道FTTB绝对要比ADSL性能好,光从支持上传下载双通道上就能说明问题了。 但我的新家属于新城区,那里有些地方连基本通讯设施都没,别说什么光纤了,而且可能永远都不会有FTTB+LAN了……于是无奈只能开始习惯ADSL了,真想狠心把电信给hack了,...

Win32编程经验

呵呵,其实也不是什么原创的东西。只是拿出来和大家分享^_^ 第一回 1.如何减小程序尺寸 有没有发现如下短短的代码用VC编译出来的Release版也要46kb呢? 而如果你用MASM写换等效的汇编只有2kb左右。虽然我们可以用AsPack或者UPX加壳,但如果本来程序就能控制的很小岂不更好? 2.如何删除程序本身和正在运行的程序 其实不算删除,只是移位。但对付病毒和流氓软件足矣! 3.如何变出在一行上显示比如"正在计算:80%完成"的console?

也来说说我的设计作品

其实与其说我喜欢编程,更确切的说是喜欢搞设计,当然平面设计是一个方面。但设计是包含在几乎所有领域的事情。但这里我说的还是平面设计为主的事。 因为感觉我经常发布自己的程序和破解作品,但很少有设计作品,所以就展示一下吧。 首先放出的就是我网站一直能看到的标志了,你要问这是什么我想也就只能解释的今天的地步了:-p ................

关于国产软件和信仰

今天无聊,于是到网上逛逛,看到了下面这个帖子。原本只是看看,但发现他们吵了3天,于是也就写点什么了,同时blog一周每写了,就把回复也发上来吧... [url]http://www.pcshow.net/bbs/viewthread.php?tid=350767926&extra=page%3D1[/url] 我原本也认为WPS很LJ,并且我现在也觉得它和MSO比还是有一定差距。但我对这里的斑竹态度表示不理解。 目前WPS推出个人版下载,一时间也红了起来)、。我前一段时间因为好...

爱好、热情、责任,现实和我的唯心观

从标题中就应该能猜到这个话题比较严肃了。也是我不太喜欢的说话风格了。 但有时候这些事情一直困扰着我,也许也困扰着很多人。而现在blog重新恢复它应有的作用时,似乎也是我开始说出自己心里话的时候了。 其实以前一直有一种想法:我喜欢一样东西,那正表示我不能一直接触它。而当我的生活中充满了这样东西时或许我就会渐渐的厌倦。其实这就是喜新厌旧。但我说的不是具体的“东西”(Object)。就比如我初高中很喜欢物理,但随着学科内容变多,我慢慢的变成了被动的学习,到现在完全丧失这方面的优势。 而现...
分页:[«]1[2][»]

Copyright Shikai Chen 2000-2012. Powered By Z-Blog(CSK Modified)