Skip to content

fix(reactor): Retain externally referenced resource resolver types - #46

Merged
meck-gd merged 1 commit into
GDATAAdvancedAnalytics:masterfrom
YagUber:fix/retain-referenced-resource-resolvers
Oct 5, 2026
Merged

meck-gd merged 1 commit into
GDATAAdvancedAnalytics:masterfrom
YagUber:fix/retain-referenced-resource-resolvers

Conversation

@YagUber

@YagUber YagUber commented Sep 28, 2026

Copy link
Copy Markdown

Fixes invalid output when a .NET Reactor resource resolver type is still used by application code.

When resource decryption and method inlining were enabled, de4dot always removed the detected resource-resolver type. The sample I came across retained externally callable resolver helpers, and other module types still reference those methods after deobfuscation. Removing the resolver type leaves a dangling method reference and causes dnlib to reject the output while writing method bodies.

Now before removing the resolver type, scan methods outside that type for calls to resolver methods other than its initializer and retain the type when an external reference remains.

@meck-gd
meck-gd merged commit 6a2d23e into GDATAAdvancedAnalytics:master Oct 5, 2026
3 checks passed
@meck-gd

meck-gd commented Oct 5, 2026

Copy link
Copy Markdown

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants