gpt4 book ai didi

c# - 理论上是否可以操纵 .NET 程序集以便所有内容都公开?

转载 作者:行者123 更新时间:2023-11-30 21:20:08 25 4
gpt4 key购买 nike

我对CIL了解不多,只知道程序集中有元数据记录了类型信息。
是否可以创建一些能够读取 C# 或 VB.NET 程序集并更改其元数据以便所有类成员都公开的反射(reflect)工具?
它会很简单吗(例如,为 CIL 中的每个方法更改一个或两个字节)?

最佳答案

是的,这是可能的,但并不总是安全的。在野外有一些代码使用反射 API 来查找类型、方法、字段等。如果代码明确查找非公共(public)的,将它们设为公共(public)会破坏代码。类似地,如果代码寻找公共(public)的并且期望不包括非公共(public)的,再次公开这些将破坏代码。

据我所知,执行此操作的最佳工具是 Mono.Cecil ,这是一个开源库,可以读取、操作和编写 .NET 程序集。

关于c# - 理论上是否可以操纵 .NET 程序集以便所有内容都公开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3434723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com