Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBA-Projekt - Quellcode schützen

Frage Entwicklung VB for Applications

Mitglied: 106543

106543 (Level 2)

21.01.2013, aktualisiert 10:14 Uhr, 8850 Aufrufe, 10 Kommentare

Hi Leute,

ich hätte gerne gewusst, ob man den Quellcode von VBA irgendwie schützen kann, sodass kein Unbefugter diesen Auslesen kann o.Ä.
Es geht mir hierbei nicht um irgendwelche Programme welche den Quellcode dann auslesen sondern eher darum, dass bisher jeder User den Quellcode und auslesen und bearbeiten kann
Vielleicht hat ja schon jmd. von euch Erfahrungen damit gemacht.

Grüße
Exzellius

[EDIT]
Ok einiges googlen bin ich schlauer xD
also Passwortschützen ist kein Problem
nun würde ich gerne wissen, ob es möglich wäre, noch drastischere Methoden zu nehmen
[/EDIT]
Mitglied: mayho33
21.01.2013 um 11:12 Uhr
Im Visual Studio hast du die Möglichkeit dein Projekt in eine EXE umzuwandeln.
in VBS geht das z.B. mit VBSEDIT ganz easy per "Klick" auf "Convert into executable"
Auch einge Tools die im Internet zu finden sind können Code in eine Exe umwandeln VbsToExe z.B.
Du kannst eventuell auch in eine vbe umwandeln (nur VBS) was sich aber leicht rückgängig machen lässt.
Dotfuscator für VBA? Keine Ahnung aber eventuell gibts da was?
Bitte warten ..
Mitglied: 106543
21.01.2013 um 11:27 Uhr
Hey,

danke für die Mühe.
Ich wrd mich mal schlau machen.

Grüße
Exzellius
Bitte warten ..
Mitglied: Pjordorf
21.01.2013 um 11:58 Uhr
Hallo,

Zitat von mayho33:
in VBS geht das
Jepp.

@106543: Aber hier geht es um VBA was ja innerhalb der Anwendung (Excel, Word, Outlook etc) direkt läuft. Da ist es mit wandeln in eeiner .exe eben nicht möglich. Passwortschutz ja. Ansonsten den VBA Code komplett auslagern in einer DLL oder gar als eigenständige Applikation (was aber dann kein VBA mehr ist).

ob es möglich wäre, noch drastischere Methoden zu nehmen
Und wer sollten denn dein Geniereiches Werk sabotieren wollen? Das lässt sich doch auch nachteilig für den durchführenden nachweisen sprich wer mutwillig Firmeneigentum (Hier der funktionsfähige VBA Code) zerstört oder beschädigt muss mit Schadenersatzforderungen sowie weitere Konsequenzen rechnen, oder? Wenn du nicht willst das jemand auch nur Ansatzweise dein VBA lesen kann, dann eben kein VBA verwenden.

Gruß,
Peter
Bitte warten ..
Mitglied: 106543
21.01.2013 um 12:40 Uhr
Hallo Peter,

mir ist durchaus klar, dass mein "Geniereiches Werk" *Schmunzel* seltenst sabotiert werden sollte, allerdings ist exakt dies einem Kollegen von mir passiert, von daher wollte ich Schutzvorkehrungen treffen.
Was sollte ich denn anstatt von VBA verwenden, was dann deutlich sicherer wäre?
Es muss allerdings auf ähnlich einfache weise auf Excel zugreifen können etc.
Von daher war und ist für mich VBA die beste und einfachste Lösung.

Grüße
Exzellius
Bitte warten ..
Mitglied: mayho33
24.01.2013, aktualisiert um 11:52 Uhr
VBS kann auf Excel zugreifen. In genau dem Umfang wie VBA das auch kann (Gleiche Familie). Du must hat nur ein paar Objekte mehr erstellen am Anfang deines Codes und muss über diese Objekte dein Excel ansprechen. Nicht nennenswert umständlicher also meiner Ansicht nach.

