@echooff的⼀些⽤法
@echooff
netstat-a-n>
|find"7626"&&echo"Congratulations!Youhave
infectedGLACIER!"
pau&exit
这⾥利⽤了netstat命令,检查所有的⽹络端⼝状态,只需要你清楚
常见⽊马所使⽤的端⼝,就能很easy的判断出来是否被⼈种了冰河。然这不是确定的,因为冰河默认的端⼝7626,完全可以
被⼈修改。这⾥介绍的只是⽅法和思路。这⾥介绍的是⽅法和思路稍做改动,就变成可以检查其他⽊马的脚本了,再改动⼀
下,加进去参数和端⼝及信息列表⽂件后,就变成⾃动检测所有⽊马的脚本了。呵呵,是不是很过瘾?脚本中还利⽤了组合命
令&&和管道命令|,后⾯将详细介绍。例四,借批处理⾃动清除系统^^,脚本如下:
@echooff
ifexistc:windowstemp*.*delc:windowstemp*.*
ifexistc:windowsTempor~1*.*delc:windowsTempor~1*.*
ifexistc:windowsHistory*.*delc:windowsHistory*.*
ifexistc:windowsrecent*.*delc:windowsrecent*.*
将以上脚本内容保存到⾥,每次开机时就把系统^^给⾃
动删除了。这⾥需要注意两点:⼀、DOS不⽀持长⽂件名,所以就出现了Tempor~1这个东东;⼆、可根据⾃⼰的实际情况进
⾏改动,使其符合⾃⼰的要求。
怎么样,看到这⾥,你对批处理脚本是不是已经有点兴趣了?是不是发现⾃⼰已经慢慢爱上了这个东东?别⾼兴的太早,爱不
是⼀件简单的事,它也许能带给你快乐和幸福,当然也能让你痛苦的想去跳楼。
如果你知道很难还敢继续的话,I服了YOU!继续努⼒吧,也许到最后你不⼀定得到真爱(真的有这可能,爱过的⼈都知
道),但你可以体会到整个爱的过程,就是如此。酸、苦和辣,有没有甜天知道。
为什么会把批处理和爱情扯上关系?不是我⽆聊,也不是因为这样写有趣多少,原因有⼆:其⼀,批处理和爱情有很多相同的
地⽅,有些地⽅我⽤“专业”的⾏话解释不清(我不怀疑⾃⼰的表达能⼒,⽽是事情本⾝就不好说清楚),说了=没说,但⽤地
球⼈都知道的爱情⼀
⽐喻(爱情是什么?我**怎么知道!!),没准你⼼⾥⼀下就亮堂了
,事半功倍,何乐⽽不为?其⼆,我这段时间状态不是很好,感冒发烧头疼⿐塞,但主要还是感情上精神摧残,搞的⼈烦透
了,借写教程之际感慨⼏句,⼤家就全当买狗⽪膏药了,完全可以省略不看(也许还真有点效果----不⾄于让你看着看着就睡
着了,把头磕了来找我报
销医药费)。说不定下次的教程中⼤家还会看到杨过、张⽆忌等⾦⽼前辈笔下的英雄们。
看过第⼀章的朋友,⼀定对批处理有了初步的印象,知道它到底是⽤来⼲什么的了。但你知道运⽤批处理的精髓在哪⾥吗?其
实很简单:思路要灵活!没有做不到的,只有想不到的。这和爱情就有点不同了,因为爱情的世界是两个⼈的世界,⼀厢情愿
不叫爱情(补充:那叫单恋。废话!)⽽批处理却是⼀个⼈的天堂,你可以为所欲为,没有达不到的境界!
批处理看起来杂乱⽆章,但它的逻辑性之强,绝对不⽐其他程序语⾔(如汇编)低,如果你写的脚本是⼀堆乱⿇,虽然每⼀⾏
命令都正确
,但从头执⾏到尾后,不⼀定得到你想要的结果,也许是⼀屏幕的
Badcommandorfailname。这⼜和爱情有了共同点:按步骤来经营
,缺少或增多的步骤都可能导致不想看见的结果。陷⼊爱河的朋友,
相信没有不肯定这句话的。我的爱情批处理,输出的结果不是Badcommandorfailname,屏幕是这么显⽰的:‘你的爱情'不
是内部
或外部命令,也不是可运⾏的程序或批处理⽂件。然后就是光标不停
闪动,等待这下⼀次错误的输⼊。
从这⼀章开始,将由浅⼊深的介绍批处理中常⽤的命令,很多常见
DOS命令在批处理脚本中有这⼴泛的应⽤,它们是批处理脚本的BODY部分,但批处理⽐DOS更灵活多样,更具备⾃动化。
要学好批处理,DOS⼀定要有⽐较扎实的基础。这⾥只讲述⼀些⽐较少⽤(相对来说
)的DOS命令,常⽤命令如COPY、DIR等就不做介绍了(这些看似简单的命令实际复杂的很,我怕⾃⼰都说不清楚!)。
例五,先看⼀个实例。这是⼀个很有意思的脚本,⼀个⼩巧实⽤的好
东东,把批处理“⾃动化”的特点体现的淋漓尽致。先介绍⼀下这个
脚本的来历:⼤家都知道汇编程序(MA^)的上机过程,先要对源代
码进⾏汇编、连接,然后再执⾏,⽽这中间有很多环节需要输⼊很多
东西,⿇烦的很(只有经历过的朋友才懂得)。如何使这个过程变的
简单呢?在我们搞汇编课程设计时,我“被逼”写了这个脚本,⽤起
来很爽,呵呵。看看脚本内容:
@echooff
::cloecho
cls
::cleanscreen
echoThisprogrammeistomaketheMA^programmeautomate
::displayinfo
echoEditbyCODERED
::displayinfo
echoMailtome:qqkiller***@/doc/
::displayinfo
if"%1"==""gotousage
::ifinputwithoutparamatergotousage
if"%1"=="/?"gotousage
::ifparamateris"/?"gotousage
if"%1"=="help"gotousage
::ifparamateris"help"gotousage
pau
::pautoeusage
masm%
::e
iferrorlevel1pau&edit%
::iferrorpautoeerrormsgandeditthecode
link%&%1
::e
:usage
::tusage
echoUsage:ThisBATfilename[asmfilename]
::displayusage
先不要被这⼀堆的东西给吓怕了,静下⼼来仔细的看(回想⼀下第⼀
章中第⼀段是怎么写的!!)。已经给出了每⼀⾏命令的解释,两个
冒号后⾯的内容为前⼀⾏内容解释的E⽂(害怕E⽂的朋友也不⽤担⼼,都很easy,⼀看就懂了,实在不懂了不会查词典啊,
这么懒?),
在脚本执⾏时不显⽰,也不起任何作⽤。倒数第5⾏⾏⾸有⼀个冒号
,可不是笔误哦!具体作⽤后⾯会详细讲到。此脚本中masm和link是汇编程序和连接程序,必须和edit程序以及你要编辑的源
代码(当然
还有这个脚本,废话!)⼀起在当前⽬录中。使⽤这个批处理脚本,
可以最⼤可能的减少⼿⼯输⼊,整个过程中只需要按⼏下回车键,即
可实现从汇编源代码到可执⾏exe⽂件的⾃动化转换,并具备智能判断功能:如果汇编时源代码出现错误(汇编不成功),则
⾃动暂停显⽰错误信息,并在按任意键后⾃动进⼊编辑源代码界⾯;如果源代码汇编成功,则进⾏连接,并在连接后⾃动执⾏
⽣成的exe⽂件。另外,由于批处理命令的简单性和灵活性,这个脚本还具备良好的可改进性,简单进⾏修改就可以符合不同
朋友的上机习惯。正在学汇编的朋友,⼀定别忘了实习⼀下!
在这个脚本中出现了如下⼏个命令:@、echo、::、pau、:和goto、%以及if。⽽这⼀章就将讲述这⼏个命令。
1、@
这个符号⼤家都不陌⽣,email的必备符号,它怎么会跑到批处理中呢?呵呵,不是它的错,批处理本来就离不开它,要不就
不完美了。它的作⽤是让执⾏窗⼝中不显⽰它后⾯这⼀⾏的命令本⾝(多么绕⼝的⼀句话!)。呵呵,通俗⼀点说,⾏⾸有了
它的话,这⼀⾏的命令
就不显⽰了。在例五中,⾸⾏的@echooff中,@的作⽤就是让脚本在执⾏时不显⽰后⾯的echooff部分。这下懂了吧?还是不
太懂?没关系,看完echo命令简介,⾃然就懂了。
2、echo
中⽂为“反馈”、“回显”的意思。它其实是⼀个开关命令,就是说
它只有两种状态:打开和关闭。于是就有了echoon和echooff两个命令了。直接执⾏echo命令将显⽰当前echo命令状态(off
或on)执⾏echooff将关闭回显,它后⾯的所有命令都不显⽰命令本⾝,只显
⽰执⾏后的结果,除⾮执⾏echoon命令。在例五中,⾸⾏的@命令和echooff命令联合起来,达到了两个⽬的:不显⽰echo
off命令本⾝
,不显⽰以后各⾏中的命令本⾝。的确是有点乱,但你要是练习⼀下的话,3分钟包会,不会的退钱!
echo命令的另⼀种⽤法⼀:可以⽤它来显⽰信息!如例五中倒数第⼆⾏,将在脚本执
⾏后的窗⼝中
显⽰,⽽echo命令本⾝不显⽰(为什么??)。
echo命令的另⼀种⽤法⼆:可以直接编辑⽂本⽂件。例六:
echonbtstat-A192.168.0.1>
echonbtstat-A192.168.0.2>>
echonbtstat-A192.168.0.3>>
以上脚本内容的编辑⽅法是,直接是命令⾏输⼊,每⾏⼀回车。最后就会在当前⽬录下⽣成⼀个的⽂件,直接执⾏就会
得到结果。3、::
这个命令的作⽤很简单,它是注释命令,在批处理脚本中和rem命令等效。它后⾯的内容在执⾏时不显⽰,也不起任何作⽤,
因为它只是注释,只是增加了脚本的可读性,和C语⾔中的类似。地球⼈都能看懂,就不多说了。
4、pau
中⽂为“暂停”的意思(看看你的workman上),我⼀直认为它是批处理中最简单的⼀个命令,单纯、实⽤。它的作⽤,是让当
前程序进程暂停⼀下,并显⽰⼀⾏信息:请按任意键继续...。在例五中这
个命令运⽤了两次,第⼀次的作⽤是让使⽤者看清楚程序信息,第⼆个是显⽰错误的汇编代码信息(其实不是它想显⽰,⽽是
masm程序在
显⽰错误信息时被暂它停了,以便让你看清楚你的源代码错在哪⾥)。
5、:和goto
为什么要把这两个命令联合起来介绍?因为它们是分不开的,⽆论少了哪个或多了哪个都会出错。goto是个跳转命令,:是⼀
个标签。当程序运⾏到goto时,将⾃动跳转到:定义的部分去执⾏了(是不是分不开?)。例五中倒数第5⾏⾏⾸出现⼀个:,则
程序在运⾏到goto时就⾃动跳转到:标签定义的部分执⾏,结果是显⽰脚本usage(usage就是标签名称)。不难看出,goto命
令就是根据这个冒号和标签名称来寻找它该跳转的地⽅,它们是⼀⼀对应的关系。goto命令也经常和if命令结合使⽤。⾄于这
两个命令具体⽤法,参照例五。
goto命令的另⼀种⽤法⼀:提前结束程序。在程序中间使⽤goto命令跳转到某⼀标签,⽽这⼀标签的内容却定义为退出。如:
……
gotoend
……
:end
这⾥:end在脚本最后⼀⾏!其实这个例⼦很弱智,后⾯讲了if命令和组合命令你就知道了
本文发布于:2023-01-02 14:59:44,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/78411.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |