Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: xls to exe

xls to exe
08.06.2023 13:44:50
Michael H

Hallo Zusammen,

ich möchte gerne meine Excel-Mappe zum Download anbieten und möchte es zu diesem Zweck verschlüsseln. Ich habe da z.B. Lock.xls gefunden. Beim Testen wurde aber vom Defender ein Trojaner im Programm entdeckt. Habt Ihr noch andere Erfahrungen oder Vorschläge?

Danke und Grüße
Michael H

Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: xls to exe
08.06.2023 13:50:50
onur
googel mal nach "Excel Compiler".


AW: xls to exe
08.06.2023 22:53:15
mumpel
Ich hab mal den "XCell Compiler" getestet. Leider für meine Zwecke nicht geeignet. Bei "Standardcode" funktioniert es. Aber sobald z.B. INI-Files im Spiel sind, funktioniert es nicht mehr, da die compilierte Form nicht entzifferbare Zeichen in die INI-Datei schreibt, und bei vorhandenen INI-Files dessen Inhalt natürlich falsch "übersetzt". Der durch "XCell Compiler" erzeugte Crunch-Code ist eben nicht für alle(s) geeignet. Zudem dauert das Öffnen der Datei damit ewig. Das würde ich den Anwendern nicht zumuten.

"LockXLS" hat den Nachteil, dass der Anwender eine Runtime installieren muss. Das sollte man m.E. seinen Anwendern nicht zumuten.

Einen gewissen Schutz (vor Laien und auch Fortgeschrittenen) kann man auch ohne Extrasoftware erreichen. Das ist aber nicht so einfach. Ich habe auch gerade so ein Testobjekt erstellt (Umfangreiche VBA-Programmierung, die u.a. auch das Speichern unter anderem Namen und ohne Dateischutz verhindert. Eine Exe-Datei, die das Öffnen der Exceldatei in einer "abgeschotteten" Excelinstanz und auch die Zwangsaktivierung der Makros übernimmt. etc. pp.). Dadurch, dass nur die Exe-Datei das Dateischutzkennwort kennt, kann der Anwender die Datei auch nicht in Fremdprogrammen (z.B. Packprogramme, LibreOffice) öffnen um dort das VBA-Projekt einzusehen. Ich habe sogar eine Prozedur drin, die aus Prozessor-ID und Festplatten-ID einen Lizenzcode generiert bzw. den Lizencode überprüft/vergleicht (Beim ersten Öffnen der Datei wird per VBA die ID ausgelesen. Daraus erstelle ich den Lizenzcode. Den schreibe ich in eine INI-Datei. Danach wird der Lizenzcode bei jedem Öffnen überprüft). Natürlich verrate ich die Berechnungsmethode nicht. ;-)


Anzeige
AW: xls to exe
08.06.2023 23:11:25
Fennek
Hallo,

da alles, was lokal gespeichert ist, vom User manipuliert werden könnte, wäre ein guter Schutz auf einem Webserver anzufragen und einen Schlüssel zu erhalten, z.B. das Password zum Datei öffnen oder den Text zu entschlüsseln.

Dafür habe ich keine Erfahrung, aber interesse es auszuprobieren.

mfg


Anzeige
AW: xls to exe
08.06.2023 23:19:43
mumpel
da alles, was lokal gespeichert ist, vom User manipuliert werden könnte >>>
Bei meinem Projekt müsstest Du schon Profi sein. Du müsstest die EXE-Datei decompilieren können, um an den Quellcode zu kommen, und um das Datei- und Schreibschutzkennwort entschlüsseln zu können (das ist nämlich verschlüsselt gespeichert). Das Dateischutzkennwort wirst Du nicht knacken können, da es in den aktuellen Dateiversionen in SHA256 verschlüsselt ist, und auch HMAC zum Einsatz kommt. Ist ja nicht mehr wie bei XLS-Dateien, wo jeder Laie rankommt wenn er will. Und ohne das Dateischutzkennwort kommst Du nicht mit Fremdprogrammen an den VBA-Code. Zumal das VBA-Projekt im VBE auch nicht angezeigt wird (im VBE erscheint nur die Meldung "Projekt kann nicht angezeigt werden"). So leicht ist es also nicht.


