批处理案例之启动进程和延时关闭

来源:互联网 发布:中兴机顶盒安装软件 编辑:程序博客网 时间:2024/06/05 11:09

文章转自:http://www.jb51.net/article/25433.htm

说白了我做的其实就是个批处理文件,批处理扩展名为.bat,其实那个投票页面只是用session去控制是否投票,众所周知,session变量在IE关闭后就会自动消失,重新打开页面时又会创建一个新的连接,这就可以重复投了,这个页面是用的AJAX,我找到ajax所在的JS,把它的真正的投票页面找出来,把ID通过页面传入,实现投票。目前要做的就是自动打开IE连接投票页,然后自动断开,自动再连,从而实现重复投票。
这个投票网站有两个致命点,一是投票不进行IP控制而用session服务端控制 ,导致可以用一个IP重复投票,二是实际投票处理页面的参数是通过GET方式进行传输,这就会导致作弊的可能。
通过利用以上两个漏洞,我做也了一个bat批处理,如下:

@echo off echo 正在关闭冗余进程,请稍等...... taskkill /f /im iexplore.exe echo -------------程序初始化完毕,请指示!---------- echo. & pause :openie echo 正在投票,请稍等...... start "" "C:\Program Files\Internet Explorer\iexplore.exe" echo IE打开完成! ping 127.0.0.1 -n 2 taskkill /f /im iexplore.exe echo 延时2秒关闭投票完成! goto openie echo. & pause

关键点解释:
taskkill /f /im iexplore.exe 强制关闭IE进程,当然也可以关闭其它进程,关于进程名,可以通过任务管理器查到。
start “” “C:\Program Files\Internet Explorer\iexplore.exe” 这个是打开一个windows程序,注意路径,注意 start 后边的 “” 一定不要丢掉。
ping 127.0.0.1 -n 2 用这个是来延时的 ,大家都知道bat批处理的延时执行太麻烦,这样来的简洁一些,需要注意的是 一定要ping 本地 127.0.0.1 ,否则可能导致记时长度不同,-n 2 的意思是重复两次,太约为2秒,当然时长可调,只要调数字即可。
重点:bat批处理的无限循环。:openie 的意思是设置一个点,这个可以随意,任何字母组合都行,不要与关键词重复。 goto openie 的意思是返回 前边设置的那个点 openie ,设置的返回点前后一定要对应。

现在你可以把以上代码复制到 一个文本文档中,一定要把扩展名改为.bat ,.bat 是批处理的标准扩展名。当然98的一个很经典的程序是autoexec.bat 相信很多过来人都听说过,感兴趣的可以百度一下。当然你也可以举一返三,来开启或结束其它程序的进程。
有什么不会的可以Q本人,QQ号在页面底部右边,共同提高共同进步,呵呵
以下这个程序是从网上找的,可以参拷,具体知道是干什么的,有些地方还没看明白,如果你的领悟能力高的话自己研究吧!
提示:以下这个程序是监控一个进程是否存在,如果不存在则启动,如果进程丢失也启动,即让程序永远运行!

@echo off set _task=notepad.exe set _svr=c:\windows\notepad.exe set _des=start.bat :checkstart for /f "tokens=5" %%n in ('qprocess.exe ^| find "%_task%" ') do ( if %%n==%_task% (goto checkag) else goto startsvr ) :startsvr echo %time% echo ********程序开始启动******** echo 程序重新启动于 %time% ,请检查系统日志 >> restart_service.txt echo start %_svr% > %_des% echo exit >> %_des% start %_des% set/p=.<nul for /L %%i in (1 1 10) do set /p a=.<nul&ping.exe /n 2 127.0.0.1>nul echo . echo Wscript.Sleep WScript.Arguments(0) >%tmp%\delay.vbs cscript //b //nologo %tmp%\delay.vbs 10000 del %_des% /Q echo ********程序启动完成******** goto checkstart :checkag echo %time% 程序运行正常,10秒后继续检查.. echo Wscript.Sleep WScript.Arguments(0) >%tmp%\delay.vbs cscript //b //nologo %tmp%\delay.vbs 10000 goto checkstart 
0 0
原创粉丝点击