Description: .NET module/assembly reader/writer library written for [de4dot](https://github.com/0xd4d/de4dot/).
dnlib was created because de4dot needed a robust .NET assembly library that
could handle all types of obfuscated assemblies. de4dot used to use Mono.Cecil
but since Mono.Cecil can t handle obfuscated assemblies, doesn t fully support
mixed mode assemblies, doesn t read .NET assemblies the same way the [CLR](http://en.wikipedia.org/wiki/Common_Language_Runtime) does
and many other missing features de4dot needed, dnlib was a necessity. The API
is similar because it made porting de4dot to dnlib a lot easier.
For another application using dnlib, see [ConfuserEx](https://github.com/yck1509/ConfuserEx/)
(a .NET obfuscator). It uses many of the more advanced features of dnlib. Have
a look at its writer code which gets executed during the assembly writing
process.
To Search:
File list (Check if you may need any files):
dnlib-master\.gitignore
............\CONTRIBUTORS.txt
............\Debug\bin\dnlib.dll
............\.....\...\dnlib.pdb
............\.....\...\dnlib.xml
............\dnlib.sln
............\dnlib.snk
............\dnlib.v11.suo
............\Examples\app.config
............\........\Example1.cs
............\........\Example2.cs
............\........\Example3.cs
............\........\Example4.cs
............\........\Example5.cs
............\........\Example6.cs
............\........\Examples.csproj
............\........\obj\x86\Debug\build.force
............\........\...\...\.....\DesignTimeResolveAssemblyReferencesInput.cache
............\........\...\...\.....\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
............\........\...\...\.....\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
............\........\...\...\.....\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
............\........\Program.cs
............\........\...perties\AssemblyInfo.cs
............\LICENSE.txt
............\README.md
............\src\dnlib.csproj
............\...\DotNet\AccessChecker.cs
............\...\......\AllTypesHelper.cs
............\...\......\AssemblyAttributes.cs
............\...\......\AssemblyDef.cs
............\...\......\AssemblyHash.cs
............\...\......\AssemblyHashAlgorithm.cs
............\...\......\AssemblyNameComparer.cs
............\...\......\AssemblyNameInfo.cs
............\...\......\AssemblyRef.cs
............\...\......\AssemblyResolver.cs
............\...\......\CallingConvention.cs
............\...\......\CallingConventionSig.cs
............\...\......\ClassLayout.cs
............\...\......\Constant.cs
............\...\......\CorLibTypes.cs
............\...\......\CustomAttribute.cs
............\...\......\CustomAttributeCollection.cs
............\...\......\CustomAttributeReader.cs
............\...\......\DeclSecurity.cs
............\...\......\DeclSecurityReader.cs
............\...\......\ElementType.cs
............\...\......\.mit\Code.cs
............\...\......\....\DynamicMethodBodyReader.cs
............\...\......\....\ExceptionHandler.cs
............\...\......\....\ExceptionHandlerType.cs
............\...\......\....\Extensions.cs
............\...\......\....\FlowControl.cs
............\...\......\....\Instruction.cs
............\...\......\....\InstructionPrinter.cs
............\...\......\....\InvalidMethodException.cs
............\...\......\....\LocalList.cs
............\...\......\....\MethodBody.cs
............\...\......\....\MethodBodyReader.cs
............\...\......\....\MethodBodyReaderBase.cs
............\...\......\....\MethodTableToTypeConverter.cs
............\...\......\....\MethodUtils.cs
............\...\......\....\OpCode.cs
............\...\......\....\OpCodes.cs
............\...\......\....\OpCodeType.cs
............\...\......\....\OperandType.cs
............\...\......\....\StackBehaviour.cs
............\...\......\EventAttributes.cs
............\...\......\EventDef.cs
............\...\......\ExportedType.cs
............\...\......\Extensions.cs
............\...\......\FieldAttributes.cs
............\...\......\FieldDef.cs
............\...\......\FileAttributes.cs
............\...\......\FileDef.cs
............\...\......\FullNameCreator.cs
............\...\......\GenericArguments.cs
............\...\......\GenericParam.cs
............\...\......\GenericParamAttributes.cs
............\...\......\GenericParamConstraint.cs
............\...\......\GenericParamContext.cs
............\...\......\IAssemblyResolver.cs
............\...\......\ICodedToken.cs
............\...\......\ICorLibTypes.cs
............\...\......\ICustomAttribute.cs
............\...\......\IDecrypters.cs
............\...\......\ILogger.cs
............\...\......\ImplMap.cs
............\...\......\Importer.cs
............\...\......\InterfaceImpl.cs
............\...\......\IResolver.cs
............\...\......\IType.cs
............\...\......\ITypeDefFinder.cs
............\...\......\IVariable.cs
............\...\......\ManifestResource.cs
............\...\......\M