Forum: PC Hard- und Software Batchfile kompilieren


von Stefan (Gast)


Lesenswert?

Hallo!

Ich möchte gerne ein Batchfile kompilieren.

Im Batch werden die Netzwerklaufwerke zum Samba-Server mittels net 
use-Befehlen verbunden und das Passwort steht halt auch dabei.

Jetzt gibt es im www etliche batch - compiler.

Könnt Ihr einen seriösen empfehlen?

Danke und schöne Ostern!
Stefan

von troll (Gast)


Lesenswert?

Batchfile kompilieren? Häh?

OK, du meinst wohl irgendwelche Programme die aus dem Batchfile ne 
ausführbare Datei erzeugen. Egal welches du nimmst, das Passwort bekommt 
man trotzdem raus wenn man es drauf anlegt. U.U. reicht da schon ein 
Blick mit dem Hexeditor.

von Uhu U. (uhu)


Lesenswert?

Stefan schrieb:
> Ich möchte gerne ein Batchfile kompilieren.

Das macht die Shell, bevor sie das Ding ausführt, da mußt du dich nicht 
darum kümmern.

von Vlad T. (vlad_tepesch)


Lesenswert?

Uhu Uhuhu schrieb:
> Das macht die Shell, bevor sie das Ding ausführt, da mußt du dich nicht
> darum kümmern.

da wird nix compiliert.
Das ist ein Interpreter

von Uhu U. (uhu)


Lesenswert?

Vlad Tepesch schrieb:
> da wird nix compiliert.
> Das ist ein Interpreter

Und was ist der Unterschied zwischen einem Compiler und einem 
Interpreter?

Der Interpreter compiliert - wie auch immer - den Code, d.h. ersetzt ihn 
in ausführbare Strukturen um und führt die direkt aus.

Der Compiler führt sie nicht aus, sondern speichert sie für spätere 
Ausführung ab.

Der Interpreter ist also eine Zusammenfassung aus Compiler und 
ausführender Maschine.

Eingabe ist bei beiden z.B. Text.

von Vlad T. (vlad_tepesch)


Lesenswert?

dur irrst. lies nochmal nach.

Uhu Uhuhu schrieb:
> Der Interpreter compiliert - wie auch immer - den Code, d.h. ersetzt ihn
> in ausführbare Strukturen um und führt die direkt aus.

das ist falsch

von Uhu U. (uhu)


Lesenswert?

Vlad Tepesch schrieb:
> das ist falsch

Ich habe mich wirklich lange genug mit Interpretern beschäftigt. Ein 
Interpreter, der Text interpretiert, setzt den in einen Strom von 
Funktionsaufrufen um. Ob diese Funktionsaufrufe direkt ausgeführt 
werden, oder in Form eines Stroms von Pseudo- oder nativem Maschinencode 
in einem Puffer geschrieben und dann ausgeführt werden, ist nur ein 
gradueller Unterschied, vergleichbar etwa mit dem Unterschied zwischen 
Ein- und Zweipaß-Compiler.

Klar ist jedoch, daß Quelltext nicht ohne Compilationsschritt ausgeführt 
wird. Die Frage ist nur, ob das in einem, oder mehreren Pässen passiert.

Interpreter, die auf Effizienz ausgelegt sind, compilieren praktisch 
immer - entweder in einem der Ausführung vorgelagerten Compilationslauf, 
oder just-in-time, wie z.B. Java und heben das Compilat für weitere 
Benutzung mindestens bis zum Programmende auf.

von Guido C. (guidoanalog)


Lesenswert?

Hallo,

ich vermute, dass Stefan durchaus bewusst ist, dass 
Stapelverarbeitungsdateien normalerweise nicht kompiliert werden, 
sondern über den Interpreter des jeweiligen Betriebssystems ausgeführt 
werden.

Stefan sucht wohl ein *.bat to *.exe Konverter. Insbesondere "sucht" er 
Eure Erfahrungen zu einem dieser Konverter.

Mit freundlichen Grüßen
Guido

von Peter II (Gast)


Lesenswert?

Uhu Uhuhu schrieb:
> Klar ist jedoch, daß Quelltext nicht ohne Compilationsschritt ausgeführt
> wird.

nein ist es nicht. Ein Compilationsschritt erzeugt "neuen Code" das 
passiert bei einem interpreter nicht. Er nutzt nur vorhanden code.

von Michi (Gast)


Lesenswert?


von Uhu U. (uhu)


Lesenswert?

Peter II schrieb:
> Ein Compilationsschritt erzeugt "neuen Code" das passiert bei einem
> interpreter nicht.

"Neuer Code" ist nichts anderes, als eine Aneinanderreihung von 
Referenzen auf bereits existierenden Code - egal, ob der von einer in 
Software, oder in Silizium realisierten Maschine interpretiert wird. Wie 
der Interperter diesen "neuen Code" aufbauen soll, steht im Eingabetext.

Wäre es kein "neuer Code", was der Interpreter intern produziert, dann 
würde er stupide immer nur dasselbe machen.


Guido C. schrieb:
> Stefan sucht wohl ein *.bat to *.exe Konverter.

Diese Dinger verschleiern bestenfalls den .bat-Text - letztlich 
ausführen wird das dann command.com oder einer seiner Nachfolger. Ein 
guter Paßwortschutz ist das nicht - man muß dem Teil nur einen gefakten 
Kommandointerpreter unterschieben und schon hat man den .bat-Text.

von Guido C. (guidoanalog)


Lesenswert?

Hallo,

Uhu Uhuhu schrieb:
> Diese Dinger verschleiern bestenfalls den .bat-Text - letztlich
> ausführen wird das dann command.com oder einer seiner Nachfolger.

Diese Vermutung hatte ich auch. Da ich "Diese Dinger" jedoch nur vom 
Hörensagen kenne habe ich mich mit dieser Vermutung zurückgehalten.

Uhu Uhuhu schrieb:
> Ein
> guter Paßwortschutz ist das nicht - man muß dem Teil nur einen gefakten
> Kommandointerpreter unterschieben und schon hat man den .bat-Text.

Ich denke das ist eine Aussage, mit der Stefan schon eher geholfen ist.

Mit freundlichen Grüßen
Guido

von Vlad T. (vlad_tepesch)


Lesenswert?

Uhu Uhuhu schrieb:
> "Neuer Code" ist nichts anderes, als eine Aneinanderreihung von
> Referenzen auf bereits existierenden Code - egal, ob der von einer in
> Software, oder in Silizium realisierten Maschine interpretiert wird. Wie
> der Interperter diesen "neuen Code" aufbauen soll, steht im Eingabetext.

nein, ein interpreter interpretiert den Code Befehl für Befehl.
Er ist im einfachsten Fall nicht mehr als eine verschachtelte Switch 
Case Anweiseung.
Ein Compiler wandelt eine Eingabesprache in eine Ausgabesprache um.

Bei Modernen Scriptsprachen verschwimmen die Unterschiede, da sie über 
einen JIT Compiler verfügen, der atsächlich das Programm zuerst in 
nativen Code umwandelt und diesen dann ausführt.

So das wars von mir. Das ganze ist Informatik-Basiswissen. Ich hab keine 
Lust länger Trolle zu füttern.

von Uhu U. (uhu)


Lesenswert?

Vlad Tepesch schrieb:
> nein, ein interpreter interpretiert den Code Befehl für Befehl.

Au weia, das scheint ja furchtbar schwierig zu sein:

> Er ist im einfachsten Fall nicht mehr als eine verschachtelte Switch
> Case Anweiseung.

Und was macht eine case-Anweisung? Sie ordnet einer Bedingung ein Stück 
Code zu - m.a.W.: sie setzt den Quellcode in ein Stück ausführbaren Code 
um, der direkt ausgeführt wird, also eine Übersetzung, gefolgt von 
Ausführung - der Compilationspaß und die Interpretation laufen in einem 
Paß.

> Ein Compiler wandelt eine Eingabesprache in eine Ausgabesprache um.

Die Eingabesprache ist der .bat-Text, die Ausgabesprache des 
Compilationpasses das Codeschnipsel, das anschließend ausgeführt wird.

Der Befehlsdecoder in einem Prozessor ist auch eine Art Compiler, der 
die sehr einfach strukturierte Eingabesprache "Maschinencode" in 
Aktionen im Silizum umsetzt.

Sogar in jeder Körperzelle spielt sich dieses Muster ständig bei der 
Genexpression ab: Die DNA wird abgelesen - sogar über die 
Zwischensprache RNA, also mit einem "Zweipaß-Compiler" - und danach 
werden Proteine produziert, die die ausführende Maschne bilden.

Die Frage ist immer nur, wann das Compilat erzeugt wird und wie lange es 
vorgehalten wird.

> Bei Modernen Scriptsprachen verschwimmen die Unterschiede, da sie über
> einen JIT Compiler verfügen, der atsächlich das Programm zuerst in
> nativen Code umwandelt und diesen dann ausführt.

Aha, sag ich doch die ganze Zeit.

von Klaus (Gast)


Lesenswert?

Mensch Vlad, du solltest es doch eigentlich besser wissen!!!

Jedes Kind weiß doch, dass Uhu per Definition immer Recht hat, und alles 
weiß! Egal, was fürn schmarrn er Erzählt!

von Sven P. (Gast)


Lesenswert?

Uhu hat halt den Blick fürs große Ganze. Ungeachtet allgemein 
akzeptierter Konventionen und Festlegungen ist doch eigentlich alles nur 
zunehmende Entropie.

von Stefan (Gast)


Lesenswert?

Heiliger Strohsack!

Schon merkwürdig wenn eine einfache Frage, die vielleicht nicht ganz 
präzise formuliert war, sofort auf den ganz Informatikfachschleim 
zerlegt wird.
(Obwohl jeder weiß was gemeint war)

Leute, das ist doch ein ganz alltägliches Problem welches nach einer 
pragmatischen Lösung sucht.

Klar ist das was diese Batchcompiler oder bat2exe erzeugen alles wieder 
angreifbar oder nicht state of the art.

Aber allemal besser als ein .bat mit Klartextpasswörtern oder?

Mir ging es rein um evtl. vorhandene Erfahrungen und auftauchende 
Probleme mit dem ein oder anderen Tool.

So long
Stefan

von Mirco C. (Firma: s@Td) (mcontroller)


Lesenswert?

Hi,

evt. schon mal daran gedacht den interessanten Teil des Batchfiles als 
ganz normales Programm zu realisieren (via Compiler) und das dann in 
deiner Batch-Datei aufzurufen? Mit den Batch-"Compilern" wird es dann 
auch sicherlich irgendwie möglich sein, das Ganze zusammen zu packen.

von Norbert (Gast)


Lesenswert?

Stefan schrieb:

> Im Batch werden die Netzwerklaufwerke zum Samba-Server mittels net
> use-Befehlen verbunden und das Passwort steht halt auch dabei.

Gib's zu, du wolltest den Beitrag doch rund 29 Stunden später absenden, 
oder?

von Stefan (Gast)


Lesenswert?

Norbert schrieb:
> Gib's zu, du wolltest den Beitrag doch rund 29 Stunden später absenden,
> oder?
???

von Stefanie B. (sbs)


Lesenswert?

Mit linux wäre das nicht passiert ;)

Obwohl linux natürlich jetzt schon fast mainstream ist. Wir sollten Jörg 
Wunsch befragen: "Mit OpenBSD wäre das erst recht nicht passiert" ;)

von Norbert (Gast)


Lesenswert?

Stefan schrieb:

>>> Im Batch werden die Netzwerklaufwerke zum Samba-Server mittels net
>>> use-Befehlen verbunden und das Passwort steht halt auch dabei.

>> Gib's zu, du wolltest den Beitrag doch rund 29 Stunden später absenden,
>> oder?

> ???


Der Gedanke an Batchfiles mit Passwörtern führt uns fast automatisch an 
eine Weggabelung.

Die eine Verzweigung lässt uns unmittelbar an die kalendarischen 
Besonderheiten denken, die mit dem Beginn des vierten Monats 
einhergehen.
Die Fachpresse bietet da einige durchaus interessante Einblicke.
Eine große Gruppe von Menschen machen diesen Tag zu etwas Besonderem, 
wiewohl auch dieser Tag den Menschen große Freude bereitet.

Die andere Verzweigung gibt uns eher etwas Rätselartiges, Symbolhaftes 
vor, etwas wie eine  stilisierte, wehende Flagge welche in den vier 
Vierteln eine Farbpalette - nicht unähnlich den vier Grundfarben Ewald 
Herings - beinhaltet.
Auch hier stellt man sich auch unmittelbar eine Gruppe von Menschen vor, 
...

Wir wollen aber an einem solchen Tage nicht unsere Verantwortung den 
Anderen gegenüber vergessen.
Und so schließt sich der Kreis und führt uns zur Fragestellung zurück.
Wie kann ich sicherstellen, das meine Brüdern und Schwestern nicht 
meiner Daten ansichtig werden?
Das können wir nur bewerkstelligen indem wir sichere 
Verschlüsselungsmethoden verwenden.

Eine wunderbare und ähnlich sichere Methode wie die oben bereits 
Aufgeführte, wäre zB. das double ROT13 Verfahren. Auch die 'inverted 
keyboard sticker' Methode wurde in Fachkreisen schon ausführlich 
kryptografisch untersucht.

Zur weiteren Vertiefung vielleicht noch:
http://phoenix.clifford.at/~ak/2rot13.pdf

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Stefan schrieb:
> Im Batch werden die Netzwerklaufwerke zum Samba-Server mittels net
> use-Befehlen verbunden und das Passwort steht halt auch dabei.

Sinnvoll wäre es übrigens, keine Passwörter zu verwenden, sondern den 
Samba-Server so zu konfigurieren, daß ihm das jeweils aktuelle 
Benutzerkonto mitsamt seines aktuellen Passwortes bekannt ist.

Dann braucht man auch keine Passwörter in Batchdateien.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.