Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1816to1820
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
VBA Code sichern als COM Addin - wie?
28.02.2021 02:07:56
MLoew
Hallo zusammen,
diese Frage wurde sicherlich schon unendliche Male gestellt:
Wie kann ich meinen VBA Code wirkungsvoll schützen?
Das der MS Onboard-PW-Schutz, egal ob Blattschutz oder VBA Oberfläche unter 2 min geknackt werden kann ist ja bekannt. Ich habe jetzt einige Hinweise gefunden, das man wohl seinen Code als "COM-AddIn" abspeichern kann.
Dazu ist dann Virtuell Studio notwendig.
Virtuell Studio Community Edition hab ich schon runtergeladen.
Aber so richtig weiterhelfen tut mir das auch nicht.
Ich habe in der Zwischenzeit ein VBA-Projekt über rund 10.000 Zeilen Code.
Meine Hoffnung war, das es da eine Funktion gibt in der Form:
Alle Module / Userforms einladen, als COM-Addin abspeichern, fertig.
Das ist es aber nicht.
Hat irgendjemand eine Idee, wie ich da weiter komme?
Die Addins müssen auf Rechnern laufen, bei denen ich keine AddinRechte habe und die Ribbons haben unendlich viele dynamische Menüpunkte, die während der Laufzeit durch den Code gefüllt / geändert werden müssen.
Unter VBA in der Zwischenzeit alles kein Problem mehr (auch Dank der Unterstützung von euch hier - Danke nochmal).
Aber eben offen wie ein Scheunentor :(
Nutzte Office 365.
Danke euch.
Gruß Markus

30
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code sichern als COM Addin - wie?
28.02.2021 02:28:12
Oberschlumpf
Hi Markus,
erst mal n paar Gegenfragen:
1. Wieviele Leute sollen mit deinem Code arbeiten?
2. Wieviele Leute von denen sind so gut in Excel-VBA, dass sie deinen Code verstehen?
3. Wieviele Leute, denkst du, wollen sich die Mühe machen, deinen Code zu verstehen?
4. Wieviele Leute haben überhaupt Interesse, in VBA zu programmieren?
Bzgl Visual Studio: gibt es von MS wirklich eine Gratisversion, mit der man COM-AddIns erstellen kann?
Ich kenn nur das hier als gratis
https://www.microsoft.com/de-de/techwiese/aktionen/visual-studio-kostenlos.aspx
bin aber nicht sicher, ob das VBA "versteht".
Ciao
Thorsten

Anzeige
AW: VBA Code sichern als COM Addin - wie?
28.02.2021 11:00:48
mumpel
Einfach den VBA-Code laden und als COM-Add-In speichern funktioniert ohnehin nicht. Und auch der RibbonX-Code kann nicht 1:1 in .Net oder VB genutzt werden. Da muss schon manuell umprogrammiert werden.

AW: VBA Code sichern als COM Addin - wie?
28.02.2021 10:57:54
mumpel
"Alle Module / Userforms einladen, als COM-Addin abspeichern, fertig." funktioniert nicht. Da musst Du schon .Net oder VB lernen.

AW: VBA Code sichern als COM Addin - wie?
28.02.2021 11:04:35
Oberschlumpf
dacht ich mir doch so ungefähr ;-)

Nachtrag
28.02.2021 11:06:12
mumpel
Nachtrag: Wenn Dein Code so wertvoll ist, dass Du ihn schützen musst und niemanden zeigen willst, dann machst Du irgendwas falsch (vor allem wenn Du das Add-In verschenkst anstatt zu verkaufen). 😉

Anzeige
AW: Nachtrag
28.02.2021 11:54:29
MLoew
Hallo zusammen,
Irgendwie habe ich diese Antworten schon fast erwartet.
Na gut. Bleibt mir nichts anderes übrig als darauf zu hoffen, das MS endlich mal diese Lücke schließen wird.
Zur letzten Anmerkung
Ich werde für die Lösung eines Problems bezahlt. Das ich dafür VBA einsetze verstehen tatsächlich kaum welche.
Ich will eben das WIE schützen.
Nur weil ich ein Auto kaufe bekomme ich ja auch nicht alle Konstruktionspläne mit.
Aber ich glaube, das ich mit dem Problem nicht allein bin.
Danke euch.
Markus

