Windows 프로세스 시작 및 종료 지연을 구현하는 Bat 배치 파일입니다. IE를 열고 닫는 데 사용됩니다. 배치 처리를 배우는 친구들은 이 파일을 참고할 수 있습니다.
얼마 전 리더님이 순위를 높이기 위해 홈페이지에서 투표를 해달라고 요청하셨는데, 1인당 100표가 조금 넘는 표가 나왔습니다. 며칠 후, 상사가 순위를 높이기 위해 투표 프로그램을 만들어 달라고 요청했습니다. 나는 하루 동안 연구한 끝에 마침내 만들 수 있게 되었습니다. 밤새 잠을 자지 마세요. 이제 꺼내서 나눠보세요.
정확히 말하면 제가 만든 것은 배치 파일입니다. 배치 확장자는 .bat입니다. 실제로 투표 페이지에서는 투표 여부를 제어하기 위해 세션만 사용하지만, 세션 변수는 자동으로 사라집니다. IE를 닫았다가 다시 열면 페이지가 열릴 때 새 연결이 생성되므로 다시 투표할 수 있습니다. 이 페이지는 AJAX가 있는 JS를 찾아 실제 투표 페이지를 찾아 ID를 전달했습니다. 페이지를 통해 투표를 구현합니다. 이제 우리가 해야 할 일은 IE 연결 투표 페이지를 자동으로 연 다음 자동으로 연결을 끊었다가 자동으로 다시 연결하여 반복 투표를 수행하는 것입니다.
이 투표 웹사이트의 치명적인 점은 두 가지입니다. 하나는 투표가 IP로 제어되지 않고 세션 서버에 의해 제어되므로 하나의 IP로 반복 투표가 가능하다는 점입니다. 두 번째는 실제 투표 처리 페이지의 매개변수가 GET을 통해 전송된다는 점입니다. . 이는 부정행위의 가능성으로 이어질 것입니다.
위 두 가지 취약점을 악용하여 다음과 같은 bat 배치 프로세스도 만들었습니다.
코드는 다음과 같습니다.
@ echo off echo 正在关闭冗余进程,请稍等...... taskkill /f /im iexplore.exe echo -------------程序初始化完毕,请指示!---------- echo. & pause :openie echo 正在投票,请稍等...... start "" "C:\Program File s\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 FilesInternet Exploreriexplore.exe" 이는 Windows 프로그램을 열고 경로에 주의하며 시작 후 ""를 잃지 않도록 주의하는 것입니다.
ping 127.0.0.1 -n 2 이를 사용하여 일괄 처리를 지연하는 것이 너무 번거롭다는 것을 누구나 알고 있습니다. -n 2는 두 번 반복한다는 의미로 약 2초입니다. 물론 기간은 조정 가능합니다. 숫자만 조정하면 됩니다.
핵심: 배트 일괄처리의 무한루프. :openie는 임의의 문자를 조합하여 설정한다는 의미입니다. 키워드를 반복하지 마세요. goto openie는 이전에 설정한 오픈 포인트로 복귀한다는 의미입니다. 설정된 복귀 포인트는 서로 일치해야 합니다.
이제 위 코드를 텍스트 문서에 복사할 수 있습니다. 확장자를 .bat로 변경해야 합니다. .bat는 일괄 처리를 위한 표준 확장자입니다. 물론 98의 아주 고전적인 프로그램은 autoexec.bat입니다. 여기에 오신 많은 분들이 들어보셨을 텐데요, 관심이 있으시면 Baidu에서 검색해 보시기 바랍니다. 물론, 비유를 통해 다른 프로그램의 프로세스를 시작하거나 종료할 수도 있습니다.
궁금한 점이 있으시면 페이지 오른쪽 하단에 문의해 주세요. 함께 발전해 보세요. ㅎㅎ
다음 프로그램은 온라인에서 복사하실 수 있습니다. 어떤 곳에서는 이해력이 높으면 직접 공부하세요.
팁: 다음 프로그램은 프로세스가 존재하는지 모니터링합니다. 프로세스가 없으면 프로세스도 시작됩니다. 즉, 프로그램이 영원히 실행됩니다.
코드는 다음과 같습니다.
@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
[관련 권장사항]
Windows 7에서 Java 개발 환경을 구축하는 단계( 그림)
3. Python을 사용하여 Windows 데스크톱 프로그램 개발
4. Windows 환경에서 python2, python3 버전 설치 방법을 가르쳐주세요
위 내용은 Bat 배치 파일을 사용하여 Windows 예제 코드 작동의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!