domain-jane
Goto Top

"To Exe Converter" für mehrere zusammenhängende vbs- und batch-Skripte?

Guten Abend noch einmal zusammen!

Ich mich gerade an einigen bats und vbssen (<- Legasthenie lässt grüßen!) verbastelt und fände es
jetzt ganz schick, die zu einer exe zu verlöten.
Habe dazu den "Bat to Exe Converter" gefunden.

Hat jemand schon Erfahrung damit? Wandelt der auch vbs-Skripte um? Was passiert bei mehreren Skripten,
die miteinander durch calls oder start /waits verknüpft sind?

Mitternächtliche Grüße
Eure Janet

Content-ID: 261856

Url: https://administrator.de/contentid/261856

Ausgedruckt am: 22.11.2024 um 10:11 Uhr

mrtux
mrtux 01.02.2015 aktualisiert um 02:22:36 Uhr
Goto Top
Hi!

Soweit ich mich noch erinnern kann, wurde das Ding hier im Forum schon mal vor vielen Jahren in der Luft zerrissen. Ausserdem widerspricht es total der ursprünglichen Idee von Batch Files und Skripten. Sowas einzusetzen ist also völliger Unsinn und dafür auch noch Geld auszugeben ist noch unsinniger. Ich sehe solche "Tools" genauso wie die (gefühlt) zigtausende von sogenannten "Tuning-" Tools für Windows, die helfen nur den Verkäufern und den Zeitschriften in denen sie beworben werden. Aber mal dumm gefragt: Was erhoffst Du dir für Vorteile von so einer "Exe" gegenüber dem ursprünglichen Batchfile? Mehr Performance? Schutz deines geistigen Eigentums.. face-big-smile

Wenn Du echte Exefiles haben willst, warum dann keine Programmiersprache lernen z.B. C++?

mrtux
rubberman
rubberman 01.02.2015 um 01:32:01 Uhr
Goto Top
Hallo Domain-Jane.

ganz schick, die zu einer exe zu verlöten
Das ist alles Andere als schick. Was diese Tools tun, ist, sie verpacken das Originalscript in einen Container (selbstextrahierendes Archiv, Installer o.Ä.). Beim ausführen dieser Datei wird dann dein Script irgendwo in das %temp% Verzeichnis entpackt und ausgeführt. Externe VBScripts wirst du im Zweifelsfall nicht dazu packen können (kenne aber das von dir verlinkte Tool nicht). Risiken und Nebenwirkungen wirst du aber in jedem Fall haben, allein aus dem Grund, weil das Script am Ende in einer anderen Umgebung ausgeführt wird. Scripts sind interpretierte Sprachen. Das gilt insbesondere für Batch. Da lässt sich nichts kompilieren, auch wenn dir solche Tools etwas anderes vorgaukeln.

Hat jemand schon Erfahrung damit?
Kleine Anekdote:
Vor mehreren Jahren habe ich ein Excel-Tool geschrieben, um Datenbankexporte auszuwerten. Dieses wurde nach und nach von einer Reihe von Kollegen genutzt. Irgendwann stellte sich die Frage, wie man Updates für diese Datei verteilt. Ich habe diese dann auf den Server gepackt und einen kurzen Batchcode geschrieben, der jeweils eine lokale Kopie dieser Datei anlegt und diese startet. Funktionierte hervorragend. Um das Script gegen "versehentliche Änderungen" zu schützen und ein farbenprächtiges Icon hinzu zu fügen, habe ich das Script mit so einem Bat2Exe Tool verpackt und an die Kollegen verteilt. Alles schick. Über die Zeit fand das Ganze dann auch noch Anwendung in der Fertigung und landete auf Rechnern, die dreischichtig in Betrieb waren. Nach mehr als einem Jahr komme ich eines Morgens zur Arbeit. Unsere lokalen Admins hatten sich bereits um meinen Schreibtisch versammelt. Irgendwann über Nacht flog ein Update des Virenscanners ein und hat dieses konvertierte Script als False Positive identifiziert. Zig Rechner feuerten Virenmeldungen. Die Rechtfertigung, wie ich auf die glorreiche Idee gekommen bin, derart dubiose Software zu verteilen, war nicht ganz einfach, wie du dir vermutlich denken kannst. Dass ich den Kopf aus der Schlinge bekommen habe, ist letztlich der Tatsache geschuldet, dass meine Lösung eine Menge Zeit und Geld gespart hatte. Übrigens läuft diese Lösung immer noch bei uns. Allerdings mit dem Original-Batchscript. Von diesem Bat2Exe Mist bin ich endgültig geheilt.

Grüße
rubberman
Domain-Jane
Domain-Jane 01.02.2015 um 12:05:58 Uhr
Goto Top
Zitat von @mrtux:
Was erhoffst Du dir für Vorteile von so einer "Exe" gegenüber dem ursprünglichen Batchfile?
Mehr Performance? Schutz deines geistigen Eigentums.. face-big-smile

Ich wollte damit nur die einzelnen, zusammenhängenden Skripte zu einer Datei zusammenfassen,
da sich dann die Verteilung etwas einfacher gestaltet hätte.
Aber das ist nach euren ausführlichen Erläuterungen sowieso nicht gut möglich.
Manchmal nur eben blöd, dass man nicht eine Aufgabe in ein Skript packen kann.
Beispielsweise geht ein Call zu einer Sprungmarke innerhalb des Batchfiles immer bis zum Ende der Datei,
was die Auslagerung weiterer Aufgaben erfordert.

Zitat von @rubberman:

Das ist alles Andere als schick. Was diese Tools tun, ist, sie verpacken das Originalscript in einen Container
(selbstextrahierendes Archiv, Installer o.Ä.). Beim ausführen dieser Datei wird dann dein Script irgendwo in das %temp%
Verzeichnis entpackt und ausgeführt.

Hey rubberman, danke für die Erklärung und die kleine Geschichte! Sowas ist natürlich immer ein leichter Gau...
Aber bei so etwas lernt man wohl am besten. ;)

Der Vergleich von mrtux mit den Tuning-Utilities ist echt gut.
Und bei diesem "einfach alles nach temp extrahieren und und ausführen" wird mir richtig übel!
Ich werde auf jeden Fall Abstand von der Idee halten... danke für eure Meinung! face-smile

Viele Grüße!
116301
116301 01.02.2015 um 12:28:21 Uhr
Goto Top
Hallo Domain-Jane!

Du kannst auch mehrere Calls in einer Datei haben:
:CallMarke
::Code
goto :eof
Grüße Dieter
rubberman
rubberman 01.02.2015 um 12:50:35 Uhr
Goto Top
Hallo Dieter,

da hast du Recht, sofern es lediglich um Batchdateien geht. Diese lassen sich problemlos über Subroutinen zusammenfassen. Ein Hybridscript mit VBScript wäre da schon etwas "magic" face-wink Angefangen damit, dass man ein temporäres VBScript aus dem Batchcode heraus schreiben lässt, über die Verwendung von WSF Code, bis hin zu komplizierten Escapesequenzen mit Steuerzeichen.
Ehrlich gesagt bin ich dann aber der Meinung, man sollte sich eine Sprache suchen, die alles deckelt was man vorhat und auch nur eine Sprache verwenden...

Grüße
rubberman
116301
116301 01.02.2015 um 13:10:21 Uhr
Goto Top
Hallo rubberman!

da hast du Recht, sofern es lediglich um Batchdateien geht...
Darüber hab ich mir jetzt keine weiteren Gedanken gemacht und wollte auch nur auf die Möglichkeit hinweisen...

Ehrlich gesagt bin ich dann aber der Meinung, man sollte sich eine Sprache suchen, die alles deckelt was man vorhat und auch nur eine Sprache verwenden...
Da stimme ich Dir voll und ganz zuface-wink

Grüße Dieter