title: Would it theoretically be possible to manipulate a .NET assembly so that everything becomes public?
body: <p>I don't know much about the CIL, except that there is metadata in assemblies that record the type information. <br/>
  Would it be possible to create some reflecting tool that is able to read a C# or VB.NET assembly and change its metadata so that all class members become public? <br/>
  Would it be straightforward (e.g. change one or two bytes for each method in CIL)?</p>