Board logo

标题: P处理文件加密与解密+P式键盘纪录器 [打印本页]

作者: luowei14     时间: 2007-7-28 20:16    标题: P处理文件加密与解密+P式键盘纪录器

批处理文件加密与解密
    许多人写了批处理之后喜欢加密以免别人修改版权,用得最多的就是编译成EXE文件。而有个比较特别的加密办法是给批处理文件加上 FFEF 文件头,让记事本一类的文本编辑器以UNICODE方式打开批处理文件,当然会显示乱码,但Windows本身并不认为这个文件是UNICODE格式文件,依然依次执行文件中的每条命令,批处理文件依然能够正常使用。

    接下来分析一下,用UltralEdit32的打开加了密的批处理,切换到十六进制模式显示如下代码:
00000000h: FF FE 0D 0A 63 6C 73 0D 0A FF FE 0D 0A 63 6C 73 ; ??.cls..??.cls
00000010h: 0D 0A ; ..   

    显然,如果强行在批处理文件头增加UNICODE文件头FFFE,肯定会造成批处理文件的第一条命令执行错误,而作者在FFFE后面加了一个 0D0A ,这是个回车换行,这样就不会影响被加密文件第一条命令的执行,但是会在屏幕上出现 “不是内部或外部命令,也不是可运行的程序或批处理文件” 的错误信息,作者又在这条命令后面增加了一个cls,立刻清除屏幕上的错误信息,可谓巧妙。

    写到这里,至于破解,大家也应该都能看出来了,方法很简单:只要用十六进制编辑器将被加密文件的文件头 FF FE 0D 0A 63 6C 73 0D 0A 删除掉即可。如果怕麻烦,只要把前面的FFFE删掉,然后用记事本重新修改一下即可。

    如果想很好的加密自己的批处理文件,试试 Quick Batch File Compiler 吧,它不但可以把批处理文件编译成EXE文件,还可以把批处理文件用到的外部命令打包到可执行文件中。



============
另类的破解方法:copy name.bat con

copy是复制命令,不多解释。
con 是dos 设备文件的简称。 在dos中把很多外部设备作为文件,称为设备文件。dos中这样规定的:con 控制台(键盘/显示器) aux (或com1)第一个串口 lpt1 第一个并行打印机接口,nul 不存在的设备
例子:copy con abc.txt
作用:把从键盘输入的文字复制到文件abc.txt中去,所以输入该命令后,再输入字符,结束时按下ctrl+z。你输入的文字就会保存到abc.txt这个文件里了。
例子:copy abc.txt con
作用:把abc.txt中的文字复制到屏幕上,也就是显示出来。

提出一个问题:copy con abc.txt 把从键盘输入的文字复制到文件abc.txt中去,
只能记录在DOS里输入的文字,要是能监视所有的键盘输入并记录到abc.txt中去的话!-----说白了就是BAT版键盘纪录器
老鸟们一起来讨论下,实现这个功能。。。

[ Last edited by luowei14 on 2007-7-28 at 08:17 PM ]
作者: wudixin96     时间: 2007-7-28 20:20
呵呵,这个已经知道了。

谢谢热心
作者: luowei14     时间: 2007-7-28 20:24
。。。。各位别只看了下就走啊。。。我那个问题还没解决了。以我目前的BAT知识尚不能完成这个作品 所以才会发到论坛上来 大家一起讨论下 怎么实现BAT版键盘记录器    copy con abc.txt 把从键盘输入的文字复制到文件abc.txt中去,监视所有的键盘输入并记录到某个文件里去!
作者: zh159     时间: 2007-7-28 20:39
监视键盘输入不是BAT的强项,没第三方工具不行
作者: vkill     时间: 2007-7-30 20:18
用合适的工具做合适的事
作者: qzwqzw     时间: 2007-7-30 20:31
copy con 是不能用做键盘记录的
因为开启它会导致所有的命令无法执行
这与用记事本编辑一个文本文件是类似的

dos/cmd下都有对应的键盘记录工具
在网上搜索即可
用在批处理中就算是用批处理实现了
作者: lianjiang2004     时间: 2007-7-31 00:16
用Quick Batch File Compiler编译,其实都不用破解就能获得批处理文件,就在temp目录下,更简单。而加密法至少还要动手处理一下文件。