比较类型方法字段等.DOCVIP

  • 18
  • 0
  • 约1.51万字
  • 约 16页
  • 2019-01-03 发布于天津
  • 举报
比较类型方法字段等

.NET 模块/汇编读取器/编写库,为 HYPERLINK /0xd4d/de4dot/ de4dot 编写。 dnlib是创建的,因为de4dot需要一个健壮的.NET 程序集库,可以以处理所有。 de4dot使用 Mono.Cecil 但由于 Mono.Cecil 不能处理混淆的程序集,不完全支持混合模式程序集,因此不像 HYPERLINK /wiki/Common_Language_Runtime 程序集那样读取. NET 程序集,因此需要 dnlib 。 这个API很相似,因为它使de4dot移植到dnlib更容易。 对于使用dnlib的其他应用程序,请参见 HYPERLINK /0xd4d/dnSpy dnSpy 和 HYPERLINK /yck1509/ConfuserEx/ ConfuserEx ( 一个. NET 混淆器) 。 它们使用了dnlib的许多更高级的特性。 查看ConfuserEx编写程序代码,该代码在编写程序集过程中被执行。 想要感谢点击页面顶部的星星。 HYPERLINK \l compiling 编译 v3.0需要 VS2017 ( c#7.2 ) 或者更高版本才能生成它。 参见下面的从 2.1到 3.0的重大更改 可以使用老的v2.1分支插件来构建旧版本的版本。 这里分支将不获取任何新更新。 有两个项目文件,一个用于. NET 框架 3.5或者更多的( src/dnlib.csproj ),另一个是 netstandard 2.0 ( src/standard.csproj ) 。 HYPERLINK \l v30-breaking-changes v3.0中断更改 VS2017,C# 7.2需要编译它 它目标. NET 框架 3.5或者更高版本,netstandard 2.0或者更高版本的(.NET 框架 2.0和 3.0不支持 *MetaData* - *MetaData* IMetaData 接口是一个抽象类 Metadata _32Bit* - Bit32* IAssemblyResolver 只有 Resolve 方法。 其他方法仍由默认程序集解析器( AssemblyResolver ) 实现 原始表格行,例如 RawMethodRow 它们是不可变的结构,并且读取它们的方法已经从。 ReadMethodRow - TryReadMethodRow 索引器替换它的Read() 方法 IRawRow 接口已经被删除 Constant 表信息( TableInfo ) 有一个额外的填充字节列 ModuleWriterOptionsBase.Listener 已经过时,请使用新事件 ModuleWriterOptionsBase.WriterEvent 改为改为 当前进程相关的模块编写器事件已经被删除。 使用新事件 ModuleWriterOptionsBase.ProgressUpdated 改为改为 StrongNameKey,PublicKey,PublicKeyToken 是不可变的类 RidList 是一个结构 IBinaryReader,IImageStream 已经被移除并替换为新类 MemoryImageStream - ByteArrayDataReaderFactory 它有两个 static 工厂方法,Create 和 CreateReader BinaryReaderChunk - DataReaderChunk 要获取读取器,请在 IPEImage 。DataReaderFactory 或者 #Blob 流上调用 CreateReader 读取器是一个名为 DataReader的结构,它不是一次性的。 阅读器有 Slice 方法来获取另一个阅读器( 替换旧的Create 方法 由于读取器是结构,如果在方法返回时应该更新方法的位置,请通过引用传递它。 现在 DataReader.Position 是 uint 而不是 long,因此,long的表达式现在可以是 uint,可能是溢出/下溢 reader.Position + 0xFFFFFFFF reader.Position + someRandomValue var pos = reader.Position; -- pos 是一个 uint,而不是 long DataReader.Position 只接受有效值,如果将它的设置为无效的位置,则会引发( IOException ) FileOffset 是 uint,用于 long MethodBodyWriterBase 使用 ArrayWriter 而不是 BinaryWriter ( 所有虚方法) ModuleWriter 和 Nati

文档评论(0)

1亿VIP精品文档

相关文档