myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Entwicklungs- und Laufzeitumgebung (Infrastruktur) » Suche guten Obfuscator! Exe soll nicht als Virus erkannt werden!
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

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

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
PsyPath PsyPath ist männlich
myCSharp.de-Mitglied

Dabei seit: 21.01.2015
Beiträge: 6


PsyPath ist offline

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

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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
Neuer Beitrag 21.01.2015 11:01 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Sclot Sclot ist männlich
myCSharp.de-Mitglied

Dabei seit: 02.05.2007
Beiträge: 323
Entwicklungsumgebung: VS2017 Prof. /Code
Herkunft: Bremen


Sclot ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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).
Neuer Beitrag 21.01.2015 11:15 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.453
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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).
Neuer Beitrag 21.01.2015 13:00 Beiträge des Benutzers | zu Buddylist hinzufügen
bredator bredator ist männlich
myCSharp.de-Mitglied

avatar-155.gif


Dabei seit: 08.09.2010
Beiträge: 351
Entwicklungsumgebung: VS 2017 Pro, VS Code


bredator ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.
Neuer Beitrag 22.01.2015 14:17 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
PsyPath PsyPath ist männlich
myCSharp.de-Mitglied

Dabei seit: 21.01.2015
Beiträge: 6

Themenstarter Thema begonnen von PsyPath

PsyPath ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

@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.
Neuer Beitrag 22.01.2015 15:11 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.453
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von PsyPath:
@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

Zitat von https://msdn.microsoft.com/en-US/vstudio/dn642499.aspx:
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.
Neuer Beitrag 22.01.2015 15:20 Beiträge des Benutzers | zu Buddylist hinzufügen
PsyPath PsyPath ist männlich
myCSharp.de-Mitglied

Dabei seit: 21.01.2015
Beiträge: 6

Themenstarter Thema begonnen von PsyPath

PsyPath ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.
Neuer Beitrag 28.01.2015 12:15 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.453
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.
Neuer Beitrag 28.01.2015 12:54 Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 5 Jahre.
baika baika ist weiblich
myCSharp.de-Mitglied

Dabei seit: 02.02.2020
Beiträge: 3
Entwicklungsumgebung: .NET
Herkunft: Sachsen


baika ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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
Neuer Beitrag 02.02.2020 20:03 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.453
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.
Neuer Beitrag 02.02.2020 20:10 Beiträge des Benutzers | zu Buddylist hinzufügen
baika baika ist weiblich
myCSharp.de-Mitglied

Dabei seit: 02.02.2020
Beiträge: 3
Entwicklungsumgebung: .NET
Herkunft: Sachsen


baika ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.
Neuer Beitrag 03.02.2020 00:31 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.453
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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 :-)
Neuer Beitrag 03.02.2020 00:34 Beiträge des Benutzers | zu Buddylist hinzufügen
baika baika ist weiblich
myCSharp.de-Mitglied

Dabei seit: 02.02.2020
Beiträge: 3
Entwicklungsumgebung: .NET
Herkunft: Sachsen


baika ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.
Neuer Beitrag 03.02.2020 01:11 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 5 Jahre.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 21.02.2020 00:17