Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The project seems dead. Alternatives? #524

Open
LaraSQP opened this issue Dec 21, 2022 · 5 comments
Open

The project seems dead. Alternatives? #524

LaraSQP opened this issue Dec 21, 2022 · 5 comments
Labels
enhancement New feature or request triage This issue needs some initial analysis.

Comments

@LaraSQP
Copy link

LaraSQP commented Dec 21, 2022

It is time we start compiling a list of alternatives to this project, from viable forks to... well, anything.

Let us use this thread as a repository of options.

@LaraSQP LaraSQP added enhancement New feature or request triage This issue needs some initial analysis. labels Dec 21, 2022
@sunnamed434
Copy link

sunnamed434 commented Jan 22, 2023

Working since June of 2022 on BitMono, you can use this protector for Mono and whole .NET, but I'd recommend using that for Mono cuz most of the protections uses Mono vulnerabilities and this is why it's cool :D, this is not a fork of ConfuserEx, but, it's something new tbh, so I can't say that there are good protections atm, but doing pretty the architecture of the project and also preparing to the release, doing benchmarks and unit tests. As the result, BitMono is very easy to use and support because of the clean code and architecture, I agree that in some cases this is not the best, but trying to do this good, also I'm trying to look forward at other obfuscators/protectors even private to see their mistakes that they're done, for example, the features that users asking for they're very easy to implement and they're so useful and developers are just ignoring them even when there's PR for months with the feature implementation.. Anyone who is ready to upgrade your skills in RE or .NET or light up on some new project even just use it, you're welcome! 👍

Current BitMono TODOs

  1. As much as possible cross-platform.
  2. ControlFlow
  3. Unity (tool) plugin such as MSBuild -> build -> automatic obfuscation
  4. MSBuild plugin -> build -> automatic obfuscation
  5. MSBuild plugin + Azure/AWS support
  6. Improvement of the changelog (some examples: dnSpy, telegram, keepchangelog, holly-hacker dnspy plugin)
  7. Localizations
  8. Rewrite the BitMono.Host using .NET Generic Host such as in ASP.NET
  9. Reflection analysis (implemented in 0.8.0)
  10. Improve protections, code refactoring, etc

There are a lot more todos, but I think this is the main things

BitMono implemented CLI and GUI, I don't even pre-released the GUI yet cuz I probably made a big mistake by choosing a bad framework for that called MAUI Blazor, this is so buggy and unstable yet. I'm thinking about Avalonia.

Currently in BitMono implemented such features

  • StringsEncryption (simple string encryption, I think this is so bad)
  • BitDotNet (broken PE, working with PE32 and PE32+)
  • BitMethodDotnet (broken methods)
  • DotNetHook (hooks)
  • Call to calli (this is not just like in ConfuserEx mod by bed and using the Ldftn and method signature, in BitMono its works differently, it calls member by its function pointer using its token)
  • ObjectReturnType
  • NoNamespaces
  • FullRenamer
  • AntiDebugBreakpoints
  • AntiDecompiler (crashed dnSpy while analyzing the types)
  • BitDateTimeStamp (I don't think you want to show when you compiled the file, just erase it)
  • BitMono (fools the decompilers/unpackers/tools to make that there's no .NET metadata in PE file)

Atm coming to the new protection called BitMono (working with PE32 and PE32+), which fools most of the tools and says that there's no .NET PE Metadata (implemented in 0.8.0 version)

How you can support the project

  • Press star
  • Contribute
  • Write issues
  • Share the project
  • Use BitMono

Remarks

  • BitMono structure very-very similar to Confuser, but with clean code, also most of the things in BitMono works simpler and with less code
  • BitMono uses AsmResolver instead of dnlib, and this is very important to know, but, AsmResolver is practically no different from dnlib, the same as with Confuser and BitMono
  • In past BitMono used dnlib but migrated to AsmResolver, here's why

@LaraSQP
Copy link
Author

LaraSQP commented Jan 22, 2023

Much appreciated.

@tshcherban
Copy link

tshcherban commented Apr 18, 2023

I've found [and probably fixed] a bug related to the obfuscation of a virtual methods within generic types. If anyone can help me with a review - i can create a fork, where ill merge all current PRs and we can try keeping my fork alive. Currently im using ConfuserEx2 for .NET6 WPF project obfuscation, works quite well.
@LaraSQP @sunnamed434 FYI

@LaraSQP
Copy link
Author

LaraSQP commented Apr 18, 2023

That would be sweet but I do not have the expertise. I wish.

Keep it up, though. This is a critical project. Do fork it and may the force be with you.

@sunnamed434
Copy link

I've found [and probably fixed] a bug related to the obfuscation of a virtual methods within generic types. If anyone can help me with a review - i can create a fork, where ill merge all current PRs and we can try keeping my fork alive. Currently im using ConfuserEx2 for .NET6 WPF project obfuscation, works quite well. @LaraSQP @sunnamed434 FYI

Sure let's go ahead, and make a fork, I'm sure there are a lot of people waiting at this moment and reviewers will be found 100%

I can try to review your code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request triage This issue needs some initial analysis.
Projects
None yet
Development

No branches or pull requests

3 participants