# S7 Bausteine schützen



## seeba (21 November 2005)

Hallo,
ich suche eine Möglichkeit um S7 Bausteine wirklich richtig zu schützen, geht das? Den KNOW-HOW-Schutz kann man ja angeblich umgehen?

Gruß Sebastian


----------



## lorenz2512 (21 November 2005)

Hallo,
gib oben in der Suche mal Know How ein dann gibt es viele Möglichkeiten.


----------



## Rainer Hönle (21 November 2005)

seeba schrieb:
			
		

> Den KNOW-HOW-Schutz kann man ja angeblich umgehen?


Soweit ich weiss, gibt es dafür sogar ein Tool. Ein richtiger KnowHow-Schutz ist mir auch nicht bekannt. Vielleicht nur, so zu programmieren, dass man ohne die Kommentierung gar nichts versteht. D.h. verwenden von Pointern, indirekter Adressierung, AR1, ... Aber wenn man später an die Quellen geht, hat man es auch ganz schön schwer. 
Wie gut "verständlich" ist eigentlich der Code den SCL, CFC oder Graph erzeugt? Ist der nachvollziehbar?


----------



## plc_tippser (21 November 2005)

Rainer Hönle schrieb:
			
		

> seeba schrieb:
> 
> 
> 
> ...



Er ist nachvollziehbar, wenn er klein ist (kleiner 50Zeilen SCL). Alles andere wird schon schwierig. Es wird mit den Registern gearbeitet, das es nur so dampft. Bei HiGraph habe ich mal reingeschaut, da wird so viel gesprungen, gute Nacht.

pt


----------



## seeba (21 November 2005)

plc_tippser schrieb:
			
		

> Rainer Hönle schrieb:
> 
> 
> 
> ...



Dann sollte man vllt. mit SCL arbeiten, allerdings können die ja dann trotzdem den Baustein weiter verwenden... Ich find's nicht so toll, das sowas nicht geht. 

Kann man das irgendwie als "SFCs" besser lösen?

Der Passwortschutz müsste in Ebenen funktionieren.


----------



## lbuenger (21 November 2005)

wenn man eine cpu benutzt, die das auslesen der seriennummer der mmc zulässt, dann kann man folgendermaßen vorgehen.
im zu schützenden baustein die seriennummer auslesen, danach einen vergleich auf gleich mit dieser seriennummer. wenn der vergleich nicht ok, dann das programm überspringen o.ä.. nun den baustein mit knowhow-schutz schützen. jetz kann er nicht mehr eingesehen werden und auch nicht kopiert werden, da er auf anderen cpu´s nicht läuft.


----------



## Rainer Hönle (21 November 2005)

Hatte ich auch schon daran gedacht. Aber wie gesagt, es gibt ein Tool, das den KnowHow-Schutz zurücksetzt. Dann ist der Code ganz normal einsehbar und die Seriennummernabfrage kann gelöscht bzw. geändert werden.


----------



## seeba (21 November 2005)

Rainer Hönle schrieb:
			
		

> Hatte ich auch schon daran gedacht. Aber wie gesagt, es gibt ein Tool, das den KnowHow-Schutz zurücksetzt. Dann ist der Code ganz normal einsehbar und die Seriennummernabfrage kann gelöscht bzw. geändert werden.



Man müsste Bausteine irgendwie im kompiliertem Format auf den MMCs ablegen können...


----------



## Zottel (21 November 2005)

seeba schrieb:
			
		

> Man müsste Bausteine irgendwie im kompiliertem Format auf den MMCs ablegen können...


Wenn du einen Baustein in die CPU lädtst wird der eh als maschinencode (also kompiliert) gespeichert. Der AWL oder FUP-Editor kann es rückdarstellen, da die Maschinenbefehle fast 1:1 den AWL-Anweisungen entsprechen. Im Gegensatz zu allen CPUs, die ich sonst kenne, hat die S7 noch ein paar zusätzliche Maschinenbefehle, die sich einzig durch das Zahlenformat des Operanden unterscheiden:
L 123
L W#16#007b
laden ja dasselbe Bitmuster in den AKKU1-L


----------



## lbuenger (21 November 2005)

wer hat das tool, um den knowhow-schutz zu umgehen?


----------



## Rainer Hönle (21 November 2005)

Bei der S7 gibt es einige die als kompilierend und andere die als interpretierend klassifiziert sind. Welche das sind, weiss ich auch nicht, steht aber in einer SZL-Abfrage als Bit drin.
Das unterschiedliche Zahlenformat ist sowieso nur für den Programmierer, der SPS ist die Darstellung egal. Deshalb müssen sich die Befehle im OpCode unterscheiden.


