anokkona
Goto Top

BATch Zeichen ersetzen

Greez Mitteinander

Ich weiss das es schon Beiträge über änliches giebt, durch die ich schon sehr weit gekommen bin. Nun stehe ich jedoch for einem Rätsel:

Ich habe mir 2 BATchs geschrieben, die erste wechselt die Buchstaben einer Variablen eingabe in zeichen um, damit sie nicht mehr gelesen werden können, und speichert die Zeichenfolge in einer .txt. Das Funktioniert soweit auch.

Skrypt 1:

@echo off
set MyLW=%CD:~0,3%
Set /p PW2d=<%MyLW%5\data\PW\aenderung.txt

set var=%PW2d%

set var=%var:a=+%
set var=%var:b= (% (ohne lerschlag)
set var=%var:c=?%
set var=%var:d=´%
set var=%var:e= )% (ohne lerschlag)
set var=%var:f=$%
set var=%var:g=£%
set var=%var:h=/%
set var=%var:i=#%
set var=%var:j==%
set var=%var:k=0%
set var=%var:l=*%
set var=%var:m="%
set var=%var:n=1%
set var=%var:o='%
set var=%var:p=-%
set var=%var:q=_%
set var=%var:r=~%
set var=%var:s=!%
set var=%var:t=]%
set var=%var:u=}%
set var=%var:v={%
set var=%var:w=[%
set var=%var:x=;%
set var=%var:y=:%
set var=%var:z=,%

%var%

echo %var% > %MyLW%5\data\PW\aenderung.txt
exit

Die 2te sollte dann alles wieder auflösen, also in den Normalzustand schreiben, tut sie aber nicht.
Ich habe keine ahnung warum aber das dos-fenster blizt nur kurz auf, aber macht nichts.

Könnte es daran liegen dass BATch keine Zeichen in ziffern umwandeln kann, oder wo steckt hier mein Fehler?

Skript 2:

@echo off
set MyLW=%CD:~0,3%
Set /p PW2d=<%MyLW%5\data\PW\aenderung.txt

set var=%PW2d%

set var=%var:+=a%
set var=%var: (=b% (ohne lerschlag)
set var=%var:?=c%
set var=%var:´=d%
set var=%var: )=e% (ohne lerschlag)
set var=%var:$=f%
set var=%var:£=g%
set var=%var:/=h%
set var=%var:#=i%
set var=%var:==j%
set var=%var:0=k%
set var=%var:*=l%
set var=%var:"=m%
set var=%var:1=n%
set var=%var:'=o%
set var=%var:-=p%
set var=%var:_=q%
set var=%var:~=r%
set var=%var:!=s%
set var=%var:]=t%
set var=%var:}=u%
set var=%var:{=v%
set var=%var:[=w%
set var=%var:;=x%
set var=%var::=y%
set var=%var:,=z%

%var%

echo %var% > %MyLW%5\data\PW\aenderung.txt

exit


vielen Dank schon jezt.

anok


PS: arbeite mit win vista

Content-ID: 110233

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

Ausgedruckt am: 22.11.2024 um 10:11 Uhr

Biber
Biber 01.03.2009 um 02:27:23 Uhr
Goto Top
Moin anokkona,

willkommen im Forum.
Ich vermute, dass die Batch-Zeichen-in-Variable-ersetzen-Syntax dann danebengreift, wenn Zeichen ersetzt werden sollen, die selbst spezielle Bedeutung im CMD-Syntaxumfang haben. Beispiele sind "(", ")", "?" oder "=".
Ein Konstrukt wie..
set var=%var:==j%
...würde selbst mich ins Grübeln bringen - wie mag es der armen von Redmonder PraktikantInnen zusammengeschrotenen CMD.exe gehen?

Vorschlag:
Da Dein Passwort-"Verschlüsselungs"algorithmus -wenn wir mal die Schnörkel und Nebelkerzen weglassen- besteht aus einer normalen 1:1-Zeichenersetzung. Also "Mach mir ein X für ein U vor" et vice versa.
Nicht mehr, nicht weniger. So sicher wie meine Rente.
Also verlierst du nichts, wenn Du nur noch Buchstaben, Ziffern und Sonderzeichen ohne "Spezialbedeutung im Batch" in Deinem Passwort-Zeichenvorrat zulässt und genau diese Zeichen auch in deinem Encrypt-Zeichenvorrat zuordnest.
Lass auf beiden Seiten die oben angeführten Klammern und Frage-/Ausrufe-/Gleichheits-Kleiner/Größer-Zeichen weg.

Das "verschlüsselte" Passwort ist immer noch so komplex, dass es mehr als Minuten Zeit kostet, es zu "erraten".
Und viel mehr kannst du ohnehin nicht erhoffen bei einer 1:1-Vorwärts/Rückwärtsverschlüsselung.

Grüße
Biber
anokkona
anokkona 01.03.2009 um 10:51:38 Uhr
Goto Top
Ok vielen dank Jezt klappt das. Ich konnte jedoch gar keine sonderzeichen einbeziehen.

Noch so gaz nebenbei eine Frage; wie sicher ist eine .exe, also wie schnell könnte man das ganze da auslesen?
So wie ich das verstanden habe kann man keine exe zu batch kompillieren oder man erhält nur 0 und 1.


vielen dank nochmals für die schnelle Antwort! face-smile

LG Anok
Biber
Biber 01.03.2009 um 21:31:46 Uhr
Goto Top
Moin anokkona,

...wie sicher ist eine .exe, also wie schnell könnte man das ganze da auslesen
Hat nix mit Exe oder Nicht-Exe zu tun. Wenn der Algorithmus nur pilpul ist (mach mir für jedes X ein U vor et vice versa), dann hilft das nur bei 11jährigen.

...Batch-"Kompiler"
Genau das Gleiche. Ist nur nervenberuhigend, wenn Du selbst keine Ahnung ist. Gegen 12jährige absolut wirkungslos - vergeudete Zeit.

--> Wenn irgendetwas helfen könnte, dann ein "echter" Verschüsselungsalgorithmus".
Dafür gibt es Leute (und Utilities), die sich damit auseinandergesetzt und da ein paar Tage Aufwand reingesteckt haben.
Versuche nicht, deren Ergebnisse mit einem 5-Minuten-Batch (oder VBScript oder C#-Schnipsel...) nachzuturnen.
Das kann nicht klappen.

Grüße
Biber
anokkona
anokkona 01.03.2009 um 22:47:26 Uhr
Goto Top
Ich versuche auch nicht ein sicheres program zu schreiben, sondern lediglich ein paar daten vor neugirigen bliken schützen, wens jemand trotzdem entdeckt maht mir das nichts aus.

Trotzdem vielen Dank für deine Hilfe.

LG Anok