Anzeige
AW: xls to exe
09.06.2023 09:17:11
Der Steuerfuzzi
Hallo René,

ich gehe mal davon aus, dass das Passwort nicht im Klartext in der exe steht. Wenn nicht könnte man das ganze relativ einfach mit Strings (in MS Sysinternals enthalten) auslesen und könnte das Passwort relativ einfach finden. Wenn die Exe mit Net compiliert wurde, kann man diese sehr einfach decompiliieren (z. B. mit dem kostenlosen ILSpy) und sich den Code ansehen.

Sicherlich werden das keine Laien machen, aber ein wenig technisch affine könnten da schon was erreichen.

Grüße
Michael


Anzeige
AW: xls to exe
09.06.2023 12:30:33
mumpel
Natürlich ist das Kennwort verschlüsselt. Die EXE habe ich mit AutoIt erstellt. Da AutoIt VBA sehr ähnlich ist, kann man das auch leicht lernen. Aber wer das dekompilieren kann und somit an den Quellcode kommt, der kann sicher auch die Hashwerte finden, und damit das Kennwort entschlüsseln wenn er weiß wie es verschlüsselt wurde.


Anzeige
AW: xls to exe
08.06.2023 20:52:41
mumpel
Bedenke bitte, dass eine so geschützte Datei auf Mac-OS, iOS und Android nicht laufen wird.


AW: xls to exe
09.06.2023 11:04:22
Michael H
Moin Rene,

wow. Warum vertreibst Du das nicht? Klingt nach einer super Lösung. Und danke für die Tipps.

VG Michael H


AW: xls to exe
09.06.2023 13:02:17
mumpel
Was soll ich vertreiben?


Anzeige
AW: xls to exe
09.06.2023 13:05:23
Michael H
Ich meine diese Sicherungslösung für Excel.


AW: xls to exe
09.06.2023 13:44:30
mumpel
Sowas kann man nicht verkaufen, da das kein Schutz vor Profis ist. Und meine Berechnungsmethode für den Lizenzcode verrate ich nicht. ;)


Anzeige
AW: Powershell
09.06.2023 11:46:20
Fennek
Hallo,

dieser Code startet ein Excel-Workbook mit Password-Schutz. Da Powershell kompiliert werden kann, wäre das ein einfacher Ansatz:


$excel = New-Object -ComObject Excel.Application

$file = 'c:' + $env:HOMEPATH + '\desktop\mitPassword.xlsx'
$pass = 'qwe'

$wb = $excel.workbooks.open($file, 3, 0, 5, $pass, $pass)
$excel.visible = $true
Das Password müsste noch verschlüsselt werden.

mfg


Anzeige
AW: Powershell
09.06.2023 13:01:45
mumpel
Nette Spielerei. Da fehlt aber jeglicher Schutz. Die Datei kann dann einfach ohne Kennwort gespeichert werden, wenn sie einmal offen ist. ;-)

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Excel-Datei in eine EXE umwandeln: So geht's


Schritt-für-Schritt-Anleitung

  1. Software auswählen: Entscheide dich für eine Software, um deine Excel-Datei in eine EXE-Datei zu konvertieren. Beliebte Optionen sind LockXLS oder XCell Compiler. Beide bieten Funktionen zum Schutz deiner Excel-Datei.

  2. Excel-Datei vorbereiten: Stelle sicher, dass deine Excel-Datei (z. B. .xlsm oder .xls) alle notwendigen Daten und Makros enthält. Überprüfe, ob deine Makros richtig funktional sind.

  3. Konvertierung durchführen:

    • Öffne deine gewählte Software.
    • Wähle die Excel-Datei aus und folge den Anweisungen zur Konvertierung.
    • Konfiguriere die Einstellungen, um die Datei zu schützen (z.B. Passwortschutz).
  4. EXE-Datei testen: Nach der Konvertierung solltest du die EXE-Datei testen, um sicherzustellen, dass alle Funktionen wie erwartet arbeiten und die Datei nicht zu lange zum Laden benötigt.

  5. Verteilung: Stelle die EXE-Datei für den Download bereit und informiere die Benutzer über mögliche Anforderungen, wie die Installation von Runtime-Komponenten.


