分享

巧用DOS命令实现文件合并隐藏秘密

 欧阳白静 2011-08-16
巧用DOS命令实现文件合并隐藏秘密 [转贴 ]   
 
我们都知道DOS命令Copy的主要作用是复制文件,可是你是否知道,它还有一个作用是合并文件呢?  

  一般情况下,它主要用于合并相同类型的文件,比如将两个文本文件合并为一个文本文件、将两个独立的MPEG视频文件合并为一个连续的视频文件等。那么,如果用它合并两个不同类型的文件,结果会怎样呢?  

  笔者发现,巧妙地将一个文本文件合并到一个非文本文件中,可以实现隐藏秘密的作用。一起来看看吧。

  比如你有一段私人信息要隐藏起来,请先录入并保存为文本文件,假设保存为001.txt。另找一个非文本文件,最好为图片文件或可执行文件。以图片文件为例,假设它的文件名为002.jpg。如果把它们都放到D盘根目录下,那么在Windows的MS-DOS方式下执行以下命令:

  d:\Copy 002.jpg/b + 001.txt/a 003.jpg

  其中参数/b指定以二进制格式复制、合并文件;参数/a指定以ASCII格式复制、合并文件。这里要注意文件的顺序,二进制格式的文件应放在加号前,文本格式的文件放在加号后。

  执行该命令后,生成了一个新文件003.jpg。回到Windows中用图片浏览软件打开这个它,你会发现它与002.jpg的显示结果一模一样——别着急,秘密马上揭晓!用记事本打开003.jpg(在记事本的“打开”对话框中选择“文件类型”为“所有文件”才能打开非TXT文件;或者直接用鼠标把图片拖进记事本窗口),你看到什么了?一堆乱码吗?没错!但如果你按下Ctrl+End键将光标移至文件的尾部,哈,你再看看!是不是001.txt文件中的内容?呵呵,“秘密”原来在这儿。

  按照这种方法,你可以轻松地把一些重要信息隐藏起来,比如用户ID、密码、重要私人信息等。

  这个方法的确很巧妙,推荐尝试!哪怕你并不想隐藏什么,它也能带给你一种新奇的感觉。但经过我的验证,有一点要提醒大家:就是这个文本文件的前面最好空上3行以上,这样它头部的内容就不会丢失。
DOS启动盘制作教程:基本信息

  DOS对从windows时代接触计算机的人来说,晦涩了一点,神秘了一点,遥远了一点,但这不能成为我们掌握DOS的绊脚石。学会些DOS知识会让你在电脑世界里玩的更痛快,面对棘手的问题的时候更加游刃有余。DOS不是万能的,但没有DOS是万万不能的。DOS已经很老了,但它还没到退休的年龄,很多windows下解决不了的问题,还是要回到dos下来解决的,我们拥有windows,但是我们还需要DOS……

  DOS启动盘是目前我们最常用的DOS工具,附带的一些外部命令和工具会帮助你解决很多问题,本文就DOS启动盘的制作和使用为大家做详细描述,DOS版本为WIN98SE附带的DOS7.1。

  首先说明一下各种操作系统启动到DOS的途径:

  1、开机后按F8,选择第5项回车,可以进入系统自带的基本dos7.x环境。

  2、纯2K/XP/2003:系统没有自带DOS,需要通过DOS启动盘或虚拟软驱来得到DOS环境。

  我们将介绍4种DOS启动盘的制作方法,4种启动盘中共同存在的基本程序文件说明如下:

  ATTRIB.EXE 文件属性修改工具。

  AUTOEXEC.BAT 开机自动执行批处理。

  CONFIG.SYS 系统配置文件。

  DELTREE.EXE 删除目录及内嵌文件。

  DI1000DD.SYS USB设备驱动。

  DOSKEY.COM DOSKEY,方便的命令行工具。

  EDIT.COM 文本编辑工具。

  EMM386.EXE 内存驱动。

  FDISK.EXE 98SE自带的分区工具。

  FDISK-ME.exe WinME自带的分区工具,支持60G以上硬盘。

  formAT.COM 格式化工具。

  HIMEM.SYS 内存驱动。

  JMHDFIX.EXE 江民硬盘修复王,修硬盘的好东东,新手慎用。

  LCC.COM 进出目录的工具,支持中文目录。

  MOUSE.COM PS/2、Serial接口鼠标驱动。

  MSCDEX.EXE 光驱管理程序。

  OAKCDROM.SYS 通用光驱驱动。

  PC.EXE PCTOOLS。

  r.com 重启工具。

  SCANDISK.EXE 磁盘扫描工具,用来修复一些磁盘问题。

  SMARTDRV.EXE 磁盘高速缓冲。

  SYS.COM 传递系统。

  USBASPI.SYS USB驱动。

  XCOPY.EXE XCOPY文件目录复制工具。
