批處理打造自己的安全工具
發(fā)表時(shí)間:2023-07-03 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]很久沒給大家?guī)砗玫臇|西了。 作為批處理區(qū)版主, 有點(diǎn)失職, 先給大家陪個(gè)不是了。 這篇文章是我在黑手上看到的。 其中最出色的地方就是結(jié)合了INF文件。 這個(gè)對我來說是個(gè)新概念。 ! ...
很久沒給大家?guī)砗玫臇|西了。 作為批處理區(qū)版主, 有點(diǎn)失職, 先給大家陪個(gè)不是了。 這篇文章是我在黑手上看到的。 其中最出色的地方就是結(jié)合了INF文件。 這個(gè)對我來說是個(gè)新概念。 ! 這個(gè)批處理工具有5個(gè)功能 1.查詢快捷方式所指文件路徑 2.系統(tǒng)賬號重命名功能 3.重新啟動 4.安裝和卸載系統(tǒng)服務(wù)功能 5.查看端口關(guān)聯(lián)進(jìn)程功能 在這里, 功能一利用的是findstr的正則表達(dá)式。 在批處理實(shí)例教學(xué)動畫里面有, 不懂的可以看下。 不過個(gè)人感覺有點(diǎn)啰嗦。 , 直接用FOR擴(kuò)展下就可以得到的東西。 為什么要去弄個(gè)findstr呢。 ? 系統(tǒng)賬號重命名利用了wmic, 這個(gè)wmi命令行形式。 wmic很強(qiáng)哦。 重新啟動和安裝卸載服務(wù)都是通過echo INF文件來實(shí)現(xiàn)的。 這是這文章的亮點(diǎn), 不過可惜的是沒有把secedit也結(jié)合進(jìn)去。 不然就真的淫蕩之極了。 哈哈。 本來想挑戰(zhàn)一下作者的。 但是沒得時(shí)間。 呵呵。 源代碼如下。 @Echo offIf %1 == Goto HelpIf %1 == -help Goto HelpIf %1 == -reboot Goto RebootIf %1 == -installservice Goto InstallServiceIf %1 == -removeservice Goto RemoveServiceIf %1 == -fport Goto FportIf %1 == -querylnk Goto QueryLnkIf %1 == -renname Goto RenNameGoto Exit:QueryLnkIf %~2 == Echo 您未輸入要查詢的快捷方式路徑(若路徑有空格,請用引號引起來)&&Goto HelpIf /i %~x2 NEQ .lnk Echo 錯(cuò)誤,您輸入的不是快捷方式&&Goto ExitEcho.Echo.Echo 您輸入的是:Echo %2Echo.Echo 查到目標(biāo)文件路徑是:type %2 more findstr ^[a-zA-Z]:\\\\Goto Exit:RebootIf %2 == Echo 要重新啟動請加任意參數(shù)(Exp:NP -reboot y)&&Goto ExitSetlocalCd/d %temp%Echo [version] > reboot.infSet inf=InstallHinfSection DefaultInstallEcho signature=$chicago$ >>reboot.infEcho [defaultinstall] >>reboot.infRundll32 setupapi,%inf% 1 %temp%\reboot.infDel reboot.infGoto Exit:InstallServiceSetlocalCd/d %temp%If %2== Echo NP -InstallService ServiceName FileName&&Goto ExitIf %3== NP -InstallService ServiceName FileName&&Goto ExitEcho [Version] >install.infEcho Signature=$WINDOWS NT$ >>install.infEcho [DefaultInstall.Services] >>install.infEcho AddService=%2,,My_AddService_Name >>install.infEcho [My_AddService_Name] >>install.infEcho DisplayName=%2 >>install.infEcho Description=%2 >>install.infEcho ServiceType=0x10 >>install.infEcho StartType=2 >>install.infEcho ErrorControl=0 >>install.infEcho ServiceBinary=%3 >>install.infRundll32.exe setupapi,InstallHinfSection DefaultInstall 128 %temp%\install.infDel install.infEcho 安裝完畢, 需立即啟動, 請用Net start命令!Goto Exit:RemoveServiceSetlocalCd/d %temp%If %2== Echo NP -RemoveService ServiceName&&Goto ExitNet start find %2 >nul&&net stop %2Echo [Version] >Remove.infEcho Signature=$WINDOWS NT$ >>Remove.infEcho [DefaultInstall.Services] >>Remove.infEcho DelService=%2 >>Remove.infRundll32.exe setupapi,InstallHinfSection DefaultInstall 128 %temp%\Remove.infDel Remove.infGoto Exit:Fportsetlocal enabledelayedexpansion echo ------------------------------------------------------------------------ echo 進(jìn)程名稱 端口號 ECHO TCP協(xié)議: ::利用netstat命令找出使用TCP協(xié)議通信的端口, 并將結(jié)果分割; ::將第二個(gè)參數(shù)(IP加端口)傳給%%i, 第五個(gè)參數(shù)(PID號)傳給%%j; for /F usebackq skip=4 tokens=2,5 %%i in (`netstat -ano -p TCP`) do ( call :Assoc %%i TCP %%j echo !TCP_Proc_Name! !TCP_Port! ) ECHO UDP協(xié)議: for /F usebackq skip=4 tokens=2,4 %%i in (`netstat -ano -p UDP`) do ( call :Assoc %%i UDP %%j echo !UDP_Proc_Name! !UDP_Port! ) echo 按任意鍵退出 pause>nul :Assoc ::對%1(第一個(gè)參數(shù))進(jìn)行分割, 將第二個(gè)參數(shù)傳給%%e。 在本程序中, %1即為上面的%%i(形式為:IP:端口號) for /F tokens=2 delims=: %%e in (%1) do ( set %2_Port=%%e ) :: 查詢PID等于%3(第三個(gè)參數(shù))的進(jìn)程, 并將結(jié)果傳給變量?_Proc_Name,?代表UDP或者TCP; for /F skip=2 usebackq delims=, tokens=1 %%a in (`Tasklist /FI PID eq %3 /FO CSV`) do ( ::%%~a表示去掉%%a外面的引號, 因?yàn)樯鲜雒畹慕Y(jié)果是用括號括起來的。 set %2_Proc_Name=%%~a ) Goto Exit:RenNameIf %2== Echo 請輸入要重命名的名稱&&Goto ExitWmic UserAccount Where Name=%1 call Rename %2Goto Exit:HelpEcho ******************************************************************************Echo ** Small_ToolEcho **Echo ** Code By NetPatchEcho ** Exp:Echo ** NP -Help //腳本幫助Echo ** NP -Reboot //重新啟動Echo ** NP -InstallService //安裝服務(wù)Echo ** NP -RemoveService //刪除服務(wù)Echo ** NP -Fport //端口關(guān)聯(lián)的進(jìn)程Echo ** NP -QueryLnk //查詢快捷方式所指文件路徑Echo ** NP -RenName //系統(tǒng)帳號重命名Echo **Echo ** 注意:命令請全部用小寫形式!Echo *******************************************************************************CMD /K:Exit
上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識,學(xué)習(xí)了安全知識,幾乎可以讓你免費(fèi)電腦中毒的煩擾。