Häufige Fehler und Lösungen

  • Fehler: Trojaner-Erkennung: Wenn dein Antivirus-Programm die EXE-Datei als Bedrohung einstuft, könnte es an der Software liegen, die du zum Konvertieren verwendet hast. Überlege, eine andere Software zu verwenden oder die EXE-Datei in einer Sandbox zu testen.

  • Fehler: Lange Ladezeiten: Wenn Excel-Threads beim Öffnen der EXE-Datei lange berechnen, kann das an ineffizienten Makros oder einer schlechten Konvertierung liegen. Optimiere deine Makros und teste die Konvertierung erneut.

  • Fehler: Kompatibilität: Beachte, dass EXE-Dateien auf MacOS und iOS nicht ausgeführt werden können. Überlege, eine alternative Lösung zu finden, falls deine Benutzer diese Plattformen nutzen.


Alternative Methoden

  • Powershell-Skript: Du kannst ein Powershell-Skript erstellen, das eine Excel-Datei mit Passwortschutz öffnet. Hier ein einfaches Beispiel:
$excel = New-Object -ComObject Excel.Application
$file = 'C:\Users\DeinBenutzername\Desktop\mitPassword.xlsx'
$pass = 'deinPasswort'
$wb = $excel.workbooks.open($file, 3, 0, 5, $pass, $pass)
$excel.visible = $true
  • VBA-Lösungen: Du kannst auch VBA verwenden, um die Excel-Datei zu schützen, z. B. durch das Erstellen eines Lizenzcodes, der bei jedem Öffnen der Datei überprüft wird.

Praktische Beispiele

  • LockXLS: Diese Software ermöglicht es dir, deine Excel-Datei zu verschlüsseln und als EXE-Datei zu speichern. Beachte, dass die Benutzer möglicherweise Runtime installieren müssen.

  • XCell Compiler: Diese Alternative ist nützlich, bietet aber keine vollständige Lösung für INI-Dateien. Wenn du INI-Dateien verwendest, teste die Software gründlich, um sicherzustellen, dass sie deine Anforderungen erfüllt.


Tipps für Profis

  • Kennwortschutz: Achte darauf, dass das Kennwort für den Datei- und Schreibschutz sicher ist. Verwende komplexe Passwörter, um den Zugriff auf deine Daten zu erschweren.

  • Lizenzierung: Implementiere eine Lizenzierungsstrategie, die das Öffnen der Datei nur für autorisierte Benutzer ermöglicht. Dies kann durch Hash-Werte und ID-Überprüfungen geschehen.

  • Schutz vor Dekomprimierung: Behalte im Hinterkopf, dass technisch versierte Benutzer möglicherweise versuchen könnten, die EXE-Datei zu dekompilieren. Verwende daher starke Verschlüsselungstechniken.


FAQ: Häufige Fragen

1. Wie kann ich meine Excel-Datei vor unbefugtem Zugriff schützen?
Verwende Software wie LockXLS oder XCell Compiler, um deine Datei zu verschlüsseln und als EXE-Datei zu speichern. Implementiere einen Passwortschutz.

2. Kann ich Excel-Dateien auf Mac öffnen, die als EXE gespeichert wurden?
Nein, EXE-Dateien sind in der Regel nur für Windows-Betriebssysteme geeignet. Überlege, eine alternative Lösung für Mac-Benutzer zu finden.

3. Was tun, wenn die EXE-Datei nicht funktioniert?
Überprüfe die Kompatibilität deiner Excel-Datei, optimiere deine Makros und teste die Konvertierung erneut. Stelle sicher, dass alle notwendigen Runtime-Komponenten installiert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige