mkaring / ConfuserEx

An open-source, free protector for .NET applications
https://mkaring.github.io/ConfuserEx/
MIT License
2.31k stars 350 forks source link

Add non-assembly file to compress packer as a embedded resource #463

Closed JerryJian closed 2 years ago

JerryJian commented 2 years ago

Hi,

I want to package some files which are not assemblies into the result exe using compressor. Is there any option for that?

Thanks.

mkaring commented 2 years ago

No there is not. Reason is that the assemblies are handled always loaded in the same way and ConfuserEx can inject intercept code that redirects loading the assembly. That is the basis for the packer.

For general files the logic to load and handle those files can be anything. If you want the files embedded, why not just link them into the resx files and have those load the files?

JerryJian commented 2 years ago

My app is a plugin framework application. The first time boot, it will scan all assemblies and cache the plugin information to a file. And next time start up, if there is no version changed, the app loaded assemblies according to the cache file.

The problem is, it can't scan plugins after pakaging assemblies into a single exe.

So I want to package the cache file without encryption into the final exe as a manifest resource, then I can load the cache file at the entry point using Assembly.GetEntryAssembly().GetManifestResource as the first priority cache and fallback to cache file.

I can't add the cache file to my assembly because the mechanism check a checksum of all the dll files. If I change the content of the dll file, the checksum is changed, and will trigger the re-scan plugins method.

At present I will try to use other tool or Mono.Ceil to achieve the goal. But I still want this great tool can support this feature.

Thanks @mkaring

github-actions[bot] commented 2 years ago

This issue needs more information and has not had recent activity. Please provide the missing information or it will be closed in 7 days. Thanks!

github-actions[bot] commented 2 years ago

Closing this issue because it needs more information and has not had recent activity. Please re-open this issue if more details can be provided. Thanks!

github-actions[bot] commented 2 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.