Private感染掃描工具

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/wengek/article/details/78256133

幫羣裏一哥們兒寫的,寫了一個晚上。之前bug太大,重新換了思路。用的變量很多,複雜但卻很有條理,思路清晰,終於可以交差了。

運行過程:

1.對工程文件進行掃描是否存在HintPath標籤,如存在,繼續掃描HintPath標籤下是否有Private感染代碼。



2.掃描完成後將結果輸出到窗口下。


按回車鍵可打開日誌報告,查看以往掃描結果。


3.掃描日誌文件:






代碼如下:

@echo off&setlocal enabledelayedexpansion&title Private感染掃描工具
mode con cols=150 lines=30
if exist log del log
if exist temp del temp
for /f "delims=" %%a in ('dir /s /b *.csproj') do (
		title 狀態:正在掃描 【%%a】 文件                       ^|Private感染掃描工具
		for /f "delims=" %%b in ('type "%%a"^|findstr /n "HintPath"') do (
			set b=%%b
			for /l %%c in (1,1,1000) do (
				if "!b:~%%c,1!"==":" set b=!b:~0,%%c!
			)
			echo %%a !b!>>log
		)
)

set a=
set b=
set c=-1
echo 日誌報告:>>log.txt
echo 日誌報告:>>temp
echo %date%-%time%>>log.txt
echo %date%-%time%>>temp
if not d equ a goto b
:a
for /f "skip=%b% delims=" %%a in (%a%) do (
	if "%%a"=="      <Private>False</Private>" (
	color c
	title 狀態:文件%a%,第%b%行發現病毒代碼。                       ^|Private感染掃描工具
	set b+=1
	echo 文件%a%,第%b%行發現病毒代碼。>>log.txt
	echo 文件%a%,第%b%行發現病毒代碼。>>temp
	)
	goto b
) 
:b
set /a c+=1
if %c% equ 0 (
	for /f "tokens=1,2" %%a in (log) do (
	set a=%%a
	set b=%%b
	set d=a
	goto a
	)
) else (for /f "skip=%c% tokens=1,2" %%a in (log) do (
	set a=%%a
	set b=%%b
	goto a
	)
)
echo ------------------------------------------------------------------------------------------------------------------------------------------------------>>log.txt
echo ------------------------------------------------------------------------------------------------------------------------------------------------------>>temp
	title 狀態:掃描完畢。^|Private感染掃描工具
more temp
set /p=按回車鍵打開掃描日誌:
start notepad log.txt



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章