Laden...

Suche guten Obfuscator! Exe soll nicht als Virus erkannt werden!

Erstellt von PsyPath vor 9 Jahren Letzter Beitrag vor 4 Jahren 7.921 Views
P
PsyPath Themenstarter:in
6 Beiträge seit 2015
vor 9 Jahren
Suche guten Obfuscator! Exe soll nicht als Virus erkannt werden!

Hallo zusammen,

ich suche einen guten Obfuscator, der verwendete dlls in meine exe hineinpacken kann und dabei den ganzen Code verschleiert. Ich benutze schon einige Zeit den Confuser (https://confuser.codeplex.com/). Die Verschleierung ist super, allerdings erkennen einige AntiVirusprogramme meine Programme fälschlicherweise immer als Virus an (Auch mit Einstellung Minimum). Unter anderem mit dieser Seite getestet https://www.virustotal.com/de/. Selbst ein komplett neu erstelltes Programm ohne eigenen Code wird nach der Kompilierung+Verschleierung als Virus erkannt. Ich habe auch schon eine Menge andere Obfuscatoren ausprobiert wie z.B. den .NET Reactor oder SmartAssembly. Leider haben alle das gleiche Problem. Die Viren die erkannt werden und welche AntiVirusprogramme erkennen variiert nur. Bin schon ziemlich am verzweifeln. Solche Assemblys mag ich echt ungern anbieten, aber komplett ohne Schutz möchte ich diese auch nicht anbieten. Lieber hätte ich eine kostenlose Variante, aber wenn es nur eine kommerzielle Variante tut, dann geht das auch in Ordnung. Hoffe ihr könnt mir helfen. Vielen Dank im Voraus.

Mfg,
PsyPath

S
324 Beiträge seit 2007
vor 9 Jahren

Wir nutzen bei uns https://babelfor.net und hatten noch keine Probleme.
Ich denke gerade ein Obfuscator sollte sein Geld wert sein, wenn man ihn schon einsetzen will (selbiges gilt für ein AuthentiCode-Zertifikat).

16.807 Beiträge seit 2008
vor 9 Jahren

Täglich grüßt das Murmeltier....

Obfuscators sind nutzlos, da 9/10 Verfahren zur Verschleierung ohnehin geknackt sind.
Wenn Du jemanden hast, der aus ILCode wieder C# Code macht, der stellt Dir auch binnen Sekunden verschleierten Code in super lesbaren bzw. je nach Tool sogar den original Code wieder her.

Willst Du es dennoch: versuch halt verschiedene aus.
Gibt genug mit Trail-Versionen. Wenn jetzt hier jeder seinen Favourite nennt sind wir in 2 Wochen noch dabei Produkte aufzuzählen 😉
List of obfuscators for .NET

Wenn Du es sicher(er) haben willst, dann musst Du C/C++ nutzen bzw. paar Monate warten, bis es auch native Code mit C# gibt (was jetzt auf mobilen Geräten ja eingeführt wurde).

B
357 Beiträge seit 2010
vor 9 Jahren

Wir haben inzwischen Obfuscatoren wieder abgeschafft und sind dazu übergegangen, uns ein paar Blackbox-Dlls in nativem C++ zu schreiben, die von C# angesprochen werden. Darin befindet sich essentielle Logik und an die kommt man dann nicht mehr ganz so einfach.

P
PsyPath Themenstarter:in
6 Beiträge seit 2015
vor 9 Jahren

@Sclot: Ich habe mir mal die Demo-Version heruntergeladen und ein Projekt damit verschleiert. Die exe wurde tatsächlich nicht als Virus erkannt. Danke für den Tipp. Leider kann ich mit der Demoversion weder merge, noch embed benutzen. Es kommt immer die Meldung das die Funktion in der Demo-Version nicht vorhanden ist. Wärst du so nett ein Projekt mit dieser Library zu erzeugen (http://scintillanet.codeplex.com/) [Einfach eine Scintilla-Box auf eine Formsfläche plazieren reicht], es in x64 zu kompilieren und dann mit Babel zu verschleiern und zwar mithilfe des Packers: Also die ScintillaNET.dll und die SciLexer64.dll in die exe packen. Die Output exe dann mit https://www.virustotal.com/ auf Viren prüfen und hier im Forum Bescheid geben, ob ein Virus erkannt wurde? Möchte gerne vor dem Kauf sichergehen, das nicht der Packer zu einer Viruserkennung führt.

@Abt: Ich glaube bis .NET Native rauskommt, wird noch eine Menge Zeit vergehen.

16.807 Beiträge seit 2008
vor 9 Jahren

@Abt: Ich glaube bis .NET Native rauskommt, wird noch eine Menge Zeit vergehen.

Wie gesagt: es gibt bereits .NET Native. Nur noch nicht für Desktop Anwendungen.
Meine Vermutung: Du glaubst falsch.
Aufgrund der rasanten Entwicklung Windows 10: wir werden ab Ende April native Code in jeder .NET Anwendung mit dem .NET 5.0 Framework bekommen.
Ende April deswegen, da dann die Build 2015 stattfindet.

Offiziell dazu

Will Server/Desktop apps benefit from .NET Native and/or the Compiler in the Cloud?

Desktop apps are a very important part of our strategy. Initially, we are focusing on Windows Store apps with .NET Native. In the longer term we will continue to improve native compilation for all .NET applications.

P
PsyPath Themenstarter:in
6 Beiträge seit 2015
vor 9 Jahren

Habe die .NET Native Preview vor etlichen Monaten mal ausprobiert und weiß, das es irgendwann für Desktop-Anwendungen erscheinen soll, allerdings glaube ich das das noch lange dauern wird. Ich hoffe allerdings das du Recht hast und .NET Native sehr bald kommt. Bis dahin brauche ich aber trotzdem noch einen Obfuscator wie beschrieben.

16.807 Beiträge seit 2008
vor 9 Jahren

Wie gesagt; das Thema ist so alt wie .NET und das Forum hat bereits genug Themen dazu.
Und Du hast ja auch bereits hier einige Vorschläge bekommen. Zu erwarten, dass Dir jetzt irgendwer mehrere Sachen zum Test kompiliert; da ist kein Erfolg garantiert.
Im Zweifel an deren Vertrieb wenden, denn die wollen Dir was verkaufen also sollen sie Dir auch helfen.

B
3 Beiträge seit 2020
vor 4 Jahren

Hallo,

ich würde nicht sagen, dass Obfuscators nutzlos sind.

Klar, mit genügend Zeit und Aufwand kann jede Anwendung geknackt werden. Eine ungeschützte Assembly lädt aber gerade dazu ein im Code rumzuschnüffeln. 😉 Zumindest "Name Obfuscation" sollte aktiviert werden. Diese Verfahren kann nicht geknackt werden (die Klassen und Membernamen werden ja überschrieben), beeinflusst nicht die Performance und hält die meisten Script-Kiddies davon ab sich näher mit der Anwendung zu beschäftigen.

Mit einem AuthentiCode/CodeSigning-Zertifikat lassen sich die meisten Features von .NET Reactor oder SmartAssembly nutzen ohne das ein Virus erkannt wird. Mit entsprechende minimalen Settings (nur Obfuscation in .NET Reactor) geht es auch ganz ohne Zertifikat.

Die "List of obfuscators for .NET" Wikipedia-Webseite wurde mittlerweile gelöscht. Eine recht vollständige Liste findet man aber hier:
obfuscators.io

16.807 Beiträge seit 2008
vor 4 Jahren

Hallo baika, das Thema ist fünf Jahre alt.
Name Obfuscation wurde prinzipiell schon lange "geknackt" bzw. kann bis zu einem gewissen Grad wiederhergestellt werden.

Technisch sind Obfuscators sinnlos; alles andere nur Sicht des Betrachters.

B
3 Beiträge seit 2020
vor 4 Jahren

Hallo Abt,

bitte nicht "Name Obfuscation" und "String Encryption" verwechseln. Name obfuscation kann nicht geknackt werden (sogar nicht vom berühmten de4dot-Deobfuscator) da es technisch nicht möglich ist. Wenn Klassen -und Methodennamen umbenannt werden und nicht die originalen Namen irgendwo in der Assembly gespeichert werden (warum auch) kann man höchstens versuchen die originalen Namen zur erraten. Es gibt sogar noch Varianten bei denen man nur schwer erkennt, dass die Assembly überhaupt obfuskiert wurde da glaubwürdige Klassen -und Methodennamen verwendet werden und nicht irgendein String-Wirrwarr.

Obfuscation hat eher etwas mit dem Schutz des geistigen Eigentums zu tun (zumindest erschwert es den Diebstahl) als mit einem Kopierschutz welcher oft sehr schnell ausgehebelt werden kann.

16.807 Beiträge seit 2008
vor 4 Jahren

Abgesehen, dass das mit dem Deobfuscator nicht korrekt ist bringst Du nun "Kopierschutz" ins Spiel, von dem bisher nie die Rede war.

Das Thema Obfuscation jegliche Art wurde im gesamten Internet (und auch hier) schon hundert mal durchgekaut.
Der Thread ist fünf Jahre alt (und den Thread auszugraben macht auch wenig sinn) und wir haben zig weitere Thread zu dem Thema.

Es gibt keine technologische Änderung - abgesehen vom noch nicht vollständig verfügbaren .NET Native - sodass sich am Grundproblem von IL und den Tools drum herum nichts geändert hat.

Es wurde alles zum Thema Obfuscation - was es bringt und es es nicht bringt - gesagt 😃

B
3 Beiträge seit 2020
vor 4 Jahren

Ich habe berufsbedingt sehr viel mit .NET Obfuscatoren zu tun und bin in den letzten Jahren immer wieder auf diesen Thread gestossen welcher mich dann letztendlich dazu brachte hier meinen ersten Post zu verfassen. Zumindest in Google ist dieser Thread noch sehr präsent und eine kleine Auffrischung kann ja nicht schaden. In neueren Threads wird ja immer wieder darauf hingewiesen, dass das Thema schon zig mal durchgekaut wurde und auf ältere Threads verwiesen. 😉

Es gibt wirklich keinen einzigen Deobfuscator welcher (nur anhand der obfuskierten Assembly) Name Obfuscation rückgängig machen kann - also originale Klassen und -Methodennamen wiederherstellen. Es sei denn man liefert seine Debug-Datei (.pdb) gleich mit. PDB Dateien enthalten normalerweise genug Informationen um den kompletten Quellcode wiederherzustellen.

Sorry, stimmt - von Kopierschutz war bislang nicht die Rede. Das Wort "geknackt" hat nur nicht wirklich zu Name Obfuscation gepasst.