Laden...

Ist Virtualisierung ein guter Schutz für C# Code ?

Erstellt von cprogrammer vor 6 Monaten Letzter Beitrag vor 6 Monaten 559 Views
C
cprogrammer Themenstarter:in
73 Beiträge seit 2023
vor 6 Monaten
Ist Virtualisierung ein guter Schutz für C# Code ?

Hallo,

kann man davon ausgehen, dass die hier angebotene Code Virtualisierung, wie sie auch von diversen anderen Produkten angeboten wird, einen effektiven Schutz darstellt ?

https://www.gapotchenko.com/eazfuscator.net/features/virtualization

Wie sind eure Erfahrungen mit diesem Mechanismus ?

Alternativ:

Macht es Sinn z.B. kritische Codeteile anstatt in C# in C++ oder C zu formulieren, eine dll damit zu erzeugen und diese dll dann in den C#-Code einzubinden ?

Könnte man eine C# dll mit einer C++ dll "verschmelzen, so dass nur eine dll übrig bleibt und wäre der C++ Teil dann weitestgehend sicher vor den üblichen Tools ?

16.840 Beiträge seit 2008
vor 6 Monaten

Die Frage allein zeigt, dass Du Dich weiterhin absolut Null mit den Grundlagen beschäftigt hast. Das Wissen wird Dir leider nicht zugeflogen kommen.
Es wird für Dich unmöglich sein zu validieren und zu entscheiden bzw. Entscheidungen zu treffen, ob etwas "sicher" ist, wenn Du nicht verstehst, wie das System funktioniert.

C# ist eine Programmiersprache, die es nur zur Compile-Zeit und nicht zur Runtime gibt.
Was Du wissen willst ist, wie man ILCode verstecken kann. Das sind wirklich absolute Grundlagen, wie .NET funktioniert.

Als Antwort nehm ich gfoidls Zitat aus dem anderen Thema:

Sobald der Code ausgeführt wird, lässt sich das mit einem Debugger rekonstruieren. "Bullet proof" geht hier nicht

Lern die Grundlagen.

Könnte man eine C# dll mit einer C dll "verschmelzen, so dass nur eine dll übrig bleibt und wäre der C Teil dann weitestgehend sicher vor den üblichen Tools ?

Mit "Verschmelzen" hat das absolut nichts, nichts im Entferntesten zutun. Der Begriff passt nicht mal in die Nähe.
Auch das zeigt wieder das Verständnis von Software.

Ja, man kann mit .NET nativen Code aufrufen (zB C), womit eine höherwertige Verschleierung möglich ist.
Aber man kann auch mittlerweile mit .NET nativen Code kompilieren. Wüsstest Du, wenn Du ein einziges Mal die Docs zum .NET Compiler geöffnet hättest. Und auch nativer Code ist nicht "Bullet Proof".