Skip to content

BitMono Release v0.42.1

Latest

Choose a tag to compare

@github-actions github-actions released this 20 Jun 15:00
· 13 commits to main since this release
Immutable release. Only release title and notes can be modified.

What's Changed

  • Unity IL2CPP global-metadata.dat protection: a global-metadata.dat parser and inspector (--inspect-metadata), an in-place metadata writer, and a metadata encryptor (--encrypt-metadata) with a
    matching native C++ decryptor reference — the encrypt↔decrypt round-trip is verified byte-perfect on a real Unity 6 build by @sunnamed434 (#276)
  • FullRenamer now renames virtual/interface methods by vtable slot (renaming the whole slot group together) instead of skipping them, so more methods get obfuscated without breaking overrides by @sunnamed434
  • Rewrote the reflection critical-member analysis for more accurate detection of members used via reflection (now handles GetILAsByteArray and more), backed by a runtime end-to-end test by @sunnamed434
  • New critical analyzers keep code working after obfuscation: SerializationCriticalAnalyzer (serialization members), UnitySerializationCriticalAnalyzer ([SerializeField]/Unity-serialized fields), and
    UnityStringInvokeCriticalAnalyzer (methods invoked by string, e.g. Invoke/SendMessage) are left unrenamed by @sunnamed434
  • New BITM0001 Roslyn analyzer warns protection/plugin authors against Context.Module.GetAllTypes() (a common footgun); it ships inside BitMono.Core so plugin authors get it in their own IDE by
    @sunnamed434
  • Replaced Newtonsoft.Json with a small cross-platform JSON helper (System.Text.Json on net6.0+) by @sunnamed434
  • Fixed: the vendored Echo assemblies are now packed into the BitMono.Core package, so using BitMono as a library no longer throws FileNotFoundException: Echo.DataFlow at runtime by @sunnamed434
  • Fixed: BitMono.Unity no longer ships the build-time CLI DLLs into the IL2CPP player build, which previously made IL2CPP builds hang at "Extracting script serialization layouts" by @sunnamed434
  • Docs & brand: reworked the exclude/criticals and developer pages, simplified and fixed outdated content, and refreshed the logo kit, README header, and docs logo/favicon by @sunnamed434
  • Docs now available at docs.bitmono.dev
  • CI: keep --skip-duplicate on the nuget.org push by @sunnamed434
  • Bump BenchmarkDotNet from 0.13.4 to 0.15.8 by @dependabot[bot] in #278
  • build(deps): Bump game-ci/unity-builder from 4 to 5 by @dependabot[bot] in #277
  • Bump Costura.Fody from 6.0.0 to 6.2.0 by @dependabot[bot] in #279
  • Bump Microsoft.NET.Test.Sdk from 17.14.1 to 18.6.0 by @dependabot[bot] in #284

Full Changelog: 0.41.1...0.42.1