如何在DOS下操作回收站

  回收站是Windows系统中的一个重要组件,它给了用户一剂“后悔药”,允许我们恢复误删除的文件。但是,由于种种原因,我们必须在DOS下删除或恢复回收站里的文件怎么办呢?没关系,笔者对这个问题进行了一番研究,现在整理成文告诉大家。

  一、在DOS下恢复回收站中的文件

  当我们把一些文件误删除后,发现无法进入Windows时,这时候我们就必须在DOS下从回收站中恢复文件了。重新开机进入DOS模式(如果有必要可以使用软盘或光盘启动),在DOS提示符下键入CD RECYCLED后进入到C:\RECYCLED文件夹下,这是一个隐藏目录,我们要恢复的文件就放在这里头(如果你要恢复的文件原来在D盘,相应的目录是D:\RECYCLED,以此类推)。用DIR/A命令可以列出一堆DC开头的隐藏文件(DC1.txt, DC2.com……),这些就是要恢复的文件。

  但是由于Windows在把文件移至回收站时把文件名给改了,所以还需要找回原来的文件名。原来的文件名可以从RECYCLED目录下的INFO2文件中找。INFO2是一个二进制文件,每一个被删除的文件在INFO2文件中有一段记录(800字节),其中可以找到文件名,其他的信息都不是ASCII字符,我们也不用关心。而且文件名按顺序排列,第一个文件名就是DC1.*文件原来的文件名,后缀名保持不变。如果被删除的是目录,在RECYCLED下就有一个叫DC????的目录,用同样的方法可以找回原来的目录名。但是恢复起来远没有在Windows下恢复得那么方便,大家必须要有耐心。

  二、在DOS下删除回收站中文件

  有时候,我们对于的确不需要的文件也要进行真正的删除操作,以免占去太多宝贵的硬盘空间。一般情况下,我们都是通过右击“回收站”再选择“清空回收站”命令来删除。据笔者使用发现,有时“回收站”里文件比较多,删除需要一定的时间,看着硬盘灯长亮,听着那清脆的硬盘声,心里真有些……而且有一些文件还顽固不化,根本删除不掉!其实,我们完全可以在DOS下快速、彻底地删除掉“回收站”中的文件。具体方法如下(以下操作假设Windows安装在C:\WIN98下,如果你的Windows安装在不同的文件夹下,请自行修改):

  1.单击“开始”→“运行”,在运行对话框中填入“COMMAND”,进入DOS窗口;

  2.拷贝C:\WIN98\COMMAND\DELTREE.exe C:\目录下;

  3.通过CD命令进入C:\RECYCLED文件夹(DOS下叫目录);

  4.DELTREE /Y *.* >MUL;

  5.键入EXIT退回到Windows中。

  以上操作也可以制成一个DOS的批处理文件,但是在使用前一定要三思!因为使用此法将会造成你在回收站中的文件永远找不回来!
