diff --git a/Reactor.OxygenFilter.MSBuild/Reactor.OxygenFilter.MSBuild.csproj b/Reactor.OxygenFilter.MSBuild/Reactor.OxygenFilter.MSBuild.csproj
index 51ff9d4..4937c96 100644
--- a/Reactor.OxygenFilter.MSBuild/Reactor.OxygenFilter.MSBuild.csproj
+++ b/Reactor.OxygenFilter.MSBuild/Reactor.OxygenFilter.MSBuild.csproj
@@ -4,7 +4,7 @@
latest
true
- 0.1.4
+ 0.1.5
git
https://github.com/NuclearPowered/Reactor.OxygenFilter
LGPL-3.0-or-later
diff --git a/Reactor.OxygenFilter.MSBuild/Reobfuscate.cs b/Reactor.OxygenFilter.MSBuild/Reobfuscate.cs
index 9507943..5e10a4c 100644
--- a/Reactor.OxygenFilter.MSBuild/Reobfuscate.cs
+++ b/Reactor.OxygenFilter.MSBuild/Reobfuscate.cs
@@ -33,6 +33,8 @@ namespace Reactor.OxygenFilter.MSBuild
using var stream = File.Open(Input, FileMode.Open, FileAccess.ReadWrite);
var resolver = new DefaultAssemblyResolver();
+ var obfuscatedAssembly = AssemblyDefinition.ReadAssembly(Path.Combine(AmongUs, "BepInEx", "unhollowed", "Assembly-CSharp.dll"));
+
resolver.ResolveFailure += (_, reference) =>
{
foreach (var referencedAssembly in ReferencedAssemblies)
@@ -48,6 +50,11 @@ namespace Reactor.OxygenFilter.MSBuild
}
}
+ if (reference.FullName == obfuscatedAssembly.Name.FullName)
+ {
+ return obfuscatedAssembly;
+ }
+
return null;
};
@@ -166,8 +173,6 @@ namespace Reactor.OxygenFilter.MSBuild
}
}
- var obfuscatedAssembly = ModuleDefinition.ReadModule(Path.Combine(AmongUs, "BepInEx", "unhollowed", "Assembly-CSharp.dll"));
-
// fix generic methods
foreach (var methodDefinition in moduleDefinition.GetAllTypes().SelectMany(x => x.Methods))
{
@@ -196,11 +201,11 @@ namespace Reactor.OxygenFilter.MSBuild
type = type.DeclaringType;
}
- var typeDefinition = obfuscatedAssembly.GetType(GetObfuscated(hierarchy.First()));
+ var typeDefinition = obfuscatedAssembly.MainModule.GetType(GetObfuscated(hierarchy.First()) ?? hierarchy.First().FullName);
foreach (var element in hierarchy.Skip(1))
{
- typeDefinition = typeDefinition.NestedTypes.Single(x => x.Name == GetObfuscated(element));
+ typeDefinition = typeDefinition.NestedTypes.Single(x => x.Name == (GetObfuscated(element) ?? element.Name));
}
// get same method from obfuscated assembly