Skip to content

Releases: Washi1337/AsmResolver

4.5.0

29 Mar 20:03
04b1b79
Compare
Choose a tag to compare

New Features

  • Automatic detection of .NET Core / .NET 5+ installation folders (#105)
  • Add support for .NET Core / .NET 5+ runtimeconfig.json file parsing and interpretation (#137).
  • Significant improvements in assembly and member resolution (#104)
  • Add RSDS CodeView Debug Data read/write support (#140, thanks @dr4k0nia)
  • Add final token mapping as an artifact of the module serialization. This allows for easy lookup of members in the constructed PEImage for post processing (#121 #148).
  • Add TypeMemoryLayout.IsPlatformDependent flag to easily determine whether a memory layout is dependent on the bitness of the environment (#143 #153)
  • Add better CIL assembler/disassembler diagnostics, allowing for better support of invalid instruction streams without crashing the main readers/writers of AsmResolver (fb31c42)
  • Add ICilOperandResolver to CilDisassembler.
  • Significant performance improvements in CIL disassembling, making it possible to easily parse 100k+ instructions per method body with less memory usage (7662a41).
  • Add CIL label verification, providing writer diagnostics when invalid labels exist in the method body (#146)
  • Improved CIL instruction formatting with escaped strings literals (55c81cd)
  • Add ITypeSignatureVisitor<in TSTate, out TResult> variant (#147, thanks @JPaja)
  • Add read support for x64 SEH PE data directory (#139)

Bug Fixes

  • Fixed a thread safety issue regarding reading metadata tables (#135)
  • Fixed a bug where System.Type CustomAttribute arguments with = in their full name would result in an incorrect parsing of the CA signature (460bcf2)
  • Fixed a bug where System.Type and enum typed CustomAttribute arguments that don't have a resolution scope explicitly defined, would not be looked up correctly (31fc864)
  • Fixed a bug where TryLookupString returned false even if the string was found successfully (5fcc4d2)
  • Fixed a bug where GenericParameter.Index would not be updated before serialization to PEImage (#145, thanks @Charterino)
  • Fixed a bug where cloning instance methods with ldarg would result in the wrong operand being selected (#155, thanks @oSumAtrIX)
  • Fixed a bug with token preservation where methods and parameter list tokens were incorrectly assigned, resulting in methods (re)defining parameter definitions incorrectly (#150)