AW: Nachtrag
28.02.2021 12:20:48
mumpel
Das wird MS nicht ändern. Die Passwörter in Office sind Selbstschutz, kein Datenschutz. Mal davon abgesehen weiss niemand wie lange VBA überhaupt noch erhalten bleibt.

Anzeige
HUCH! :-O
28.02.2021 12:34:27
Oberschlumpf
Hi,
echt?
VBA = meine Lieblingsformel :-) in Excel
Hast du etwas gelesen, was auf den "VBA-Verzicht" durch MS hindeuten könnte, oder ist das von dir "nur" eine Vermutung?
Ciao
Thorsten

AW: HUCH! :-O
28.02.2021 12:37:30
mumpel
Das war nur eine Anmerkung. MS wollte VBA ja schon längst abschaffen. Jetzt ist "Office Scripts" da, jedoch noch nicht so mächtig wie VBA.

AW: HUCH! :-O
28.02.2021 12:48:36
MLoew
Wenn ich nur daran denke wieviel Access DB im gewerblichen Bereich laufen die alle ohne VBA nicht gehen würden.
Das dauert dann bestimmt noch 5 Jahre bis da was brauchbares raus kommt und dann noch 10 Jahre Übergangszeit :)

Anzeige
AW: HUCH! :-O
28.02.2021 13:06:32
mumpel
Access ist ein Sonderfall. Da funktionieren ja schon Userformen nicht zuverlässig. Die UF stürzt ab wenn man z.B. Frames und Multipages nutzt. MS kennt das Problem seit Office 2007, hat aber bis heute nicht korrigiert. Da wird bei/in VBA also nicht mehr viel passieren. Und in Office sind selbst digitale Signaturen nur Makulatur, die lassen sich nämlich genauso leicht aus dem Dokument entfernen die Passwörter (obwohl die digitale Signatur ansich Manipulationen des Dokument-Inhaltes/Textes zuverlässig erkennt). Wer Sicherheit will nimmt nicht Office.

AW: HUCH! :-O
28.02.2021 13:11:32
MLoew
Hab hier noch was dazu gefunden
https://docs.microsoft.com/de-de/office/dev/scripts/resources/vba-differences.
Office-Skripts haben nur Zugriff auf die Arbeitsmappe, nicht auf den Computer, der die Arbeitsmappe hostet.
Und das Ganze gibts aktuell nur für Excel.
Thorsten: wir können uns wieder in Ruhe hinlegen. VBA wird wohl noch lange bleiben (hoff ich)

Anzeige
AW: HUCH! :-O
28.02.2021 16:20:13
Oberschlumpf
ja, danke, hatte ich auch schon gefunden...mittlerweile...
Aber...was VBA betrifft, bleibt ja weiterhin das Sicherheitsproblem.
Mich selbst störts allerdings nich, wenn sich meine Kollegen meine VBA-Ideen im Detail angucken.
Ciao + weiter viel Erfolg!

AW: HUCH! :-O
01.03.2021 05:10:58
mumpel
Vielleicht hat der ein oder andere Kollege ja sogar einen Verbesserungsvorschlag.

AW: Verstehe ich das richtig?
28.02.2021 12:57:44
Sulprobil
Verstehe ich das richtig:
Du wirst für die Lösung eines Problems bezahlt und erwägst, nicht Deinen gesamten Quellcode samt Dokumentation offen zu übergeben?

AW: Verstehe ich das richtig?
28.02.2021 13:22:04
MLoew
Ich gehöre zu den Leuten die das als Hobby in ihrer Freizeit machen um sich selbst und ihren Kollegen die Arbeit zu erleichtern.

Anzeige
AW: Das verstößt gegen Treu und Glauben...
01.03.2021 20:27:17
Sulprobil
...Deines Arbeitgebers.
Es macht die Sache nicht besser, wenn Klaus Dir dabei hilft und Lupo es für Vertragsfreiheit hält.
Frag einfach mal Deinen Chef oder Deinen Compliance-Beauftragten.
Es ist teurer, wenn es Dir ein Richter erklären muss.

...und ist nur angebracht, wenn man extern ...
02.03.2021 04:22:45
Luc:-?
…auf eigene Kappe oder im Auftrag arbeitet und das nicht anders vereinbart wurde, Markus.
Andererseits sollte man ein Pgm schon vor Eingriffen Ubefugter schützen und da sollte eigentlich das von µS Vorgesehene ausreichen. Das verwendete Passwort gehört dann allerdings in die Dokumentation. Derjenige, der sich dann unbefugt (betriebsintern) daran zu schaffen macht, verstößt seinerseits gg Treu und Glauben und kann ggf belangt wdn. Das muss die Firma eindeutig regeln. Und dann muss natürlich nicht nur der Datenschutz gewährleistet sein, sondern auch die Datensicherheit, denn unter PgmManipulationen kann beides leiden.
Sinnvoll wäre es ggf, obfuszierte Kenn-/Passwörter zu verwenden u/o getarnte PgmLöschFallen einzubauen, um unbefugten Zugriff zu unterbinden. Das hängt aber von betrieblichen Umständen/Regeln und dem Einsatzzweck ab.
Morhn, Luc :-?

Anzeige
das finde ich interessant ...
02.03.2021 10:30:26
Klaus
... und hab auch "Treu und Glauben" auf Wikipedia nachgeschlagen. Ich weiss hier darf mir niemand rechtsverbindliche Auskunft geben, aber vielleicht unverbindlich :-)
In meinem Fall ist es so: Ich bin angestellt, und alles was ich mache fällt unter "Diensterfindung". Meine Programme gehören also nicht mir, sondern meinem Arbeitsgeber. Ergo ist es klar, wenn ich meinen Code gezielt verschleiere oder schütze, begehe ich eine Vertragsstrafe.
(Andererseits: ob ich eine Variable für die letzte Zeile jetzt "lngLastRow", "z" oder "ageasftg1q235af" nenne ist doch mein Ding, oder?)
Mein Code ist stets kommentiert und dokumentiert, so dass im Falle eines Ausfalls ein andererer fähiger VBA-ler übernehmen könnte. Das gehört für mich auch einfach zum guten Ton des Programmierens dazu. Aber was ist, wenn ich funktionalen (!) Spagetticode ohne sprechende Variablen produziere und wichtige Programmteile mit "here be dragons" oder "magic - dont touch!" kommentiere? Ist ja nicht so dass es solche Codes nicht gäbe :-) Verstieße ich damit bereits gegen Treu und Glauben, oder wäre ich dann einfach ein schlechter Programmierer?
Akademisches Interesse: Wenn ich selbstständig arbeitete und einen Code fabrizierte, dürfte ich ihn dann tatsächlich nicht verschleiern und/oder schützen? Ein richtiges ERP-System (sagen wir mal SAP) ist ja auch nur eine auftragsbezogene Lösung eines Problems und deshalb nicht open source, oder?
LG,
Klaus M.

Anzeige
Alles Dir Gehörende darfst Du schützen.
02.03.2021 11:06:20
lupo1
Gehört die Arbeitsleistung hingegen dem Arbeitgeber, so könntest Du zumindest für nicht spezifische Teile des Programms die spätere Weiterverwendung vereinbaren. Denn ein komplettes Verbot käme ja einem Verbot gleich, die berufliche Reifung für sich selbst einsetzen zu dürfen.
Ohne Gewähr. Gesunder Menschenverstand.

AW: Bei Vorsatz oder grober Fahrlässigkeit
02.03.2021 17:39:46
Sulprobil
haftest Du immer.
Bei 10000 Zeilen Code ist in Deiner Firma auch jeglicher Spaß vorbei. Falls Du also einen ursprünglich verständlichen Code nachweislich so abänderst, dass er nicht mehr nachvollzogen oder angepasst/korrigiert werden kann, wirst Du sicherlich haften müssen (Vorsatz, ggf. gepaart mit Heimtücke).
Gegen Änderungen interner Unbefugter sichert man sich üblicherweise durch Arbeitsanweisungen oder Policies, z. T. zusätzlich mit (knackbaren) Passwörtern, die irgendwo sicher hinterlegt sind.
Bei Selbständigen oder bei Softwareprodukten kommt es auf die Verträge an. Wenn Du einen Vertrag (z. B. für Dein Softwareprodukt) anbietest, musst Du jemanden finden, der ihn annehmen will.
Als Selbständiger hast Du eher die Herausforderung, die Verträge großer Firmenkunden annehmen zu dürfen.
Wenn Du generell gut dokumentierst, dann sind jedoch vor dem Hintergrund Deiner beruflichen Situation sowohl Deine Eingangsfrage als auch die Hinweise bzgl. obfuscated VBA abwegig und die anderen Beiträge irrelevant (Luc:? ausgenommen, über meine kannst Du entscheiden).

Anzeige
AW: das finde ich interessant ...
03.03.2021 17:27:31
mumpel
Das Urheberrecht liegt dennoch bei Dir. Denn das Urheberrecht ist nicht übertragbar, das kann Dir Dein AG auch nicht wegnehmen.

Sulprobils kleine Spitzen (423)
02.03.2021 07:33:33
lupo1
Wenn mich jmd. fragt, ob ich ihm bei einem Hilfsmittel helfen kann, dann sage ich ihm:
1) Ja, zu meinen Bedingungen
2) Ich bekomme den Preis X
3) Ich darf das Programm auch anderweitig verkaufen (natürlich die Teile davon nicht, die dem AG eine betriebliche Alleinstellung verschaffen (wobei das eine Grauzone ist), und schon gar nicht irgendwelche Daten)
4) Ich gewährleiste nichts; Verwendung auf eigene Gefahr! Ich schließe keine Versicherung für mein Tun ab. Und auch nicht für Dokumentation und meine geistige Unversehrtheit/Nichtalterung.
Wird das nicht akzeptiert, kommt mit mir ganz einfach kein Vertrag zustande (Vertragsfreiheit). Denn: Ich muss nicht für ihn arbeiten.
In der Realität lasse ich den AG natürlich nicht sitzen, sondern begleite das Programm so lange, bis es fehlerfrei läuft (und dann auch immer mal wieder). Oft liegt das aber auch an fehlenden Spezifikationen; die berechne ich dann natürlich auch nach.

Das fällt unter Vertragsfreiheit.
28.02.2021 18:05:22
lupo1

besser als nichts ...
01.03.2021 08:07:34
Klaus
... ist ein VBA Obfuscator:
https://www.excel-pratique.com/en/vba_tricks/vba-obfuscator
Dann noch alle Kommentare, alle Absätze, alle Einrückungen raus. Hier und da ein paar Zeilenumbrüche entfernen und durch : ersetzen. Und massig "sinnlose" Zeilen einfügen, die nichts tuen außer da zu sein.
Schützt zwar den Code nicht direkt, aber es hat sicher keiner mehr Bock daran etwas zu machen.
LG,
KLaus

AW: besser als nichts ...
01.03.2021 08:53:43
mumpel
Damit wäre ich vorsichtig. Nach der Obfuskation kann es passieren, das einiges nicht mehr funktioniert. Besonders API ist Fehleranfällig wenn Code obfuskiert wurde (eigene Erfahrung).

AW: besser als nichts ...
02.03.2021 00:46:17
MLoew
Hi Klaus,
auf dem selben Trip war ich auch schon.
Ich musste mal für eine andere Aktion ne Lösung finden, wie ich spezielle PKs erstelle aus einer Verkettung vieler Inhalte. Die verketteten Werte waren teilweise 400 Zeichen lang, so dass dies als PK nicht mehr in Frage kam.
Da hab ich diese einfach in Hashs umgewandelt. Fertig.
Selber Ansatz hatte ich für meine Variable vorgesehen.
Aber der Obfuscator ist ja nochmal ne Nummer cooler.
Werde ich gleich mal austesten :)
Danke dir
Markuks

AW: besser als nichts ...
02.03.2021 00:55:37
MLoew
Nachtrag:
Ist OK.
Aber bei weiter über 100 Variablen und ebenso vielen Subs/Functions in einer Anwendung wird es ein wenig tricky Hab ich nach meiner ersten Vorfreunde festgestellt

hallte Nepomuk nicht mal eine DLL Lösung ...
01.03.2021 11:47:43
Klaus
... dafür vorgestellt, oder erinnere ich mich falsch? Vielleicht liest er hier ja mit.
LG,
Klaus

Korrekt hallt das Wort "Nepumuk" durch den Raum.
02.03.2021 07:24:39
lupo1

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige