人生若只如初见不如不见
代码网上找的,格式化了,原来只有一行:
禁止某软件管家联网,安心地帮我卸载软件吧,别做梦了,还想成为应用市场,门都没有,去你的,禁止你联网我说不让就不让,一键禁止,禁止联网,联网功能关闭,影响非常好,效果十分绿色,运行更加流畅,秒速启动,禁止后台下载,不让下载组件,后台没有,绿色环保 ……
掘金编辑器这代码粘贴到底什么规则触发的?为什么粘贴代码反而不格式化了呢?……
@Echo Off
SetLocal
:begin
echo:
echo ****** 禁止文件夹联网 ******
echo:
set /p folder=请输入文件夹(退出请直接关闭窗口):
If Not Exist "%folder%\" Exit/B
If /I "%CD%" NEq "%folder%" PushD %folder%
Set "Cmnd=netsh advfirewall firewall add rule action=block"
echo:
For /R %%a In (*.exe) Do (For %%b In (in out) Do (
echo 创建禁止 %%b 规则【%%a】
%Cmnd% name="blocked %%a via script" dir=%%b program="%%a"))
echo:
echo 搞定了,%folder% 中e所有 exe 文件的禁止入站、出站规则都已成功创建!
echo ----------------------------
echo:
goto begin
回头一搜索,才发现是知乎上的。。 WIN10防火墙阻止整个文件夹里的exe联网怎么弄? - 知乎
测试了,可用,可以阻止 win32 程序中的 ie 组件等联网,但不能阻止其通过 外部的系统指令,比如curl,进行联网。
mad明明不是代码,从zhihu'粘贴一段评论,就闪……
我是尝试编写程序测试的。ie组件比较绕,问curosr编辑器里的机器人,越来越敷衍,真是机心不古,茶风日下!
后来调整关键词,从codeproject上下载了可编译、可运行demo,除了ie组件,顶部还有按钮啊,地址栏啊。Embedded WebBrowser (IWebBrowser2) in Pure C++ (no MFC, etc) - CodeProject
测试程序,禁止文件夹内exe联网后,就真的ie就像真的不能联网一样,但是还是可以exe还是可以通过curl指令联网,前提计算机上有curl并在path中。
int test_main() { std::string url = "pss.bdstatic.com/static/supe…"; std::string command = "curl " + url;
// 执行curl命令并获取输出
FILE* pipe = _popen(command.c_str(), "r");
if (pipe) {
char buffer[128];
std::string result = "";
while (!feof(pipe)) {
if (fgets(buffer, 128, pipe) != NULL)
result += buffer;
}
_pclose(pipe);
// 输出获取的文本内容
MessageBoxA(hWndMain, result.data(), "", 0);
//std::cout << result << std::endl;
}
return 0;
}
这样,阻止联网就失效了~
再看看它创建的规则放哪里?算了人生苦短,不看了。
再拓展看看,问茶特匹:
删除禁止联网规则:
允许联网
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
@Echo Off
SetLocal
:begin
echo:
echo ****** 禁止文件夹联网 ******
echo:
set /p folder=请输入文件夹(退出请直接关闭窗口):
If Not Exist "%folder%\" Exit/B
If /I "%CD%" NEq "%folder%" PushD %folder%
Set "Cmnd=netsh advfirewall firewall delete rule "
echo:
For /R %%a In (*.exe) Do (For %%b In (in out) Do (
echo 创建禁止 %%b 规则【%%a】
%Cmnd% name="blocked %%a via script" dir=%%b program="%%a"))
echo:
echo 搞定了,%folder% 中所有 exe 文件的禁止入站、出站规则都已成功创建!
echo ----------------------------
echo:
goto begin
发现,禁止联网,会重复添加规则。
于是:
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
@Echo Off
SetLocal
:begin
echo:
echo ****** 禁止文件夹联网 ******
echo:
set /p folder=请输入文件夹(退出请直接关闭窗口):
If Not Exist "%folder%\" Exit/B
If /I "%CD%" NEq "%folder%" PushD %folder%
Set "Cmnd=netsh advfirewall firewall add rule action=block"
echo:
For /R %%a In (*.exe) Do (For %%b In (in out) Do (
echo 创建禁止 %%b 规则【%%a】
netsh advfirewall firewall show rule name="blocked %%a via script" | findstr /i "blocked %%a via script" >nul
if errorlevel 1 (
%Cmnd% name="blocked %%a via script" dir=%%b program="%%a"
) else (
echo 规则【%%a】已存在,跳过创建
)
))
echo:
echo 搞定了,%folder% 中所有 exe 文件的禁止入站、出站规则都已成功创建!
echo ----------------------------
echo:
goto begin
bat 真是最差的编程语言……