WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

m Files verschlüsseln

 

Phate
Forum-Guru

Forum-Guru



Beiträge: 283
Anmeldedatum: 09.11.09
Wohnort: Stuttgart
Version: R2008b
     Beitrag Verfasst am: 04.08.2011, 14:05     Titel: m Files verschlüsseln
  Antworten mit Zitat      
Hallo zusammen,

Ich habe eine Frage wie man ein m File verschlüsseln kann. Die Möglichkeit ein p File zu erstellen ist mir bekannt aber für die weitergabe mMn nicht geeignet da man einfach Variablen im Workspave beobachten kann.

Kenn jemand eine bessere Alternative? Bin für Ideen dankbar.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 04.08.2011, 14:37     Titel:
  Antworten mit Zitat      
Ich bin in den neuen Sachen noch nicht so drin, aber vielleicht kann man mit dem MATLAB Coder das lösen.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.08.2011, 14:43     Titel:
  Antworten mit Zitat      
Hallo,

ich verstehe deinen Einwand nicht.

Wenn du a.p, b.p und c.p hast und die sich gegenseitig aufrufen, sieht man erstmal nur die Eingabe- und Ausgabevariablen ganz am Anfang.
Die Variablen, die dazwischen übergeben werden, kann man eigtl. nur dann sehen, wenn man b.p und c.p entfernt und durch b.m und c.m ersetzt, die "lediglich" die Eingabeargumente anzeigen. Ich bezweifle jedoch, dass man damit viel anfangen kann.
Du kannst das natürlich noch eliminieren, indem du nur mit einer Hauptdatei arbeitest und die Hilfsfunktionen als Unterfunktionen hineinkopierst.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Phate
Themenstarter

Forum-Guru

Forum-Guru



Beiträge: 283
Anmeldedatum: 09.11.09
Wohnort: Stuttgart
Version: R2008b
     Beitrag Verfasst am: 04.08.2011, 15:12     Titel:
  Antworten mit Zitat      
Hi,

Danke schonmal für die schnellen Rückmeldungen.

@Andreas: Den Coder hab ich mir gerade angeschaut und die Möglichkeit ein mex-File daraus zu machen gefällt mir momentan ganz gut, da man zum einen dieses File nicht mit dem Debugger anhalten kann und zum anderen nur das Ergebnis im Workspace sieht.

@Harald: Das Problem ist, dass das Programm nicht sonderlich Umfangreich ist und das pFile ohne Probleme mit dem Debugger Schritt für Schritt durchgegangen werden kann.
Da hierbei auch Parameter verwendet werden die nicht für jedermann ersichtlich sein sollen einfach im Workspace zu sehen sind finde bedenktlich. Wenn man sich etwas mit der Materie auskennt kann man sich bei diesem einfachen Programm den Verwendungszweck dieser Parameter zuammenreimen.
Das Problem kann ich mMn nicht umgehen indem ich die Funktion einfach von einer anderen aufrufen lasse (wenn ich deinen Vorschlag richtig verstanden habe). Werd es morgen aber nochmal versuchen.

Wenn Ihr noch Ideen habt lasst es mich wissen bzw wenn ich deinen Vorschlag falsch verstanden hab Harald.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.08.2011, 15:43     Titel:
  Antworten mit Zitat      
Hallo,

ich war mir nicht darüber im klaren, dass P-Files in dieser Form debugged werden können. Na, jetzt weiß ichs.
Mein Vorschlag wäre nun, in den Quellcode Zeilen dieser oder ähnlicher Form einzubauen:
Code:
if ~isempty(dbstatus)
    error('Debuggen dieser Funktion ist nicht erlaubt')
end

Ist zwar nicht schön, aber sieht ja im p-Code keiner Smile

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 04.08.2011, 23:10     Titel:
  Antworten mit Zitat      
Hallo Harald,

Zitat:
Code:
if ~isempty(dbstatus)
    error('Debuggen dieser Funktion ist nicht erlaubt')
end

Das läßt sich sehr leicht aushebeln, wenn man es möchte. Allerdings kann das kaum Ausversehen geschehen, so dass man schon die nötige kriminelle Energie benötigt.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Phate
Themenstarter

Forum-Guru

Forum-Guru



Beiträge: 283
Anmeldedatum: 09.11.09
Wohnort: Stuttgart
Version: R2008b
     Beitrag Verfasst am: 05.08.2011, 08:56     Titel:
  Antworten mit Zitat      
Hallo zusammen,

Danke für die Vorschläge.

Das mit der Abfrage werde ich mir jetzt nochmal genauer anschauen ob man das auf einfache Art und Weise umgehen kann. Ich denke man muss sich auch im klaren darüber sein, dass man wohl immer etwas umgehen kann wenn man es will.

Zu den Mex-Files hab ich jetzt noch ein Frage zu den Mexfiles. Wie "sicher" findet ihr dieses Dateiformat. Ich konnte es bisher nicht debuggen (was nichts heißen muss Smile ). Gibt es die Möglichkeit ein Mex File mit einem Editor zu öffnen, so dass die Syntax lesbar bleibt? Wenn ich das mit Notepad öffne dann sieht der Code auf den ersten Blick nicht sonderlich nachvollziehbar aus.

Bin für weitere Informationen/Links usw. zu dem Thema dankbar.

@Jan S: Hast du dich mit dem Thema zufällig schonmal auseinander gesetzt? Mir sind einige Beiträge von einem Jan zu dem Thema auf MathCentral aufgefallen

Danke schonmal für eure Zeit und Ideen.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 05.08.2011, 21:06     Titel:
  Antworten mit Zitat      
Hallo Phate,

Die MEX-Files werden in Maschinen-Sprache übersetzt. Das kann man zwar mit einem Disassembler lesen. Aber der Aufwand ist erheblich - im Allgemeinen größer, als das Programm nochmal ganz von vorne zu schreiben.

Ja, ich habe mich in CSSM und in MATLAB Answers über P-Files unterhalten, dort aber meinen Nachnamen ausgeschrieben. Ich hatte mal eines meiner Programme als P-Files an einen Kunden geschickt und als Kopierschutz eingebaut, dass sich das P-File beim ersten Aufruf selbst modifiziert. Das ging mit den alten Matlab 6.5 P-Format - man musste dazu das File nicht einmal dekodieren. Man konnte einfach so lange einzelne Bytes ändern, bis das Ergebnis stimmt.
Das geht mit dem modernen P-Format nicht mehr, weil eine Checksumme das ganze File sichert. Dennoch bleibt das Problem, dass man die P-Files debuggen kann und jeden Aufruf von Toolbox-Funktionen durch eine lokale Funktion umleiten kann.
Das Debuggen und Analysieren von Mex-File ist schätzungsweise 100 mal teurer.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Phate
Themenstarter

Forum-Guru

Forum-Guru



Beiträge: 283
Anmeldedatum: 09.11.09
Wohnort: Stuttgart
Version: R2008b
     Beitrag Verfasst am: 09.08.2011, 07:29     Titel:
  Antworten mit Zitat      
HI,

Danke für die Ausführliche Antwort. Ich hab mich jetzt auch nochmal damit auseinander gesetzt und werde das ganze Programm als MEX-File kompilieren und weitergeben.

Danke für eure Hilfe nochmals.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 09.08.2011, 13:15     Titel:
  Antworten mit Zitat      
Hallo Phate,

Welches Tool mit welcher Matlab Version setzt Du ein? Auf welchen Systemen läuft das dann?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.