----------



## Zottel (21 November 2005)

lbuenger schrieb:
			
		

> wer hat das tool, um den knowhow-schutz zu umgehen?


Außer mit speziellen Tools geht es auch noch mit Programmen, die Dateien im DBase-Format lesen und schreiben können.


----------



## plc_tippser (22 November 2005)

Rainer Hönle schrieb:
			
		

> Hatte ich auch schon daran gedacht. Aber wie gesagt, es gibt ein Tool, das den KnowHow-Schutz zurücksetzt. Dann ist der Code ganz normal einsehbar und die Seriennummernabfrage kann gelöscht bzw. geändert werden.



Wenn dieser Part in SCL geschrieben ist und die Serien-Nr. evt. ein wenig geschickt versteckt wird, dann wird dieses ein Schutz sein, den die wenigsten umgehen werden. Zu aufwendig und zu unsicher, ob nicht noch eine weitere SChutzfunktion integriert ist.


pt


----------



## Heinz (22 November 2005)

Hallo,
einen Baustein zu schützen, ist eine Sache. Der o.g. Kopierschutz sorgt bei der Instandhaltung für Ärger, weil ein Austausch der MCC nicht möglich ist.

Einen Baustein zu schützen, macht nur m.E. nur Sinn, wenn er kompliziert ist. Aber dann ist er ohne Kommentare ech nichts wert. 

Daher ist es ein Schutz für die Instandhaltung, das sie nicht an allen Stellen rumschraubt, und dafür reicht der Know-Now Protect aus.

Ein "richtigen" Schutz ist mir nicht bekannt. Die Tools (SCL,Graph, Higraph) erzeugen einen nicht verständlichen Code, der nur mit viel Aufwand nachvollziehbar ist.


----------



## Der Nörgler (22 November 2005)

> Wenn dieser Part in SCL geschrieben ist und die Serien-Nr. evt. ein wenig geschickt versteckt wird, dann wird dieses ein Schutz sein, den die wenigsten umgehen werden. Zu aufwendig und zu unsicher, ob nicht noch eine weitere SChutzfunktion integriert ist.



Was glaubst Du in was Dein SCL übersetzt wird?????
Das mit dem auslesen der Seriennummer ist schon ein alter Trick den Siemens bei der HVAC - Bibliothek selber macht.

Nur in Verbindung mit einem Passwortschutz der Schnittstelle ist es gut.
Leider macht der Kunde dann Probleme aber bis zur Bezahlung ist das ein gutes Druckmittel.

Kann man das Passwort der Schnittstelle einfach knacken ????
Weiß da einer von euch was ????

Gruß


----------



## plc_tippser (22 November 2005)

Der Nörgler schrieb:
			
		

> Was glaubst Du in was Dein SCL übersetzt wird?????



Ich meine in spanisch.


----------



## Der Nörgler (22 November 2005)

> Ich meine in spanisch



Fast richtig ich hoffe Dein SCL hat dich jetzt nicht enttäuscht.


----------



## Jochen Kühner (22 November 2005)

*SCl...*

nicht jeder SCL Code kann in AWL dargestellt werden!

sihe hierzu auch: http://www.sps-forum.de/phpBB2/viewtopic.php?t=2151&highlight=


----------



## plc_tippser (22 November 2005)

Der Nörgler schrieb:
			
		

> > Ich meine in spanisch
> 
> 
> 
> Fast richtig ich hoffe Dein SCL hat dich jetzt nicht enttäuscht.



Wenn alle so klug währen wie du, dann währe es sicherlich kein Schutz.


----------



## Der Nörgler (22 November 2005)

Hi Jochen

aber welcher Befehl oder welche Befehle das sind ????????
So 100% hat sich unser "Longbow" als Gast angemeldet ja auch nicht ausgelassen.



> Hallo
> 
> Ich möchte hier nicht so tief ins Detail gehen, aber einen kleinen Hinweis:
> 
> ...



Also so auf die schnelle im Siemens Support lese ich von keinem Problem in AWL. Klar ich darf nicht abspeichen oder was verändern dann kann der SCL Editor damit nichts mehr anfangen.

Aber ich will auch ehrlich sein so sehr habe ich mich mit SCL auch noch nicht beschäftigt. Das ist was für "schlaue" Leute die spanisch sprechen.

Eigentlich will ich ja auch keine Bausteine schützen weil ich glaube das meine Bausteine so toll sind das kein anderer sowas geiles programmieren kann.
Ich möchte ja nur mein Geld für die Arbeit die ich gemacht habe.
Ich mache das mit der Seriennummer genau so wie in der HVAC - Bibliothek schütze die Bausteine mit KNOW_HOW_PROTECT und die Schnittstelle mit einem Passwort.
Nach meiner Inbetriebnahme hat der Kunde 60 Tage um meine Rechnung zu bezahlen. Nach 30 Tagen kommt die erste Erinnerung auf dem Display welche immer öfter erscheint und auch quittiert werden muß.
Sollte nach Ablauf der Zeit meine Rechnung nicht bezahlt sein weil der Kunde von mir den Freischalt-Code nicht hat geht die Anlage ohne einen Schaden zu machen in "STOP".
Nach der Bezahlung erhält der Kunde natürlich alles von mir was "ER" braucht oder wissen will.
Ob das gesetzlich richtig ist oder nicht ist mir ehrlich gesagt egal weil ich schon so sehr viel Geld verloren habe das plc_tippser mit einem Porsche zum spanisch Unterricht fahren könnte.


Und so schlaue Sprüche wie von unserem Freund plc_tippser


> Wenn alle so klug währen wie du, dann währe es sicherlich kein Schutz.


Sowas kann man auch nur machen wenn man viel Zeit hat. 
Wenn jemand in etwas mehr als einem Jahr 1220 Beiträge schreibt der hat nicht viel zu tun.

Ach plc_tippser ich weiß auch nicht wenn ich ehrlich bin womit ich Dir jetzt auf die Füße getreten bin. Klär mich auf über PN, lass uns treffen oder egal was.
Nur sollte das an diesem Satz liegen


> Was glaubst Du in was Dein SCL übersetzt wird?????


Möchte ich mich entschuldigen das Du das nicht verstanden hast.

netten Guß nach Adelsheim und gute Geschäfte.


----------



## Anonymous (25 November 2005)

> Eigentlich will ich ja auch keine Bausteine schützen weil ich glaube das meine Bausteine so toll sind das kein anderer sowas geiles programmieren kann.
> Ich möchte ja nur mein Geld für die Arbeit die ich gemacht habe.
> Ich mache das mit der Seriennummer genau so wie in der HVAC - Bibliothek schütze die Bausteine mit KNOW_HOW_PROTECT und die Schnittstelle mit einem Passwort.
> Nach meiner Inbetriebnahme hat der Kunde 60 Tage um meine Rechnung zu bezahlen. Nach 30 Tagen kommt die erste Erinnerung auf dem Display welche immer öfter erscheint und auch quittiert werden muß.
> ...



Ich kann da nur eins dazu sagen. Liefert anständige Arbeit ab, dann werden eure Rechnungen auch bazahlt. Ich bin jetzt ziemlich lang als Programmierer und Servicetechniker unterwegs. Aber eine nicht bezahlte Rechnung hat es bisher genauso wenig gegeben, wie unzufriedene Kunden.

Abgesehen davon, wenn es zu einem Rechtsstreit kommt, dann kannst Du dich darauf gefasst machen, den Produktionausfall zu bezahlen. Es gibt Leute die haben diese Lehrgeld schon bezahlt. Leider gibt es dafür keine Versicherung.

Zum Schutz von Bausteinen: Das eigentliche Programmieren ist doch nicht die Arbeit. Das Schwierige ist doch die Problemlösung und der Funktionsablauf. Den muss man aber sowieso dokumentieren. Wenn mann weiss, wie ein Wickelrechner funktioniert, dann kann man ihn auch in kürzester Zeit programmieren. Also warum soll ich mir das bischen getippse auch noch mit viel Arbeit schützen, wenn ich hinterher auch noch im Klartext den Ablauf beschreibe? 

Auserdem, Wenn ich jemand bei einem SPS Programm von geistigen Eigentum reden hören, bekomme ich Gefühle die irgendwo zwischen Kotzen und Lachkrampf liegen. Das zeugt dann von absoluter Selbstüberschätzung oder von irgendwelchen anderen anstudierten Karakterschwächen. Es soll ja Leute geben, die für einen Kunden eine Software entwickeln, sich die Entwicklung Stunde für Stunde bezahlen lassen und dann noch für jede Anwendung eine Lizenzgebühr haben wollen. Einfach nur peinlich, wenn dann die Software nur so mit Programmierfehlern vollgepackt ist, weil der Herr Informatiker zwar C++ beherscht und daher glaubt, das STEP7 eh viel einfacher ist.


Servus.


----------



## Onkel Dagobert (25 November 2005)

Hallo SSO,



> ...Liefert anständige Arbeit ab, dann werden eure Rechnungen auch bazahlt...