用DOS命令查QQ好友IP地址

  查QQ好友IP地址还用得着这么麻烦吗?给QQ打个补丁不就行了吗?不错,这样做是很简单,但是如果是新出的QQ,“补丁”还没有做出来那又该怎么办呢?用IpSniper等软件呗,如果手头上没有又急着查又该怎么办呢?可以用其他软件,比方说……好了,说来说去都要别人的软件,为什么不试试DOS命令呢?即简单,又方便,还很环保(不像应用软件还得另外安装占用硬盘空间,使用时还占用相同资源)。

  不多啰嗦了,正式开始。 首先,用甜言蜜语、糖衣炮弹之类的武器把你想知道IP地址的那个人“请”到QQ的“二人世界”里。接着,我们在DOS窗口里(Win9x下叫DOS,Win2000下叫命令提示符)。输入如下命令:

  netstat -n

  你将看到:

  Active Connections

  Proto   Local Address   Foreign Address    State

  TCP  202.109.34.78:1200  202.121.139.35:61555  ESTABLISHED

  TCP  202.109.34.78:2694  202.109.72.40:6667   ESTABLISHED

  TCP  202.109.34.78:4869  211.202.1.227:23    ESTABLISHED

  好家伙,这么多IP!哪个才是我们要找的呢?别着急,往后看。我们现在退出“二人世界”,然后在DOS下再输入一次:

  netstat -n

  你将看到:

  Active Connections

  Proto   Local Address    Foreign Address    State

  TCP   202.109.34.78:1200  202.121.139.35:61555  TIME_WAIT

  TCP   202.109.34.78:2694  202.109.72.40:6667   ESTABLISHED

  TCP   202.109.34.78:4869  211.202.1.227:23    ESTABLISHED

  看出前后两次的区别了吗?没有看出来?仔细着看,你会发现:

  原来:TCP 202.109.34.78:1200 202.121.139.35:61555 ESTABLISHED

  现在:TCP 202.109.34.78:1200 202.121.139.35:61555 TIME_WAIT

  好了,现在你该知道了吧?对!和你聊天的人的IP就是:202.101.139.35!那你是怎么知道的呢?朋友,请看我们在“二人世界”时要传送消息,相互之间必然要产生连接(通过UDP协议),此时自然是“ESTABLISHED”了(以你用netstat -n命令的结果来说);而退出“二人世界”连接就断开了,自然就是“TIME_WAIT”了。

  很简单吧?用这种方法一个外来软件也没有用(netstat是Windows自带外部命令),是不是向我们前面所说的那样即简单又方便,还很环保?还不快试试!
在DOS下使用注册表扫描程序

  从windows98之后,windows系统加入了对注册表的管理程序,该程序有两个版本,scanregw.exe工作在windows环境中,Scanreg.exe工作在dos环境.并用一个Scanreg.ini文件与之辅助.介绍该程序For windows版本的文章很多,朋友们可以自己查找参阅.这里仅介绍如何在dos下使用Scanreg.exe程序.

  由于程序是在dos模式下工作.因此,尽管你的操作系统是中文版的windows,这时出现的也是英文字符界面.程序操作是由命令行和一些选项开关组成.命令只有一个Scanreg,后面是/,之后就是所谓的开关了.如果你键入:Scanreg/?,会出现简单的帮助信息.其具体分析如下:

  Scanreg/backup 备份注册表的命令.这个命令执行后开始备份注册表,速度很快,备份结束出现dos默认的提示符号.

  Scanreg/restore 它执行后,系统会列出所备份的注册表文件,至于能列出多少个备份文件,与scanreg.ini文件中的设置有关,一般默认是5个备份文件.每个文件后面都有备份的日期.移动光条,选择一个,执行restore就可以回复选定的注册表.

  Scanreg /fix 注册表有问题时可以用这个来修复,修复时间较长,也许是我的机器很长时间没有进行过注册表修复操作,我在自己的机器上(P166MMX超频到187MHz,32M内存)执行这个命令后,用了十多分钟,其间有进度条指示修复完成的情况.

  Scanreg /comment=< "comment"> 这是备份注释文件的命令. 可以将该文件备份为cab格式,由于cab格式是对文件进行压缩后备份的,利用这一点也可以将别的什么文件备份为cab格式.可以减少磁盘空间的浪费.以后有用得着这个文件的时候,先执行Scanreg/restore命令,就可以在恢复文件列表中找到它,如果需要,也可以像恢复注册表文件一样进行恢复.

  系统出现问题,多数与注册表有关系,这时如果将注册表恢复到较早的一个,说不定就能解决问题.当你遇到的故障使得系统不能工作在windows模式下时,dos模式下恢复注册表就是唯一的选择了,愿我这里介绍的一点点知识,能在你遇到上述难题时,助你一臂之 

 DOS下对注册表的编程

  在DOS方式下也能对注册表进行编程?是的。当您的Windows95/98因注册表问题而无法启动到图形界面时,您此时只有在DOS下对注册表进行手术了。因为注册表编辑器Regedit.exe其实是一个双栖型的程序,既可在DOS下运行,也可在Windows95/98下运行。许多用户可能已经知道在Windows下使用Regedit的方法,那么,要掌握DOS方式下对注册表的编程,首先要了解在DOS下如何使用注册表编辑器。

  在DOS提示符下键入Regedit命令,将出现一个帮助屏幕。此屏幕给出了其命令行参数及其使用方法。

  语法: Regedit [/L:system] [/R:user] filename1

  Regedit [/L:system] [/R:user] /C filename2

  Regedit [/L:system] [/R:user] /E filename3 [regpath]

  其中:

  /L:system 指定system.dat文件的存放位置。

  /R:user 指定user.dat文件的存放位置。

  filename1 指定引入注册表数据库的文件名。

  /C filename2 指定形成注册表数据库的文件名。

  /E filename3 指定导出注册表文件的文件名。

  regpath 指定导出注册表文件的开始关键字(缺省为全部关键字)

  现举几个例子说明regedit.exe在DOS下的使用方法。

  【例1】 将系统注册表数据库registry导出到reg1.reg文件中。

  regedit /E reg1.reg

  【例2】 reg1.reg形成系统注册表数据库registry(全部)中。

  regedit /C reg1.reg

  【例3】 将reg.dat引入系统注册表数据库中(部分)。

  regedit reg.dat

  【例4】 将CJH开始的关键字导出注册表数据库,并命名为cjh.reg。  

  regedit /E cjh.reg cjh

  【例5】 指定system/dat存放在D:\PWIN中和user.dat存放在E:\PWIN中,将reg.dat数据文件形成一个新的注册表数据库registry。

  regedit /L:D:\PWIN /R:E:\PWIN /C reg.dat

  有了以上这些知识,结合在《对注册表进行编程的“捷径”》里讲过的关于导入或导出的注册表文件(*.REG),我们就可以在DOS方式下对注册表进行编程了。

  我们还是以更改“*.txt”文件的默认打开方式——“记事本”为“写字板”为例。首先在MS-DOS提示符下导出“HKEY_CLASSES_ROOT\txtfile”子键这一分支,即执行命令:

  regedit /E txt.reg HKEY_CLASSES_ROOT\txtfile

  然后用DOS下的EDIT编辑器打开txt.reg文件进行编辑:将其中所有的“C:\\WINDOWS\\NOTEPAD.EXE”全部改成“C:\\WINDOWS\\WRITE.EXE”,存盘退出EDIT,再在命令行下执行命令:

  regedit txt.reg

  便大功告成了。

  当然,严格来说,这并不是编程。如果一定要编程实现的话,我们可以将以上过程写成一批处理文件chang.bat:

  @echo off

  path=c:\windows;c:\windows\command;c:\dos

  cls

  echo 正在导出注册表……

  regedit /E txt.reg HKEY_CLASSES_ROOT\txtfile

  echo.

  echo 注册表导出完毕!按任一键开始编辑注册表……

  echo.

  pause

  edit txt.reg

  echo 正在将修改后的注册表导入……

  regedit txt.reg

  echo 恭喜您!在MS-DOS方式下成功修改了注册表!

  pause

  cls

  @echo on

  充分发挥EDIT编辑器的强大功能,我们可以在遵循导出的注册表文件的格式的前提下,对注册表进行随心所欲的修改、删除或者增加任一子键。如果觉得这还不够程序化,您可以发挥DOS环境下各种程序设计语言的优势,加上交互性的界面,将这一过程真正的程序化,应该丝毫不亚于Windows状态下的利用API函数做出来的效果。有兴趣的朋友可以试一试。

