Skip to content

Conversation

@mkaring
Copy link
Owner

@mkaring mkaring commented Sep 28, 2020

No description provided.

mkaring and others added 30 commits July 21, 2018 09:17
This UnitTest shows an error in the TypeScrambler that is currently not
resolved.
remove the Process draft.
Added a check for parent process name. Fun to along with Compressor
…/typescrambler_unittest

# Conflicts:
#	.gitignore
#	.vs/Confuser2/DesignTimeBuild/.dtbcache
#	Confuser.Protections/TypeScrambler/Scrambler/ScannedItem.cs
#	Confuser.Runtime/Compressor.cs
#	Confuser2.sln
#	README.md
…/typescrambler_unittest

# Conflicts:
#	Confuser.Protections/TypeScrambler/Scrambler/Rewriter/Instructions/MemberRefInstructionRewriter.cs
#	Confuser.Protections/TypeScrambler/Scrambler/ScannedMethod.cs
Extensively reworked the type scrambler with the goal to actually get
it working. It is now able to handle the original test cases just fine.

The new version now properly selects the methods it can scramble and
processes and preserves existing generics correctly.

This version still needs testing with larger projects.
The implementations of interfaces are no longer causing the scrambler
to break the assembly.
- Skipping more unsupported methods
- Adding tests
Referencing existing references is now done based on the type
definition or reference, because the type signatures can't be properly
compared.
Testing the scramble to obfuscate ILSpy, revealed more problems. It is
still not fully working.
If an identical type signature was referenced twice in a method or type an unnecessary amount of generic parameters would get added.
This should be replaced by proper analysis of type visibility.
The type signatures of the scrambled fields where pointing to generic method parameters instead of generic type parameters.
@mkaring mkaring added the enhancement New feature or request label Sep 28, 2020
@mkaring mkaring added this to the 1.5 milestone Sep 28, 2020
@AppVeyorBot
Copy link

Build ConfuserEx 494 completed (commit 1b513839ac by @mkaring)

@AppVeyorBot
Copy link

Build ConfuserEx 496 completed (commit 0ca2990442 by @mkaring)

@mkaring mkaring force-pushed the feature/typescrambler_unittest branch from c23c570 to 8824c2c Compare September 28, 2020 11:17
@AppVeyorBot
Copy link

Build ConfuserEx 498 completed (commit 06721d5725 by @mkaring)

@mkaring mkaring force-pushed the feature/typescrambler_unittest branch from 8824c2c to cc5a6bb Compare September 28, 2020 11:26
@AppVeyorBot
Copy link

Build ConfuserEx 500 completed (commit 58fa233cd3 by @mkaring)

@mkaring mkaring force-pushed the feature/typescrambler_unittest branch from cc5a6bb to b3df4ce Compare September 28, 2020 11:39
@AppVeyorBot
Copy link

Build ConfuserEx 502 completed (commit 11e088c770 by @mkaring)

@mkaring mkaring force-pushed the feature/typescrambler_unittest branch from b3df4ce to 5cb39a5 Compare September 28, 2020 13:17
@AppVeyorBot
Copy link

Build ConfuserEx 504 completed (commit 71dae552de by @mkaring)

@mkaring mkaring merged commit 3ebca93 into master Sep 28, 2020
@mkaring mkaring deleted the feature/typescrambler_unittest branch December 23, 2020 16:43
@mkaring mkaring added the documentation Additional documentation is required for this issue. label Jan 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Additional documentation is required for this issue. enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants