Elegant IPB Skin By Skinbox

.NET Base: [FAQ] Wie kann ich mein Programm vor Dekompillierung schützen? - .NET Base

Zum Inhalt wechseln

Seite 1 von 1
  • Du kannst kein neues Thema erstellen
  • Antworten nicht möglich

[FAQ] Wie kann ich mein Programm vor Dekompillierung schützen?

Geschrieben 11. Sep 2009 - 16:07 (#1) Mitglied ist offline   Maximilian 

  • capo dei capi
  • Blog anzeigen
  • Gruppe: Administratoren
  • Beiträge: 816
  • Registriert: 10. Sep. 09
  • Wohnort: Im dicken B oben an der Spree
  • OS: Windows 7 Ultimate (x64)
  • IDE: VS 2010 Premium

Für .Net Programme gibt es sogn. Obfuskatoren, welche in der Lage sind den Quellcode von Assemblies zu verschleiern.
So wird z.B. aus folgendem:
Angehängte Datei  attachment_1.png (5,23K)
Anzahl der Downloads: 68
folgendes:
Angehängte Datei  attachment_2.png (4,43K)
Anzahl der Downloads: 81
Wie zu erkennen ist, wurden die Methoden- sowie Variablennamen umbenannt. Bei dieser simplen Beispielfunktion ist der Programmablauf auch im verschleierten Zustand noch gut nachzuvollziehen. Handelt es sich jedoch um eine komplexere Funktion, so ist das nachvollziehen um einiges schwerer aber nicht unmöglich. Dieses Beispiel habe ich mit dem Dotfuscator in der CommunityEdition verschleiert, welcher kostenlos bei dem VisualStudio (nicht den Express Versionen) dabei ist.
Leider ist der Funktionsumfang sowie die Qualität der Verschleierung in der Community Edition des Dotfuscators sehr beschnitten. Ein gutes Resultat ist nur mit kostenpflichtigen Produkten zu erzielen, im folgenden eine Liste mit den bekanntesten:


* = Die Light-Edition ist nicht empfehlenswert!

Im folgenden das gleiche Beispiel, welches mit {smartassembly} verschleiert worden ist:
Angehängte Datei  attachment_3.png (4,61K)
Anzahl der Downloads: 90

Hier werden unter anderem absichtlich ungültige Metadaten in den Code injeziert, welche den Programmablauf nicht stören, aber bei Reflektoren Abstürze oder Meldungen wie in dem Bildausschnitt erzeugen.

Abschließend ist noch zu erwähnen, dass Zeichenfolgen (Strings) welche im Klartext im Programm gespeichert werden auch durch gute Obfuskatoren meißt ungeschützt im Programmcode zu finden sind. Es ist daher nicht zu empfehlen Passwörter o.ä. als Variablen im Programm zu speichern.

Dieser Beitrag wurde von Dennis Alexander bearbeitet: 12. Feb 2010 - 13:29
Änderungsgrund: Update

Mit freundlichen Grüßen
Eingefügtes Bild
MaximilianKrauss.Net | updateSystem.NET

"Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why."


Unterstütze qualitative Beiträge durch ein Klick auf Eingefügtes Bild.
0

Geschrieben 29. Dez 2009 - 20:56 (#2) Mitglied ist offline   Maximilian 

  • capo dei capi
  • Blog anzeigen
  • Gruppe: Administratoren
  • Beiträge: 816
  • Registriert: 10. Sep. 09
  • Wohnort: Im dicken B oben an der Spree
  • OS: Windows 7 Ultimate (x64)
  • IDE: VS 2010 Premium

*Update* Babel .NET Obfuscator hinzugefügt. (Link s. oben)
Mit freundlichen Grüßen
Eingefügtes Bild
MaximilianKrauss.Net | updateSystem.NET

"Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why."


Unterstütze qualitative Beiträge durch ein Klick auf Eingefügtes Bild.
0

Geschrieben 12. Feb 2010 - 13:31 (#3) Mitglied ist offline   Dennis Alexander 

  • Administrator
  • Blog anzeigen
  • Gruppe: Administratoren
  • Beiträge: 533
  • Registriert: 09. Sep. 09
  • Wohnort: Bad Essen
  • OS: Windows 7 Prof.
  • IDE: Visual Studio 2010 Ultimate

*Update* XHEO CodeVeil und Crypto Obfuscator hinzugefügt (Link s. oben)
Eingefügtes Bild
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.” – Rich Cook
0

Geschrieben 10. Apr 2010 - 17:33 (#4) Mitglied ist offline   Sunny 

  • Fortgeschrittener
  • PIPPIPPIP
  • Gruppe: Mitglieder
  • Beiträge: 64
  • Registriert: 07. Apr. 10
  • Wohnort: Wien
  • OS: Arch Linux | Windows 7 Professional
  • IDE: Geany, Code::Blocks, Visual Studio 2008 Professional

Kann man die Executable mehrfach verschleiern? Sprich mit mehreren Obfuscator? :)


Sunny
0

Geschrieben 10. Apr 2010 - 18:11 (#5) Mitglied ist offline   Maximilian 

  • capo dei capi
  • Blog anzeigen
  • Gruppe: Administratoren
  • Beiträge: 816
  • Registriert: 10. Sep. 09
  • Wohnort: Im dicken B oben an der Spree
  • OS: Windows 7 Ultimate (x64)
  • IDE: VS 2010 Premium

Halte ich für nicht wirklich praktikabel. Bringt ja auch nicht viel ein Sonderzeichen in ein anderes umzubennen. Sinn eines Obfuscators ist es ja die Klassen, Namespaces, Methoden etc. namentlich so zu veruntstalten, dass ein Mensch dem Programmablauf nur noch sehr schwer folgen kann. Wenn der erste Obfuscator also gute Arbeit leistet besteht für den zweiten eh kein Bedarf mehr :)
Mit freundlichen Grüßen
Eingefügtes Bild
MaximilianKrauss.Net | updateSystem.NET

"Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why."


Unterstütze qualitative Beiträge durch ein Klick auf Eingefügtes Bild.
0

Geschrieben 10. Apr 2010 - 18:12 (#6) Mitglied ist offline   Sunny 

  • Fortgeschrittener
  • PIPPIPPIP
  • Gruppe: Mitglieder
  • Beiträge: 64
  • Registriert: 07. Apr. 10
  • Wohnort: Wien
  • OS: Arch Linux | Windows 7 Professional
  • IDE: Geany, Code::Blocks, Visual Studio 2008 Professional

Wo du recht hast, hast du recht... Danke :)


Sunny
0

Thema verteilen:


Seite 1 von 1
  • Du kannst kein neues Thema erstellen
  • Antworten nicht möglich


  • (13 Seiten)
  • +
  • 1
  • 2
  • 3
  • Letzte »
Trackbacks
Trackback URL Trackback Date Total Hits
Not Available 26. Jul. 2010 23:40 1
Not Available 26. Jul. 2010 22:51 1
Not Available 26. Jul. 2010 21:57 1
Not Available 26. Jul. 2010 09:50 2
.net komponente designer schützen - Google-Suche 23. Jul. 2010 11:02 1
.net programme sch 22. Jul. 2010 23:22 1
dotnet programm sch 22. Jul. 2010 14:59 1
  • (13 Seiten)
  • +
  • 1
  • 2
  • 3
  • Letzte »

Similar Topics
  Thema Themenstarter Statistik Letzter Beitrag
Keine neuen Antworten Hilfe beim Programm auseinander nehmen ddoghunter 
  • 8 Antworten
  • 152 Aufrufe
Neue Antworten Symbol Newsletter Programm TS-Development 
  • 3 Antworten
  • 173 Aufrufe
Beliebtes Thema (Neu) Symbol Anhänge [Test] Programm zum erstellen von Hilfedateien mikeb69 
  • 17 Antworten
  • 787 Aufrufe
Keine neuen Antworten 3D-Modelle in einem C#-Programm Simon 
  • 9 Antworten
  • 1.192 Aufrufe
Beliebtes Thema Suche Protokoll für eine Programm-Server-Kommunikation wsl 
  • 58 Antworten
  • 1.234 Aufrufe

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0


Enter your sign in name and password


Sign in options
Mit OpenID anmelden   Or sign in with these services