.NET Code schützen. Projekt.NET. Version 1.0



Ähnliche Dokumente
Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Professionelle Seminare im Bereich MS-Office

Erfahrungen mit Hartz IV- Empfängern

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Datensicherung. Beschreibung der Datensicherung

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

ARCO Software - Anleitung zur Umstellung der MWSt

Urlaubsregel in David

How to do? Projekte - Zeiterfassung

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Zwischenablage (Bilder, Texte,...)

Nach der Installation kann es auch schon losgehen. Für unseren Port Scanner erstellen wir zunächst ein neues Projekt:

Gezielt über Folien hinweg springen

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Lehrer: Einschreibemethoden

macs Support Ticket System

Aufruf der Buchungssystems über die Homepage des TC-Bamberg

Das Leitbild vom Verein WIR

Ihre Lizenz ändern. Stand 01/2015

Leichte-Sprache-Bilder

Datei Erweiterungen Anzeigen!

So funktioniert die NetWorker 7.5 Eigenschaft zum Sichern umbenannter Verzeichnisse ( Backup renamed Directories )

Vorgehensweise bei Lastschriftverfahren

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Anleitung über den Umgang mit Schildern

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Backup Premium Kurzleitfaden

Änderung der Sicherheitseinstellungen von konten

Welches Übersetzungsbüro passt zu mir?

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

ecaros2 - Accountmanager

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Drucken von Webseiten Eine Anleitung, Version 1.0

dikasse Rechnungskunden

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version:

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

AutoCAD Dienstprogramm zur Lizenzübertragung

Speicher in der Cloud

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Internet Explorer Version 6

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

26. November EFS Übung. Ziele. Zwei Administrator Benutzer erstellen (adm_bill, adm_peter) 2. Mit adm_bill eine Text Datei verschlüsseln

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Inhaltsverzeichnis. 1. Empfängerübersicht / Empfänger hinzufügen 2. Erstellen eines neuen Newsletters / Mailings 3. Versand eines Newsletters

Geld Verdienen im Internet leicht gemacht

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

CampusNet Webportal SRH Heidelberg

Wie halte ich Ordnung auf meiner Festplatte?

Outlook Vorlagen/Templates

Erstellen einer in OWA (Outlook Web App)

Dazu stellen Sie den Cursor in die Zeile, aus der eine Überschrift werden soll, und klicken auf die gewünschte Überschrift.

Verschlüsselung. Kirchstraße 18 Steinfelderstraße Birkweiler Bad Bergzabern Fabian Simon Bfit09

IINFO Storyboard

Welchen Weg nimmt Ihr Vermögen. Unsere Leistung zu Ihrer Privaten Vermögensplanung. Wir machen aus Zahlen Werte

SEMINAR Modifikation für die Nutzung des Community Builders

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

1. Weniger Steuern zahlen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Anmeldeverfahren. Inhalt. 1. Einleitung und Hinweise

1: 9. Hamburger Gründerpreis - Kategorie Existenzgründer :00 Uhr

Professionelle Seminare im Bereich MS-Office

Externe Abfrage von für Benutzer der HSA über Mozilla-Thunderbird

Anleitung Thunderbird Verschlu sselung

2) Geben Sie in der Anmeldemaske Ihren Zugangsnamen und Ihr Passwort ein

icloud nicht neu, aber doch irgendwie anders

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Mit einem Mausklick sind s aus ACT! heraus in Outlook geschrieben, die dann wiederum auf Wunsch in ACT! dokumentiert werden.

Bewertung des Blattes

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Visual Basic Express erstes Projekt anlegen

Serviceanweisung Austausch Globalsign Ausstellerzertifikate

Internet online Update (Mozilla Firefox)

Navigieren auf dem Desktop

Informationen zum Ambulant Betreuten Wohnen in leichter Sprache

Info-Veranstaltung zur Erstellung von Zertifikaten

UserManual. Handbuch zur Konfiguration einer FRITZ!Box. Autor: Version: Hansruedi Steiner 2.0, November 2014

Mehr Geld verdienen! Lesen Sie... Peter von Karst. Ihre Leseprobe. der schlüssel zum leben. So gehen Sie konkret vor!

! " # $ " % & Nicki Wruck worldwidewruck

Kfz-Versicherung für Fahranfänger. mit der Lizenz zum Fahren

Tutorial -

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen

Repetitionsaufgaben Wurzelgleichungen

Widerrufsbelehrung der Free-Linked GmbH. Stand: Juni 2014

Installieren von Microsoft Office Version 2.1

Handbuch. TMBackup R3

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

teischl.com Software Design & Services e.u. office@teischl.com

Einfügen von Bildern innerhalb eines Beitrages

Die YouTube-Anmeldung

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel für Mac. amac-buch Verlag

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

PocketPC.ch Review. SBSH ilauncher 3.1. Erstelldatum: 3. Dezember 2007 Letzte Änderung: 3. Dezember PocketPC.ch_Review_iLauncher.

Erste Schritte ANLEITUNG Deutsche Sportausweis Vereinsverwaltung Schnittstelle zum Portal des Deutschen Sportausweises unter

Transkript:

.NET Code schützen Projekt.NET Informationsmaterial zum Schützen des.net Codes Version 1.0 Autor: Status: Ablage: Empfänger: Seiten: D. Hoyer 1 / 6 Verteiler : Dokument1 Seite 1 von 1

Änderungsprotokoll Version Datum Name / Kürzel Bemerkung 1.0 21.2.2007 Dennis Hoyer Erstellung Prüfung / Freigabe Version Datum Rolle Name / Kürzel Bemerkung Referenzierte Dokumente Referenz Dokument Version / Ausgabe Seite 2 von 2

Inhaltsverzeichnis 1. Schützen Sie Ihren.NET Quellcode 4 1.1. Obfuscating 4 1.1.1. Original 4 1.1.2. Obfuscated Quellcode 4 1.1.3. Dynamischer Aufruf 5 1.1.4. Obfuscated Quellcode 5 1.2. Quellcode Verschlüsselung 5 1.3. Native Code Kompilierung 6 Seite 3 von 3

1. Schützen Sie Ihren.NET Quellcode Aufgrund unseres Projektumfelds ist es nötig gewesen eine Möglichkeit zu finden das darin enthaltene Know-How entsprechend zu schützen. Es gibt mehrere Methoden, diese werden hier einzeln aufgeführt. 1.1. Obfuscating Es gibt eine Methode das sogenannte Obfuscating. Bei dieser Methode wird der Quellcode durchlaufen und es findet eine Umbenennung der Variable Methode und Klassen statt. Doch bedenken Sie, dass diese Methode nicht Ihren Quellcode schützt, sondern verkompliziert für andere Entwickler. Bsp. 1.1.1. Original Private const Prozent as double = 2.00 Public Function Berechne (Einlage as double) as double Dim Summe as double Summe = Einlage * Prozent Return Summe End Function 1.1.2. Obfuscated Quellcode Private const ab as double = 2.00 Public Function d(a as double) as double Dim b as double b = a * ab Return ab End Function Sie sehen das Ergebnis oben ist einfach nur eine allgemeine Umbenennung der Inhalte, Algorithmen sind klar zu erkennen. Bei dieser Methode gab es jedoch noch ein weiteres Kriterium welches gegen diese Methode spricht. Sobald Sie dynamisch auf Klassen, Funktionen, Methoden oder Eigenschaften zugreifen funktioniert diese Methode nicht. Einige Obfuscator bieten die Möglichkeit Öffentliche(Public) Methode, Eigenschaften, Klassen nicht umzubenennen, sondern lediglich nicht öffentliche. Jedoch wird dadurch das Einsehen in den Quellcode wieder erleichtert. Seite 4 von 4

Bsp. 1.1.3. Dynamischer Aufruf Public Class Auto Public sub Bremsen() End Class Public Module main Public sub main() Dim Fahrzeug as new Auto Fahrzeug.invoke( Bremsen ) End Module 1.1.4. Obfuscated Quellcode Public Class a Public sub b() End Class Public Module a Public sub main() Dim d as new a d.invoke( Bremsen ) End Module Wie erkennbar ist, kann die Methode Bremsen nicht gefunden werden, es wird eine Exception ausgelöst werden. Wenn sie diese Methode benutzen wollen, sollten Sie die Funktionen des Programms in einer Testversion testen, ggf. sollten Sie Ihren Quellcode bei der Entwicklung ein diese Methodik anpassen, und dynamische Aufrufe meiden. 1.2. Quellcode Verschlüsselung Eine ähnliche Methodik ist das Verschlüsseln des Quellcodes. Dabei werden auch die Variablen, Methoden, Funktionen, Eigenschaften, Klassen umbenannt. Jedoch ist diese Methode aus meiner sicht noch einfacher herauszubekommen. Denn wenn man einmal den Schlüssel hat, auf welchen Umwegen auch immer, dann kann ich Ihn komplett zurückwandeln. Dies ist mit einem Obfuscator nicht möglich, den dieser benutzt kein Verschlüsselungsschlüssel sondern benutzt immer wieder gleiche Namen für die Funktionen, etc. um dies zu verkomplizieren. Seite 5 von 5

1.3. Native Code Kompilierung Bei weiteren Recherchen ist eine neue Softwarelösung aufgetaucht, der.net Reactor. Es ist die aktuell favorisierte Lösung zum Schützen des Quellcodes ( Stand 23.01.2007 ).Die Software kompiliert nach einigen Einstellungen den Quellcode zieht die kompletten Algorithmen aus den.net Assemblies heraus und kompiliert native DLLs mit diesen Algorithmen. In den.net Assemblies bleiben die Rümpfe der Funktionen, Klassen, etc. vorhanden, jedoch werden Externe DLL Aufrufe ausgeführt. Dabei ist zu beachten, das die Zahl der Dateien sich verdoppelt, für jede Datei wird eine zusätzliche Datei erzeugt, in Native Code. Dadurch dass dieser Code nicht einsehbar ist, besteht eine hochgradige Möglichkeit sein Wissen zu schützen, selbstverständlich ist aber jeder Maschinencode nach Assembler zurück zu übersetzen. Wenn wirklich jemand den Quellcode, das Wissen haben will, kann er dies auch bekommen, die Chance besteht nur darin, es so zu verkomplizieren, das der Hacker aufgibt. Seite 6 von 6