Das stimmt zwar nicht immer, aber mit dem Rest deiner Aussage hast du es 100% auf den Punkt gebracht. Kann dir nur zustimmen.


Gruß, Onkel


----------



## Der Nörgler (26 November 2005)

> Das stimmt zwar nicht immer, aber mit dem Rest deiner Aussage hast du es 100% auf den Punkt gebracht. Kann dir nur zustimmen.



Man kommt nicht immer an seinen Geld.
Bei geht es auch nie  um Software sondern um Hardware
wo ich auf Kohle warte.



> Das Schwierige ist doch die Problemlösung und der Funktionsablauf.


Bingo 1000 Punkte.



> Einfach nur peinlich, wenn dann die Software nur so mit Programmierfehlern vollgepackt ist, weil der Herr Informatiker zwar C++ beherscht und daher glaubt, das STEP7 eh viel einfacher ist.


Das ist seit langer Zeit mal ein wirklich wahres Wort.

Gruß


----------



## Gerard Stutje (26 November 2005)

Der Nörgler schrieb:
			
		

> Das ist was für "schlaue" Leute die spanisch sprechen.



¿Como? :lol:


----------



## Ralle (28 November 2005)

Bausteine schützen ist nicht so verkehrt.

1. Wir haben unsere eigene "Bibliothek" entwickelt, die muß ich ja nicht jedem "Konkurenten" auch noch offen unter die Nase halten, da steckt viel Arbeit im Detail.
2. Machmal ist man froh, wenn einen die Instandhalter vor Ort bei der Fehlersuche (kommt bei den Besten vor) unterstützen können. Es gibt aber auch Bausteine, in denen niemand ändern sollte, der nicht wirklich genau weiß, was dort geschieht. 

Allerdings halte ich es ebenfalls für absolut bedenklich (auch rechtlich) in eine Software eine "Abschußmöglichkeit" einzubauen, das kommt für mich nicht in Frage. 

@SSO
Bisher hatte ich auch immer Glück und gute Kunden. Gute Arbeit ist wohl selbstverständlich. Ich kenne aber inzwischen auch genügend Fälle, wo Leute, trotz guter Arbeit, nicht bezahlt wurden. Deine Aussage ist mir insgesamt viel zu allgemein und pauschal.

Wenn du recht hast, kann Microsoft ja seinen Code auch gleich offenlegen, ist ja Alles kein Problem mehr.
Wenn du dir mal die Fragen hier im Forum ansiehst, dann kannst du sicherlich erkennen, daß es ebend nicht selbstverständlich ist, guten Code zu schreiben.

PS: Ich bin kein Informatiker  :wink:


----------



## DEGO (28 November 2005)

da ich viel für den einen oder anderen grossen energieversorger (bei einem arbeite ich sogar ;-) ) projekte bearbeite kann ich nur aus meinen erfahrungen sagen, das dort meistens sogar gefordert wird, das selbsterstellte  bausteine nicht geschützt sind oder die scl-quellen mitgeliefert werden. Ich persönlich sehe aber auch keinen sinn bei meinen projekten irgendwas zu schützen da das kraftwerkspersonal meistens schon froh ist überhaupt online zu kommen.  :wink: 
kenne viele projekte wo "hightec programmiert" wurde und halt das bedien/fach-personal dann probleme hat fehler zu finden bzw. einstellungen zu ändern. bin da eher für einen einfachen und klaren aufbau eines s7/s5 programmes.


----------



## Anonymous (28 November 2005)

Die Standard Library von Siemens ist doch auch geschützt.
Also warum macht Ihr hier eigentlich so einen Problem daraus wenn jemand "SEINE" Standard Bausteine auch schützt????

Es geht ja nicht um das ganze Programm sondern um einzelne Bausteine
die 100% ok sind und wo keiner was zu suchen hat.
Ich sehe mir den FB41 oder FC105/106 auch nicht mehr an sonder benutze Sie nur.

Gruß


----------



## lbuenger (28 November 2005)

hallo, 

ich kann dem gast nur beipflichten.
wenn man in stundenlanger arbeit eine funktion programmiert, getestet und in betrieb genommen hat und sie ungeschützt einspielt, das programm dem betrieber überläßt und der dann dort rumwurschtelt, dann ist das chaos perfekt.
auch ich nutze die siemens-bausteine und bin bisher auch nicht auf die idee gekommen, diese bausteine einzusehen, warum auch.

im übrigen habe ich dieses programm getestet, welches s7-programmen den know-how-schutz stiehlt. dies ist sehr zu empfehlen, da es sehr komfortabel den schutz nimmt, aber auch gibt. das lästige hin-und-her-gemache zwischen dem AWL-KOP-Fup-Editor und den quellen entfällt dort.

