lhc0688 发表于 2024-4-18 22:52:57

【禁用PS联网验证批处理】纠错

本帖最后由 lhc0688 于 2024-4-19 09:26 编辑

【先提示,以免误用】:该批处理仅适用于新版的PS便携绿化版,即使用PhotoshopPortable.exe启动的绿化PS版本,如:423Down的2024-v25.5.1.408等


问题:已经解决,保留以供有类似情况的朋友参考;


新版PS绿色版及PJ版,连接外网后,仍然会弹出验证提示(一张白膏药),想通过批处理添加防火墙规则等方法来彻底屏蔽联网验证,写了一个,但不论怎样测试,提示信息显示正确,但不能实际创建有效的出站、入站规则,问题表现如下:

1、出站规则建立正常,第二次运行时,也可以被正常删除,返回提示“规则1删除”;

2、入站规则第一次运行批处理可以正常建立,但第二次运行批处理时,返回提示为“确定”,不能被正常删除,导致重复建立;

不知问题出在哪里,故发上来求教万能的坛友,帮忙传教解惑,不胜感激!

代码如下:
---------------------------------------------------------
@ECHO OFF

echo 1、禁用微软自动更新服务
sc config BITS start= disabled
echo.
rem 获取当前脚本所在PS的完整路径
set xpath="%CD%\App\Program Files\Adobe\Adobe Photoshop 2024\Photoshop.exe"

echo 2、删除之前可能存在的防火墙规则,并忽略错误信息
echo.
rem 删除-PS禁止联网-出站
@netsh advfirewall firewall delete rule name="PS禁止联网-出站"
rem 删除-PS禁止联网-入站
@netsh advfirewall firewall delete rule name="PS禁止联网-入站”
echo.
PAUSE
echo 3、添加新的防火墙规则,禁止Photoshop.exe程序的出站和入站网络流量
echo.
rem 添加PS禁止联网-出站 规则
netsh advfirewall firewall add rule name="PS禁止联网-出站" dir=out action=block profile=any program=%xpath% enable=yes
rem 添加PS禁止联网-入站 规则
netsh advfirewall firewall add rule name="PS禁止联网-入站" dir=in action=block profile=any program=%xpath% enable=yes
echo.
ECHO 完成绿化,按任意键关闭!&PAUSE>NUL&EXIT
----------------------------------------
【已解决】:
建立、删除防火墙规则问题,在hua_wuxin坛友帮助下已经解决,是第二条删除语句最后的引号错写成中文全角了,非常感谢hua_wuxin!
禁用联网后【任务管理器】显示状态:



可以看到AdobeIPCBroker.exe已经不再运行,仅有一个PS主程序,且功能正常;

----------------------------------
为感谢hua_wuxin坛友的帮助,把完成后的【禁用联网验证】批处理发上来,有需要的朋友可以尝试:

1、该批处理仅适用于新版的PS便携绿化版,即使用PhotoshopPortable.exe启动的绿化PS版本,如:423Down的2024-v25.5.1.408等;
2、请在未运行PS的状态下执行批处理,确保AdobeIPCBroker.exe文件能成功更名备份;

3、如需恢复原状,可手动将AdobeIPCBroker.exe_ 恢复为原文件名,并手动清除"PS禁止联网-出站"、"PS禁止联网-入站"两个防火墙规则,同时根据需要重新启用微软BITS服务;


附件:(权限不够不能上传)

直接贴批处理源代码:
---------------------------------------------------
@ECHO OFF

echo.
echo 1、将AdobeIPCBroker.exe更名备份,并创建一个空的该文件
echo.
set IPCpath="%~dp0App\Program Files (x86)\Common Files\Adobe\Adobe Desktop Common\IPCBox\AdobeIPCBroker.exe"
rename %IPCpath% AdobeIPCBroker.exe_
copy nul %IPCpath%
echo.

echo 2、禁用微软自动更新服务

sc config BITS start= disabled
echo.

echo 3、删除之前可能存在的防火墙规则,并忽略错误信息
echo.

rem 获取当前脚本所在PS的完整路径
set xpath="%~dp0App\Program Files\Adobe\Adobe Photoshop 2024\Photoshop.exe"

rem 删除-PS禁止联网-出站
@netsh advfirewall firewall delete rule name="PS禁止联网-出站"
rem 删除-PS禁止联网-入站
@netsh advfirewall firewall delete rule name="PS禁止联网-入站"
echo.

echo 4、添加新的防火墙规则,禁止Photoshop.exe程序的出站和入站网络流量
echo.
rem 添加PS禁止联网-出站 规则
netsh advfirewall firewall add rule name="PS禁止联网-出站" dir=out action=block profile=any program=%xpath% enable=yes
rem 添加PS禁止联网-入站 规则
netsh advfirewall firewall add rule name="PS禁止联网-入站" dir=in action=block profile=any program=%xpath% enable=yes
echo.

ECHO 完成绿化,按任意键关闭!&PAUSE>NUL&EXIT





hua_wuxin 发表于 2024-4-18 23:05:05

1、因为批处理是被谁从何处如何调用等等,%CD%可能不可靠。把%CD%\App换成%~dp0App看看
2、profile=any和enable=yes去掉看看

