带有批处理的反网络钓鱼软件

时间:2014-10-12 10:28:56

标签: batch-file

我正在尝试使用批处理制作基本的反网络钓鱼软件。我用它来删除类似于gmail登录页面的html文件。这是我的代码:

@echo off
color fc
title Anti-Phishing
cls
echo ===============
echo [Anti-Phishing]
echo ===============
echo If There's no message ,You are protected.
set /p a=Enter a HTML file to scan: 
for /f %%x in ('findstr /i /m "gmail google add account" %a%.html') do (
    if /i %%x equ %a%.html (
        for /f %%z in ('findstr /i /b /m "tskill del copy shutdown ipconfig ren reg" %a%.html') do (
            if /i %%z equ %a%.html (
                cls
                echo Fake Page Detected!!
                del %a%.html
                echo %a%.html was deleted....
                pause >nul
            )
        )
    )
)
pause >nul

它说它无法打开html文件。请帮我理解我的错误。我很擅长批处理。

1 个答案:

答案 0 :(得分:0)

以下是您的代码改进了一点:

@echo off
color fc
title Anti-Phishing
cls
echo ===============
echo [Anti-Phishing]
echo ===============
echo If There's no message ,You are protected.
set "HtmlFile=""
set /p "HtmlFile=Enter a HTML file to scan: "
set "HtmlFile=%HtmlFile:"=%"
if "%HtmlFile%"=="" goto :EOF
if "%HtmlFile:~-5%"==".html" set "HtmlFile=%HtmlFile:~0,-5%"
if "%HtmlFile%"=="" goto :EOF
if not exist "%HtmlFile%.html" (
    echo File "%HtmlFile%.html" not found.
    echo.
    echo Exit with any key ...
    pause>nul
    goto :EOF
)
for /f %%x in ('%SystemRoot%\System32\findstr.exe /i /m "gmail google add account" "%HtmlFile%.html"') do (
    if /i %%x equ "%HtmlFile%.html" (
        for /f %%z in ('%SystemRoot%\System32\findstr.exe /i /b /m "tskill del copy shutdown ipconfig ren reg" "%HtmlFile%.html"') do (
            if /i "%%z" equ "%HtmlFile%.html" (
                cls
                echo Fake Page Detected!!
                del "%HtmlFile%.html"
                echo "%HtmlFile%.html" was deleted.
                pause >nul
            )
        )
    )
)
pause >nul

此批处理文件首先使用双引号作为字符串值定义环境变量HtmlFile

用户提示删除所有双引号后的下一行可能是用户从字符串输入的。如果提示用户只是按RETURN或ENTER而不输入任何文件名,则会产生空字符串。在这种情况下,批处理文件退出。

接下来批处理代码检查是否使用" .html"输入了HTML文件的名称。最后。由于文件扩展名是由批处理代码自动添加的(出于某种未知原因),字符串" .html"从文件名中删除。

可能再次发生,剩下的字符串现在是一个空字符串。

最后批处理文件检查文件系统中是否可以找到具有绝对路径或相对路径的文件名。否则输出错误信息。

请注意,此批处理文件无法使用HTTP(超文本传输​​协议)或其他协议评估网页以访问WWW中的文件。它只能通过UNC路径用于本地驱动器,网络驱动器或公共共享上的文件。

如果在批处理文件用户输入的文件名(带或不带路径)中有空格或其他特殊字符,则所有对环境变量HtmlFile的引用都会根据需要用双引号括起来。