You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Assembly.Load(Byte[])是否会在磁盘留痕?系统是否缓存其内容?

Assembly.Load(Byte[])是否会在磁盘留下痕迹?

直接调用Assembly.Load(Byte[])本身不会主动将程序集写入磁盘,它是直接从内存字节数组把程序集加载到CLR中运行的,但有几个需要注意的潜在磁盘痕迹场景:

  • 系统分页文件:当系统内存不足时,Windows可能会把进程内存中的部分数据(包括加载的程序集内容)交换到分页文件(pagefile.sys)中。不过分页文件默认是加密状态(开启系统加密的前提下),且系统重启后会被清空,常规手段很难从中提取完整的程序集。
  • 调试/诊断工具:如果有调试器、性能分析工具附加到进程,这类工具可能会为了分析需求,把内存中的程序集数据写入磁盘,但这属于非常规触发的场景,不是Assembly.Load本身的行为。
  • 第三方内存dump工具:恶意程序或调试类工具可以对目标进程执行内存dump操作,将整个进程内存(包含加载的程序集)写入磁盘,但这同样是外部操作导致的,和Assembly.Load的加载机制无关。

另外需要明确:.NET Framework和.NET Core/.NET 5+的Assembly.Load(Byte[])都不会自动将通过字节数组加载的程序集缓存到常规的磁盘缓存目录(比如GAC、临时缓存文件夹)中。

内容的提问来源于stack exchange,提问作者srnldai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 09:48:10