LavaGang / MelonLoader

The World's First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono
https://discord.gg/2Wn3N2P
Apache License 2.0
2.38k stars 472 forks source link

Bump AsmResolver.DotNet from 5.2.0 to 5.4.0 #493

Closed dependabot[bot] closed 3 months ago

dependabot[bot] commented 1 year ago

Bumps AsmResolver.DotNet from 5.2.0 to 5.4.0.

Release notes

Sourced from AsmResolver.DotNet's releases.

5.4.0

This release includes support for PE certificate tables, PE forwarder exports, as well as various quality of life improvements and bug fixes. Check out the documentation and the full change-log below:

New Features

  • Add read/write support for PE certificate tables (#451).
  • Add support for arbitrary symbols to be references in NativeMethodBody (#444, #449).
  • Let assembly resolution mechanism respect ModuleReaderParameters::WorkingDirectory (#438, #441).
  • Add read/write support for ExportedSymbol::IsForwarder (#437, #440).
  • Add ManagedPEFileBuilder::ErrorListener (#468).
  • Allow for ITypeDescriptor::Scope to be null and of type ModuleDefinition. (#466)
  • Add language identifiers for Version Info win32 resources (#457)
  • Add support for attaching multiple listeners to the MemberCloner (#461)
  • Add DotNetRuntimeInfo::GetDefaultCorLib and KnownCorlibs::FromRuntimeInfo (#462)
  • PEFile::CreateReaderAtFileOffset now supports reading from EOF data (582142876aad038721a3f6f6969f0195f99f332a).
  • Add Source Link (#469, thanks @​ds5678)

Bug fixes

  • Fix an issue when resolution scope of a type reference set to 0 when the coded index to the current module was meant instead (#459, #466).
  • Fix an issue where field RVA rows were not always correctly updated when writing unchanged serialized PEs (#468).
  • Fix an issue where win32 resource VersionInfo tables were not correctly aligned to the next 4-byte boundary, resulting in some of the resource to be trimmed away when rebuilding (#456).
  • Fix an issue where the Culture= part of AssemblyDescriptor.FullName was not included in the output (#458).
  • Fix an issue where PE section names would result in spurious "name too long" exceptions when containing unconventional UTF-8 code points (#453, #455).
  • Fix an issue where GetImpliedMemoryLayout would stack-overflow with unresolved generic parameter type signatures (#447, #448).
  • Fix an issue where ModuleReaderParameters were not passed along correctly in ModuleDefinition::FromBytes (bbf57811bdcfdf22a77365a8aef28795d7d7a517)

5.3.0

This version is mostly a maintenance version with performance improvements and bug fixes. Developers of .NET obfsucators and deobfuscators will also be happy to know that ManagedPEImageBuilder now accepts any IErrorListener. This should make it easier to ignore any invalid metadata that is introduced to the assembly model (e.g., by passing in an EmptyErrorListener). Finally, a migration from readthedocs to DocFX was made, giving a new home and look to the documentation. Let us know what you think of it!

New Features

  • Add support for arbitrary IErrorListener objects as opposed to just DiagnosticBags in ManagedPEImageBuilder (#367, thanks @​ds5678 for the help!).
  • Add LazyVariable<TOwner, TValue>, reducing the number of allocations made by AsmResolver's internals significantly for larger binaries (#428)
  • Add Platform::Is32Bit, Platform::Is64Bit and Platform::PointerSize (#430)
  • Add ZeroesSegment and ZeroesDataSource for creating, reading and writing memory-efficient segments containing only zero bytes (#430).
  • Migrate documentation to DocFX with full API reference (2545e1a4374fd070e2b1f3667d7aa053c7caf3be).

Bug Fixes

  • Fixed an issue where SignatureComparer::GetHashCode for assembly descriptors did not respect the configuration flags passed into the constructor (#427, #429).
  • Field RVA reader now correctly supports reading the data for IntPtr and UIntPtr typed fields (#430).
  • Fixed an issue where reading from a section that is empty on the disk would throw even if the section has a non-zero virtual size (#430).
  • Fixed an issue where entries in an import descriptor were not read correctly if OriginalFirstThunk = 0. This is the case for many packed executables such as UPX packed binaries (#431, #432)

Deprecations

  • PEImageBuildContext::DiagnosticBag is superseded by PEImageBuildContext::IErrorListener.
  • The constructor PEImageBuildResult taking a DiagnosticBag is superseded by the one taking an IErrorListener.

... (truncated)

Commits
  • 82989a6 Merge pull request #470 from Washi1337/development
  • 0c8f8de Merge pull request #469 from ds5678/source-link
  • 276c632 Resolve compiler warnings.
  • 5991eda Deterministic builds
  • 967c6cb Update encrypted nuget deploy key.
  • 0ff29f4 Fix more typos in knowncorlibs.
  • 52793c9 Downgrade to json 6.x.x for better compatibility.
  • 1279fc6 Fix layout of .net bundles docs.
  • 4e3f618 Update nuget dependencies.
  • 125df0f Merge pull request #468 from Washi1337/issue/invalid-fieldrvas
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependabot[bot] commented 3 months ago

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.