lhc0688 发表于 2024-4-18 23:11:40

新版PS绿色版,已精简掉了 adobe_licutil.exe、Dapp.exe等联网相关程序文件,经实际测试,仍有以下三个联网方式需要屏蔽:

1、AdobeIPCBroker.exe
2、Photoshop.exe
3、微软自动更新服务BITS

我的想法:
1、AdobeIPCBroker.exe直接删除会导致ps主程序找不到文件,无法启动,但可以新建一个同文件名的空文件,骗过主程序,实测可正常启动,未发现问题;
2、想通过建立防火墙出、入站规则,禁止其联网;
3、禁用微软自动更新服务;

实测,经过以上三项操作,新版ps绿色版可以正常使用,不再弹出”白膏药“;

lhc0688 发表于 2024-4-18 23:18:42

hua_wuxin 发表于 2024-4-18 23:05
1、因为批处理是被谁从何处如何调用等等,%CD%可能不可靠。把%CD%\App换成%~dp0App看看
2、profile=any和e ...

1、%~dp0App无论怎么测试,都不能显示为正常的绝对路径名,只会显示变量名本身,即【%~dp0App】,后来换成%CD%,用echo可以正常显示,在建立的规则中查看程序路径,也正常,不知何故?

2、profile=any和enable=yes去掉看看-----好的,我试试看下;

lhc0688 发表于 2024-4-18 23:29:35

hua_wuxin 发表于 2024-4-18 23:05
1、因为批处理是被谁从何处如何调用等等,%CD%可能不可靠。把%CD%\App换成%~dp0App看看
2、profile=any和e ...

profile=any和enable=yes去掉后测试,好像没有变化;

2012飘水 发表于 2024-4-18 23:35:15

学习了,感谢分享

rancyber 发表于 2024-4-18 23:46:31

现在主流PS软件用的哪个版本的哦?

JOINT 发表于 2024-4-19 00:19:52

http://img.xdnphb.com/ueditor/edit/upload/image/20191211/1014409/1576032926471056932.png

JOINT 发表于 2024-4-19 00:20:05

http://img.xdnphb.com/ueditor/edit/upload/image/20191211/1014409/1576032926471056932.png

hua_wuxin 发表于 2024-4-19 00:35:36

lhc0688 发表于 2024-4-18 23:29
profile=any和enable=yes去掉后测试,好像没有变化;

你第二条删除语句最后的引号写错了 是中文全角的

wang1126 发表于 2024-4-19 06:38:47

感谢分享

lhc0688 发表于 2024-4-19 06:42:32

hua_wuxin 发表于 2024-4-19 00:35
你第二条删除语句最后的引号写错了 是中文全角的

还真是这个问题,眼睛都看花了竟然一直没发现,谢谢你帮着完成纠错!{:1_183:}{:1_195:}

lhc0688 发表于 2024-4-19 07:16:54

询问了下微软的Copilot:

1、%CD%是指命令执行的目录,%~dp0是批处理文件所在的目录;
2、%~dp0不能用于命令行,只能在批处理中使用,而%CD%可以在命令行使用;

所以,直接在命令行echo %~dp0不行;
在解决新建入站规则错误使用全角引号问题后,再测试%~dp0,可以正确解析路径!

问题已全部解决!感谢各位!

2011monoso 发表于 2024-4-19 08:44:44

学习了

yyz2191958 发表于 2024-4-19 08:54:32

进来学习

szwp 发表于 2024-4-19 08:57:44

判断文件不存在则暂停,或许会容易找到问题

zhenghui 发表于 2024-4-19 08:58:55

不错很好地命令感谢分享、收藏起来

lhc0688 发表于 2024-4-19 09:09:02

szwp 发表于 2024-4-19 08:57
判断文件不存在则暂停,或许会容易找到问题

szwp老师能出面指点,非常荣幸!

目前只是按自己理解瞎写了点简单的命令,只是完成文件改名备份、建防火墙规则;

如果更专业、完善的话,可能还需要:

1、更名前判断文件是否存在,是否已经被改过名,防止误操作,保证原文件安全;

2、批处理应该可以自己判断是否已进行过禁用联网操作,如果已禁用,则执行【恢复】,如果未禁用,则执行【禁用】;

本人能力有限,只懂点毛皮,感觉搞起来有点吃力,如有大侠高手能帮着改进、优化,用更专业的方式实现功能,那就更好了!

yuguotqing 发表于 2024-4-19 09:17:55

学习,感谢分享

2012andyle113 发表于 2024-4-19 10:36:52

感谢分享,做个记号

guong 发表于 2024-4-19 10:51:37

感谢分享

熊哥 发表于 2024-4-19 11:08:14

学习学习

chibuzhu 发表于 2024-4-19 13:00:18

感谢分享{:1_195:}

yanglinman 发表于 2024-4-20 00:49:49

学习了,感谢分享!

softwarezheng 发表于 2024-4-20 08:53:58

感谢

fegr 发表于 2024-4-20 12:56:40

谢谢分享

softwarezheng 发表于 2024-4-21 08:49:45

感恩天地
页: [1]
查看完整版本: 【禁用PS联网验证批处理】纠错