Visualbasic script schützen!?

  • Sonstige

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    Ein Wunder, das sich noch niemand auf den Thread gestützt hat und Dich ...
    Aber nein, man kann keinen Code vor dem Dekompilieren schützen.
    [line]​[/line]
    Du kannst nur versuchen, den Code "Unleserlich" zu machen, aber auch das bringt nur Negatives, oft wird der Code langsamer dadurch (ich lese dies zumindest immer wieder bei Kritiken).
    Abgesehen davon, hindert es dem geübten Auge nicht daran, die essenzielle Logik, die mach versucht zu schützen, auch aus einem "Unleserlichen"-Code herausuz interpretieren.
    [line]​[/line]
    Naja, wenn Du eine genauere Umschreibung suchst, kannst Du Dir ja mal den Wikiartikel zur Obfuskation angucken.
    Ansonsten findest Du auch einige Beiträge im Forum dazu:

    Aber such doch einfach mal selbst danach: Click.
    [line]​[/line]
    Um mehr drüber zu erfahren, kannst Du Dich auch mal im Showroom bzw. im Testcenter umsehen.
    Besonders viele Neulinge "Obfuskieren" ihren Code und werden deswegen dort regelrecht "runter gemacht".
    @'Anuin' du hast schon gesehen das es sich um VBS handelt?
    Die Performance ist da immer eher so Lala.

    Die Scripte liegen im Klartext vor, da ist es nicht verwunderlich dass man die unleserlich machen möchte. Muss ja nicht jeder Enduser mit Notepd sehen was der Admin da verteilt.

    Es gibt, laut Google, besagte Obfuscatoren für VBS.
    Oder du nimmst
    vbsedit.com/news.asp
    Und machst aus deinem VBS eine EXE.

    Es schützt, wie bereits erwähnt, deinen Code nur vor dem 08/15 User
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
    @MrTrebron ehrlich gesagt habe ich das "VBS" überflogen, da hast du recht. Ich achte meist nur auf die Tags, und falls dort nichts steht, gehe ich von VB.NET aus. :/

    Da ich eig. nichts mit VBS zutun habe kenn ich auch vbsedit nicht,
    übersetzt das Programm den VBS Code in Maschinencode oder
    erstellt es einfach nur eine Exe mit dem Script als Ressource etc.,
    und der Möglichkeit dieses zu interpretieren (um es quasi Benutzerfreundlicher zu machen)?


    Naja, wie dem auch sei! Ich gehe davon aus, dass der 0815 User, sowieso kein Interesse daran hat, was im Script steht
    (erfahrungsgemäß juckt es dem User nicht, solang es funktioniert).
    Befasste mich lange mit dem Thema und bin vor kurzem auf den Post gestoßen:

    RushDen schrieb:

    Es gibt mmn nur eine wirklich sichere (naja gut einigermassen) Möglichkeit deinen Quellcode zu schützen: Die wichtigen Programmteile auf ein Server packen und den Clienten dann nur bestimmte Parameter schicken lassen und das Ergebniss weiterverarbeiten. Damit kann niemand ohne Zugriff auf den Server an den Quellcode bzw. den Kernalgorithmus kommen.

    Es gibt aber auch hier Probleme:
    1. Der Server muss vom Client aus immer erreichbar sein.
    2. Der Sever muss seinen Client irgendwie erkennen(sonst kann man ja einfach ein Programm schreiben was eine Verbindung zum Server aufbaut)
    3. Der Server muss 24/7 online sein.
    4. Es sollte eine sichere Verbindung zum Server geben(sensible Daten oder Verfälschung der Daten durch Man-in-the-Middle-Angriffe, kommt natürlich immer auf die Aufgabe des Scripts an)
    5. Der Server muss ziemlich viel Kapazität haben(kommt wieder auf das Script an) da mehrere Clients gleichzeitig ein Ergebnis wollen
    6. Der Server kann sehr schnell Probleme bekommen wenn ein Client sehr große Werte(z.b. bei Berechnungen) an den Server sendet.

    Die Vorteile sind:
    1. Sicherheit des Scripts
    2. Sobald man will das sein Programm deaktiviert wird muss nur der Server abgeschaltet werden.

    100% sicher ist die Methode natürlich auch nicht:
    1. Der Server kann eine Lücke haben
    2. Mehrere Clients können über längere Zeit immer wieder Daten senden und die Ergebnisse vom Server speichern früher oder später bzw. mit mehr oder weniger Aufwand kann man dann auch feststellen wie das Script auf dem Server funktioniert(gilt aber auch für jede andere Methode, selbst wenn man das Script nicht mehr decompilen könnte)
    ​Smartnotr - ein intelligentes Notizprogramm
    zum Thread

    Anluin schrieb:



    Naja, wie dem auch sei! Ich gehe davon aus, dass der 0815 User, sowieso kein Interesse daran hat, was im Script steht
    (erfahrungsgemäß juckt es dem User nicht, solang es funktioniert).


    Das kommt ganz auf das Umfeld an. In einer Schule oder an einer Uni gibts immer ein paar witzige ;)

    Aber zum Problem. Ich denke das Vorhaben widerspricht ein wenig der Idee von VB Script. Es soll ja eben lesbar sein und permanent schnell angepasst werden können. Wenn du das nicht möchtest nimm den Workaround eine Exe draus zu machen oder befass dich vielleicht mit einer richtigen Programmiersprache.
    Da ist es zwar auch nicht unmöglich an den Code zu kommen, aber deutlich schwerer.
    Das ist meine Signatur und sie wird wunderbar sein!

    KloroAl schrieb:

    mit (php)

    Dann ist es aber kein VBS mehr. Dann könntest du auch VB.net oder C# nehemen.
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    @Mokki Damit wäre es aber immer noch php und kein (geschütztes) VBS.

    Ich dachte es geht hier darum den VBSCode zu schützen (was in Beitrag 3 beantwortet wurden) und nicht darum den Code in eine andere Sprache auszulagern.
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."

    KloroAl schrieb:

    Ich habe mal gehört das man sein script schützen kann also das man es nicht Decompelieren kann !
    Wir sollten dringend die Umgebung klären.

    Decompilieren kann man nur kompilierte Programme, als VB6 oder VB.Net.
    VBScript liegt im Klartext vor und lässt sich nur schwer verstecken (s.o.).

    Jetzt ist der Thread aber im VBA-Forum.
    Bei VBA kann man den Code mit einem Passwort versehen und damit ist er einigermassen sicher gegen Einblick von aussen.

    Über welche Variante reden wir?
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    @Schamash in Beitrag 3 wird das Script in eine EXE konvertiert, und dadurch entweder in eine andere Sprache konvertiert oder die EXE speichert das Script in den Resources. Ich mach doch mit PHP nichts anders wie Punkt 2 außer das sich in dem Fall das Script nicht aus den Resources exportieren lässt.

    Ich hab grad Tests mit PHP gemacht und es funktioniert echt super.
    Ich ruf im PHP die cscript.exe auf. Des Beste daran ist das ich bestimmen kann wie lang ein Script laufen darf mit //T:<Anzahl der Sekunden>. Das Problem ist aber jetzt dabei das dadurch ev. Injections möglich wären(Man könnte die Parameter von cscript.exe beeinflussen), deshalb meine Frage reicht es wenn ich im PHP / escape?

    Edit: ich escape jetzt zusätlich noch htmlspecialchars, da ich das ganze mit echo ausgebe und das VBS ja auch einen Userinput ausgeben könnte.
    ​Smartnotr - ein intelligentes Notizprogramm
    zum Thread

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Mokki“ ()