我有一个用C#编写的应用程序,它是通过InnoSetup安装的。
启用Windows 10 Defender的“ 受控文件夹访问”后,安装程序无法创建桌面图标(显示消息PersistFile::Save failed, code 0x80070002)-尽管以管理权限运行。
此外,已安装的应用程序(未以管理特权运行)无法写入用户的文件夹,例如Documents。
即使对于新文件或文件夹,也不会覆盖现有文件,这也会发生。对于勒索软件保护,我希望仅修改现有文件被认为是危险的。
我想到的第一个问题是:为什么我的申请被认为是有害的,因此被阻止了?
我已经进行了广泛的研究以获得答案,但是找不到任何有帮助的内容:
Mircosoft的Web资源描述了哪些应用程序被认为是有害的以及为什么找不到它-只是在这里猜测。
使用扩展验证证书(有助于抑制SmartScreen警告)对我的应用程序签名不会更改Windows Defender的行为。
我让Windows App认证套件分析安装程序-报告了一些警告和一个严重错误。我修复了该工具包抱怨的所有问题(关于/ SAFESEH的警告除外,这对于InnoSetup而言是不可能的),但是这并没有改变Windows Defender关于访问阻止的行为。
因此,我的提炼问题是:如何以有效方式绕过Windows Defender的设置和应用程序访问阻止?
为了提供对该问题的见解并为实验提供基础,我在C#中设置了一个小样本应用程序
使用Visual Studio生成解决方案,并使用InnoSetup打包生成,可以很容易地通过启用“ 受控文件夹访问”来重现行为。(确保查看README.md以获取有关构建步骤的描述!)
请检查示例项目。
c# delphi security windows-defender controlled-folder-access
Jupyter is not able to save, create (I imagene delete) any file type. But I can load them fine
Creating File Failed An error occurred while creating anew file.
''' Unexpected error while saving file: untitled.txt [Errno 2] No such file or directory: 'C:\Users\me\Documents\jupyter_notebooks\untitled.txt' '''
C:\WINDOWS\system32>jupyter notebook
[I 17:15:51.888 NotebookApp] JupyterLab beta preview extension loaded from c:\users\me\appdata\local\programs\python\python35\lib\site-packages\jupyterlab
[I 17:15:51.888 NotebookApp] JupyterLab application directory is c:\users\me\appdata\local\programs\python\python35\share\jupyter\lab
[I 17:15:52.091 NotebookApp] Serving …Run Code Online (Sandbox Code Playgroud) 我发现 Git Bash 命令被 Windows 10 勒索软件保护阻止。仅当我尝试在 Windows 文件夹(例如文档)中执行它们时,才会发生这种情况。我已经用mkdir和对此进行了测试touch对此进行了测试,但它可能涉及更多命令。
我收到的错误如下所示:
\n\nDESKTOP-FBRH45G MINGW64 ~/Documents/Git_Projects\n$ mkdir example_folder\nmkdir: cannot create directory \xe2\x80\x98example_folder\xe2\x80\x99: No such file or directory\nRun Code Online (Sandbox Code Playgroud)\n\n当打开受控文件夹访问保护时会发生这种情况。
\n\n\n\n当保护关闭时,执行命令:
\n\nDESKTOP-FBRH45G MINGW64 ~/Documents/Git_Projects\n$ mkdir example_folder\n\nDESKTOP-FBRH45G MINGW64 ~/Documents/Git_Projects\n$ ls\nexample_folder/\nRun Code Online (Sandbox Code Playgroud)\n\n如果我使用管理权限运行 Git Bash 没有任何区别。我尝试将 Git 添加到允许的应用程序设置中,但也没有任何区别:
\n\n\n\n目前唯一的解决方法是禁用保护或将 Git 项目移动到另一个文件夹;但是,我想知道是否可以做任何事情来使这些命令在我的文档文件夹中工作,因为这是我想要存储项目的地方。
\n\n我的 git 当前版本是:
\n\nDESKTOP-FBRH45G MINGW64 ~\n$ git --version\ngit version 2.23.0.windows.1\nRun Code Online (Sandbox Code Playgroud)\n 我是一名学生...我尝试将查询保存到文档中的文件中,但收到错误消息
c:\user\my_account\documents\script.sql 文件未找到
请检查文件名并重试。
其他问题: