.NET 程序在装有企业防水墙的电脑上运行报错:内存不足
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
昨天有个客户反馈,在一台Win10电脑上运行某程序,结果点击联系人时,右边的聊天窗口始终出不来。现象如下图所示: 一. 问题排查于是,我们远程到客户的这台电脑上,发现这台电脑有装企业防水墙(驱动级自动文件加密),并且该程序的日志内容有如下报错记录: System.Drawing.Image.FromFile: 内存不足。 找到该程序的安装目录,进入图片资源文件夹查看,发现图片文件都被防水墙加密。如下图所示,黄色小锁为文件加密标记。 到这里,问题已经基本清楚了:客户电脑部署防水墙,程序目录下所有PNG图标文件会被自动加密。当程序使用 当在防水墙中设置目标文件夹下的图片不加密后,程序即可正常加载图标,聊天窗口就可以正常打开了。 二、根本原因说明我们专门了解了一下防水墙的加密原理,并结合GDI+的报错信息,发现: 1. 防水墙加密会修改PNG文件二进制结构,增加加密头,文件不再是标准图片; 2. GDI+解析异常文件时,无法识别图像数据,抛出误导性「内存不足」提示(实际上并非真的物理内存不够); 3. 解密后文件恢复标准PNG格式,程序工作就恢复正常了。 这是我们第一次接触装有企业防水墙的电脑,企业防水墙全称数据防泄漏防水墙,属于内网数据安全系统,其核心目标是管控企业内部各类数据、防止核心资料外泄。 由于图片被防水墙加密,而导致.NET程序运行异常。又涨知识了,在这里记录做个备忘,也希望对后来者有所帮助! 转自https://www.cnblogs.com/zhuweisky/p/20629887 该文章在 2026/7/3 11:30:50 编辑过 |
关键字查询
相关文章
正在查询... |