Du hast sogar einen Vorteil mit VBS: Würdest du eventuell einbauen, dass nur Sheelts verwendet werden die in einem bestimmten Pfad liegen, könntest du damit jedes Sheet manipulieren das den Voraussetzungen entspricht. Und nicht nur das eine in dem dein VBA-Code steht.
Bitte warten ..
Mitglied: 106543
24.01.2013 um 12:09 Uhr
Hi mayho,

ok dann muss ich mich da mal reinarbeiten
mal sehen ob es viel umständlicher ist.
hast du da ein HowTo zur Hand ? Ich bin chronisch google-faul

Grüße
Exzellus
Bitte warten ..
Mitglied: Pjordorf
24.01.2013 um 13:33 Uhr
Hallo,

Zitat von 106543:
allerdings ist exakt dies einem Kollegen von mir passiert
Und der Passwortschutz ist nicht ausreichend gewesen oder war einfach keiner gesetzt? Das hält doch solche möchtegern "ich kann besser Programmieren als du und werde es jetzt tun" davon ab weiter als bis zur Passwortabfrage. Ansonsten im VBA eine Logging Funktion einbauen wer von welchen PC das ding wann geöffnet hat.

Gruß,
Peter
Bitte warten ..
Mitglied: Pjordorf
24.01.2013 um 13:38 Uhr
Hallo,

Zitat von mayho33:
VBS kann auf Excel zugreifen.
Als ergänzung noch. Fast jede Hochsprache kann auch auf Excel (Office Aobjekte) zugreifen. Auch ein .NET oder ein VisiualBasic, C# usw. Fragt sich nur was sinnvoller ist und was ich tatsächlich erreichen möchte mit welchem Aufwand.

Gruß,
Peter
Bitte warten ..
Mitglied: 106543
24.01.2013 um 14:07 Uhr
Zitat von Pjordorf:
Hallo,

> Zitat von 106543:
> allerdings ist exakt dies einem Kollegen von mir passiert
Und der Passwortschutz ist nicht ausreichend gewesen oder war einfach keiner gesetzt?

Hi,

bei ihm war kein Passwort drin, von daher dachte ich mir, man kann ja auch aus fremden Fehlern lernen
Bitte warten ..
Mitglied: mayho33
25.01.2013 um 17:00 Uhr
Zitat von Pjordorf:
Ansonsten im VBA eine Logging Funktion einbauen wer von welchen PC das ding wann geöffnet hat.

Naja, würde ich den Code eines Kollegen böswillig ändern wollen würde ich erstens das Sheet nicht vom Share aus öffnen sondern die Kopie davon ohne Netzwerkzugriff, zweitens würde jeder Zugriff geloggt werden, also auch das Öffnen des Excel.

und dazu:
Zitat von Pjordorf:
Fragt sich nur was sinnvoller ist und was ich tatsächlich erreichen möchte mit welchem Aufwand.

Nun wie er schon sagte will er seinen Code schützen. Darum muss er den Code wohl oder übel vom Excel auslagern. Dafür gibt es schier unerschöpfliche Möglichkeiten.

Ganz einfach ist es mit VBS, weil es sich von VBA durch sozusagen nichts unterscheidet

http://mahimavbscript.blogspot.co.at/2010/09/working-with-excel-object. ...
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Microsoft Office
gelöst VBA: Dateiinhalte in Abhängigkeit des Dateinamens importieren (4)

Frage von Booster07 zum Thema Microsoft Office ...

VB for Applications
VBA Grenzwerte in String prüfen Regex ??? Excel2010 (1)

Frage von Chillministrator zum Thema VB for Applications ...

Microsoft Office
gelöst Excel VBA: Automatische Konvertierung von Textdatei (.txt) zu Exceldatei (.xlsx) (7)

Frage von Booster07 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Erkennung und -Abwehr
Virenschutz - Meinungen (27)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Netzwerke
Abisolierwerkzeug (18)

Frage von SarekHL zum Thema Netzwerke ...

Windows 10
Welches OS für Firmengeräte? (17)

Frage von MarkusVH zum Thema Windows 10 ...

Exchange Server
SBS2011: POP3-Connector 10 MB Grenze Email Benachrichtigung (17)

Frage von bogi1102 zum Thema Exchange Server ...