如何要求Windows Defender Ransomware Protection允许未经管理员许可而写入文件?

问题描述

首先,我想稍微解释一下我的情况:我必须维护一个基于普通WinAPI的旧软件产品(具有25年以上的历史)。困难在于,我们没有相应的代码,原始的作者公司早已不复存在(RIP @ 1997),但是他们给我们留下了插件API,有些语句像我们可以随意使用它。因此,我们进行了一些x86逆向工程,并编写了许多插件代码,从理论上讲一切都很好。该应用程序仍然可以完美地完成其工作。除了一个小问题,它甚至在Windows 10上也能完美地完成工作:

一旦用户尝试将其数据保存到用户文档文件夹中,应用程序有时(并非总是如此)将无权在此处创建和写入/覆盖文件。我们已经跟踪到了一些旧的fopenfwritefprintf调用,当启用Windows 10 Defender勒索软件保护时,这些调用将被阻止。

例如

mov     ecx,[esp+3Ch+access]
push    ecx
lea     edx,[esi+eax+400h]
push    edx
call    _fopen

push    offset SomeDataOffset
push    eax
push    edx
push    offset FormatOffset
push    ebx
call    _fprintf

(还有更多。)

问题是我不想告诉用户管理员模式运行该应用程序以(也许?)绕过它,因为在某些情况下,甚至无法做到这一点。而且我什至不确定这是否有效。因此,我最好的选择是一些替换代码,该代码可以对系统/用户进行某种提升或一般性的请求权限,然后再将数据写入该目录/文件

问题是,我该怎么办?我知道如何替换该代码,但不能替换为

TL; DR

是否有任何 magical WinAPI或任何函数/代码,可以让我请求权限(可能带有用户的系统弹出窗口)来写入特定的文件路径? (但是不需要管理员权限)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)