在DOS下复活注册表数据

  注册表是系统的核心,对系统软硬件运行起着重要的控制作用,特别是一些软件的运行都会在注册表中写入数据。系统不稳定甚至崩溃时,绝大多数情况下,通过对注册表数据的恢复,系统就可起死回生了。然而,系统一旦有了问题,将无法见到视窗蓝天白云,这时,最有效的方法是通过DOS这一惟一途径来恢复原有的数据,挽救已崩溃的系统。下面就让我们一起来看看如何在DOS下对注册表数据进行备份和恢复。

  自己动手备份恢复

  注册表是由两个数据库文件System.dat和User.dat构成的,前者用来存储本地计算机的系统信息,后者保存用户信息。为防系统不测,平时只要对这两个文件进行手动备份,保存在一个比较安全的地方,系统一旦出了问题,利用它就可使系统起死回生。不过这两个文件具有隐含、系统、只读属性,在资源管理器的默认设置下是找不到的,因此要在资源管理器中选择“查看”菜单中的“文件夹选项”命令,然后单击“查看”标签,找到并选中“文件和文件夹”下的“显示所有文件”,点击“确定”按钮,这时即可用复制、粘贴命令将这两个文件备份到一个较安全的地方,如D:\Backup。需要对系统进行恢复时,将系统引导到纯DOS环境下,输入去掉系统中这两个文件的隐含等属性,然后再将所备份的文件拷贝到系统的Windows目录下即可。其命令为:

  attrib-r-h-sc:\windows\system.datattrib-r-h-sc:\windows\user.datcopyd:\backup\system.datc:\windowscopyd:\backup\user.datc:\windows

  当然,D:\Backup的位置只是一个例子。此外,复制文件时系统会提示是否覆盖原文件,按“Y”将备份的注册表文件恢复到系统中。

  通过系统工具备份恢复

  由于注册表的重要性,Windows98特别新增加了一个小工具——注册表检查器Scanreg。在每次开机启动Windows98时Scanreg自动运行,对系统注册表进行检查,并为每个开机日做一次备份,将System.dat、User.dat、System.ini、Win.ini四个文件打包成Cab文件,以rb00?.Cab命名,存放于系统备份文件夹Sysbckup中,默认保存最近的5个备份文档。当检查到注册表出错时,它就用备份进行恢复。但其功能必须在MS-DOS命令行模式下运行。注意,这里说的“MS-DOS”指的是纯MS-DOS,不是在Windows下运行的仿真MS-DOS模式。如果你的机器尚可启动,可以在启动时按F8键,在出现的启动菜单中选择“Commandpromptonly”模式,或者在Windows下从“开始”菜单中选择“关闭系统”,然后选择“重新启动计算机并切换到MS-DOS方式”即可进入纯DOS。DOS下注册表编辑器虽然没有Windows下那样强大,但也有它的独到之处。比如当系统出现问题无法启动Windows的时候,它的作用就体现出来了。在DOS下键入scanreg/restore,其中scanreg是注册表检查器命令,/restore为按照备份的时间以及日期显示所有的备份文件,在显示备份的注册表文件时,压缩备份的文件以.CAB文件列出,CAB文件的后面单词是Started或者是NotStarted。Started表示这个文件能够成功启动Windows,是一个完好的备份文件,NotStarted表示文件没有被用来启动Windows,所以不知道是否是一个完好备份。选择“Start”,接着在下一个对话框中选择ViewBackups(查看),这时你可以在5个注册表备份中选取所要恢复的就可以了,再选择Restore(恢复),最后选择Restart(重新启动)。重新启动计算机问题就会迎刃而解。

  借助专用工具备份恢复

  目前,针对注册表的辅助工具多如牛毛,不过能在DOS下恢复注册表的工具却凤毛麟角,一个叫“侠客系统修改器”的注册表工具,独有能够在备份注册表以后自动生成一个可以在DOS下自动恢复注册表的批处理文件,这样在注册表出现严重问题无法进入Windows时派上用场。用该工具对注册表进行备份时,运行后单击“系统”标签,接着点击“注册表备份”图标,打开注册表备份对话框,选中“注册表(用户)数据”和“注册表(系统)数据”,输入备份到目的地的路径,按“开始备份”按钮就可将注册表文件备份到指定的目录中了。要恢复注册表时,在DOS下进入所备份文件存放目录,然后执行自动恢复批处理程序“RegtCfg.bat”即可。

DOS状态下制作启动盘

  为了防止死机、崩溃、病毒等原因所造成的系统不能启动的问题,建立一张Windows 98启动盘是非常有必要的。一般来说,我们在安装Windows 98过程中系统就会要求用户制作启动盘,而安装完毕之后我们也可通过启动控制面板中的'添加/删除程序'图标,打开'添加/删除程序'对话框,然后在单击'启动盘'选项卡来制作启动盘,可是我们若在DOS状态下能不能直接制作启动盘呢(有些报刊上介绍的手工格式化软盘并将有关文件拷贝到软盘上的方法由于太麻烦且不安全而不在此之列)?这在Windows 95中是不可能的,而对Windows 98而言却不在话下。原来Windows 98提供了直接在DOS下创建启动盘的功能,我们再也不必为了创建一帐启动盘而进入图形界面了:

  1)切换到Windows 98安装目录的Command子目录中(注意,尽管Command目录一般都已添加到了系统PATH路径中,无需切换到该目录即可执行该目录下的有关命令,但在创建启动盘时却必须切换到该目录中)。

  2)执行BootDisk命令,系统将会提示'Please specify the drive letter of your floppy drive'。

  3)将欲制作启动盘的软盘插入软驱。

  4)选择1(1表示在A盘制作启动盘,2表示在B盘制作启动盘,不过相信现在已经没有用户还在使用两个软驱吧)。

  5)按任意键后系统即会制作启动盘。

  采用此方法制作出来的启动盘与在Windows 98图形界面下制作的启动盘完全一样

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多