grüße aus berlin von
lutz


----------



## DEGO (28 November 2005)

^^ damit niemand daran rumspielt reicht ja der KNOW_HOW_PROTECT schutz völlig aus. sehe ich genauso. soll nicht heissen das ich was gegen geschütze bausteine habe, jeder hat nunmal das recht seine programmierfehler zu verstecken   :wink:


----------



## Anonymous (29 November 2005)

*Sorry*

Vieleicht habe ich bisher einfach nur Glück gehabt. Anderseits habe ich auch schon viele Abzocker und S7-Vergewaltiger in unserer Zunft getroffen. Sorry, falls ich jemanden auf die Füße getreten bin, ich war halt gerade so schön in Fahrt.

Noch mal zum Schutz von Bausteinen:
KNOW_HOW_PROTECT ist vollig OK. Als Zeichen für die Instandhalter "Finger Weg". Aber jemanden der tatsächlich programmiert, kann das eh nicht abhalten. 
Wenn jemand meine Baustein 1:1 für andere Anlagen verwendet ohne mich zu fragen, um Geld zu verdienen, oder weil er Faul ist, dann werde ich sicher auch sauer. Schutz gibt es dagegen einfach keinen. Wenn ich einem drauf komme, dann gibts ein PG675 um die Ohren.
Wenn jemand eine von mir programmierte SPS erweitert und dazu meine Bausteine verwendet (die ich natürlich ordentlich Dokumentiert habe) dann ist das OK. Der Kunden hat die Bausteine schließlich gekauft.
Wenn jemand meine Bausteine einsieht, für seine Zwecke dann optimiert, anpasst oder sogar noch verbessert, dann ist mir das auch wurscht. Mache ich auch ab und zu.
Das mit dem CPU Passwort ist einfach nicht verkaufbar. Die Geschichte mit der Ser.Nr. wie bei der HLK Lib vom big S ist meiner Meinung nach viel zu umständlich. Bei einer satten Überspannung (Blitzschlag) ist die Flash-Card meist auch hin. Dann bring die Kiste wieder zum Laufen via Telefon. Ich hab mir den Schutz zwar noch nicht angesehen, aber ich geh mal davon aus, das der auch Knackbar ist. 

Ich gestehe, das ich auch die IEC Functions mal genauer angeschaut habe und mir dann ein paar Details angeeignet habe. Allerdings nur, weil ich die Bausteine nicht so einbinden wollte wie sie angeboten werden. Sondern einen kompakten Baustein erstellt habe, der ohne die IEC Functions auskommt. Mich nervt das einfach, wenn ich einen Baustein einbinde und dann erst mal die ganzen aufgerufenen Functions in der richtigen Version suchen muss.


----------



## Der Nörgler (29 November 2005)

Hi SSO

erstmal warum meldest Du Dich nicht an und immer als "Gast"???

1.
Habe ich das mal für zwei Sondermaschinenbauer gemacht.
Die schicken Ihre Anlagen immer ins Ausland zB. nach Rußland
und da kommt man öfters mal etwas schlechter an seine Restzahlung.

2.
Für mich selber habe ich es auch schon mal zum Einsatz gebracht.
Bei Kunden für die ich das erstemal arbeite und ein komisches Gefühl habe.

3.
Nach der Bezahlung erhält der Kunde natürlich alles von mir was "ER" braucht oder wissen will. 

Die meisten hier im Forum werden wohl "nur" Software machen oder 
mal einen kleinen Schrank bauen.
Ich habe aber öfters viel Mat dabei und Software.
Wenn man mal seine Stunden nicht bezahlt bekommt ist das nicht so extrem schlimm aber wenn Du mal Material nicht bezahlt kriegst und auf der anderen Seite 50.000 Euro und mehr bezahlen darfst dann ist Schluß mit lustig.

Die Gesetze sind nicht für kleine Firmen gemacht.
Und ich kann leider keinem sein Konto sperren so wie das Finanzamt das bei jedem von uns kleinen Leuten kann. 
Frag doch einmal dem Wilhelm "Der Zauberer" hier im Forum mit seinen
7000 euro ob der das lustig findet wenn Du den Betrag mal gelesen hast.
Und der Betrag ist ja noch Kleingeld.

netten Gruß


----------



## Anonymous (30 November 2005)

*Tool zur Umgehung*

Habe ein Tool hier gefunden:

http://www.rothenbacher-gmbh.de/

Hoffe, es hilft euch weiter

Michael


----------

