phlegma
Goto Top

(batch) Quellcode soll nicht lesbar sein / verschlüsselung eines variablen namens

nAbend,
habe batchkompiler aber die exe die entsteht erstellt auch nur wieder die batch...
ich möchte verhindern dass man die batch lesen kann

also ich kopiere meine komplierte batch (exe) in temp
und führe sie aus...
dadurch wird meine install.bat erstellt und ausgeführt allerdings wird die .bat datei nichtmehr gelöscht auch nicht wenn die batch erfolgreich mit exit endet

ist es möglich die batch noch während des vorgangs zu löschen? del %0 ? (bzw del install.bat)
oder gibt es eine andere möglichkeit die auch mit einschließt dass die batch gelöscht wird wenn sie per x button abgebrochen wird?

2. (EDIT)
verschlüsselung eines namens
abcd1234 soll zu bcde0123 umgewandelt werden per batch und in einer anderen(/selben) batch wieder entschlüsselt werden können..
wozu? anlegen von ordnern die nicht per suche nach dem namen der datei gefunden werden können
beispiel: bla1.txt wird zu cmb0.txt

dafür geibt es doch bestimmt diese wunderbare for schleife mit der ich noch nicht ganz klar komme...


wenn du das liest und dir etwas einfällt poste doch bitte!
freu mich auf hilfe, Ph

Content-Key: 49537

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

Printed on: April 25, 2024 at 04:04 o'clock

Member: Biber
Biber Jan 22, 2007 at 20:08:55 (UTC)
Goto Top
Na ja, Phlegma,

Du kannst dich da nur annähern....
Du weißt von der erzeugten temporären Klartext-Batchdatei doch,
- wo sie ist (im %temp%- oder noch genauer im %myFiles%-Verzeichnis)
- den Namen (2 bestimmte Buchstaben und 4 Ziffern) und
- die Endung .bat (oder .cmd) nach Deinen Vorgaben.
- und auch noch das Hidden-Attribut
Also kannst Du doch am Ende als letzten Befehl abfeuern
del /q /Ah "%myfiles%\bf????.bat"

Die Wahrscheinlichkeit, dass Du dabei eine "falsche", ganz ganz furchtbar wertvolle Datei bf????.bat im %temp%-Verzeichnis wegknallst, die der Anwender dort versteckt anlegt hat, ist so gering wie ein Wahlsieg der SPD.

Anmerkungen:
Dass die temporäre Datei nach ordnungsgemäßer Abarbeitung der *.exe nicht gelöscht wird, kann ich nicht bestätigen.
Im Normalfall ist die Klartext-Batch hinterher durch die .exe gelöscht.

Wermutstropfen:
Was Du nicht sinnvoll verhindern kannst, ist das Verbleiben von einer lesbaren *.bat,
- wenn kein Rücksprung zur .Exe-Datei erfolgt (die Batch hängt. SEHR unwahrscheinlich)
- wenn in der Batch ein "pause"-Befehl steht und dieser vom Anwender genutzt wird, die Batchdatei zu lesen
- wenn die Batchdatei läuft und der Anwender die Exe-Datei per Taskkill abschießt.

Aber langsam machst Du uns neugierig: was hast Du denn für nobelpreisverdächtige Zeilen in Deiner Batch?
Wenn es so hochsensibel ist, dann solltest Du lieber ein paar Zeilen in irgendetwas zusammenbraten, was sich wirklich kompilieren lässt... C oder so.

Will damit nur sagen: Behalte im Auge, welchen Aufwand Du betreiben willst, Deinen Source zu schützen.
Für einen durchschnittlich bösartigen Endanwender sollte das oben geschriebene mehr als ausreichen.
Und ein richtig bösartiger Anwender dekompiliert Dir ohnehin Deine .exe.

Gruß
Biber
Member: Phlegma
Phlegma Jan 22, 2007 at 21:10:52 (UTC)
Goto Top
okok ... war nur interesse... stimmt so toll ist der inhalt gar nicht...
wollt nur rausholen was möglich ist ;)
trotzdem vielen dank...
ich weiß nich was ich ohne dich machen würde face-smile

ach und was hast du gegen die SPD? :D

und die namen verschlüsselung? niemand ne idee?

Gruß, Ph
Member: Phlegma
Phlegma Jan 24, 2007 at 19:27:50 (UTC)
Goto Top
wieso antwortet mir neuerdings niemand mehr?
Member: Phlegma
Phlegma Jan 26, 2007 at 16:26:57 (UTC)
Goto Top
ich brauch nen batch der a zu b; b zu c; d zu e usw macht zudem 1 zu 0; 0 zu 9; 9 zu 8 usw...

geht dass nicht?
wenn es nicht geht hätt ich das auch gerne gewusst (@ biber)...

ich hatte schon ne richtig gute meinung von diesem forum bekommen....
na vllt liegts an mir, ich stell die falschen fragen...

mfg, Ph
Member: miniversum
miniversum Jan 26, 2007 at 19:40:40 (UTC)
Goto Top
Frag mal genauer..
Mit es soll 1 zu 0; 0 zu 9 gemach twerden it ncith viel anzufangen udn zu helfen.
Wo kommen die zahlen den her?

Du kannst Dinge ersetzen in Variabeln.

set var=abc123
echo var
set var=%var:123=xyz%
echo var

miniversum
Member: Phlegma
Phlegma Jan 26, 2007 at 19:58:36 (UTC)
Goto Top
im grunde soll ein ganzer, recht beliebiger text verschlüsselt werden können...
nur brauche ich keinen ganzen text, ich denke das würde wenn überhaupt per batch auch zulange dauern....
inwiefern verschlüsselt sollte in meinen bisherigen posts klar sein (hoff ich)

[einzelne variabelteile zu ersetzen wird leider nicht ausreichen bei varierenden namen]

trotzdem danke!, Ph
Member: miniversum
miniversum Jan 27, 2007 at 10:57:31 (UTC)
Goto Top
doch das sollte dan ja gehen. du kanst da sja hinterinander hängen. Mußt nur auf die reihenfilge achten.
Dein Text steht in einer Variablen (var).
jetzt kanst du dann

set var=abc123
echo Orginal text:%var%
set var=%var:3=4%
set var=%var:1=3%
set var=%var:4=1%
echo Verschlüsselter Text:%var%

Sowas in der Richtung geht.

miniversum
Member: Phlegma
Phlegma Jan 27, 2007 at 12:17:44 (UTC)
Goto Top
hi,
hm ok doch das ist ein ansatz.. problem stellt nur eins dar... :
ich kann nicht alles verschieben ansonsten wir an der anchlusstelle des kreises der verschiebung ein fehler auftreten.. ..( 1 zu 0, 2 zu 1, ... 0 zu 9 dann wird die eins auch zu ner 9..)

is es möglich das ganz in weniger als 20 zeilen zu fassen?( soll ja auch alle buchstaben umwandeln...)
danke für den ansatz!
gruß, Ph
Member: miniversum
miniversum Jan 27, 2007 at 14:09:07 (UTC)
Goto Top
Klar du kannst ja auch Sonderzeichen benutzen die weder Buchstaben noch Zahlen beinhalten.
So sollte dieses Problem gelöst sein.

Wenns mach nacheinande funktionierrt kanst du es ja in 2 FOR Schleifen ineinander verschachteln. Dan hast du es auf wenige Zeilen Code reduziert.

In einer Andern Programmiersprache wie z.B. C könntest du einfach über den ASCII Code die Zeichen Vershcieben. Ist halt dan wesentlich einfacher. Ob und wenn ja wie das in Batch geht weiß ich nicht.

miniversum
Member: Phlegma
Phlegma Jan 27, 2007 at 15:19:47 (UTC)
Goto Top
hi, danke
tu mir nen gefallen und schreib mir die beiden for zeilen die du dir vorstellst..
gruß
Ph
Member: miniversum
miniversum Jan 29, 2007 at 07:29:06 (UTC)
Goto Top
Na mit 2 Forschleifen alleine ists nicht getan.
Hier hab ich mal was gemacht von A bis F. Du kannst es ja entsprechend erweitern für die anderen Zeichen. Als Zusatszeichen hab ich mal $ gewählt. Vergiss dann nicht die Anzahl der Zeichen + Zusatszeichen in der 5. Zeile unter Anzahl zu ändern.

@echo off
setlocal enabledelayedexpansion

set text=ABCDEF & rem Zu verschlüsselnder Text
set /a anzahl=7 & rem Anzahl der Zeichen

set /a anzahl=%anzahl%+1
set zahl=%anzahl%

FOR %%i in (A B C D E F $) do (
FOR %%j in ($ A B C D E F) do (
if !zahl! equ %anzahl% set /a zahl=0 & set text=!text:%%i=%%j!
set /a zahl=!zahl!+1
)
)

echo %text% & rem Verschlüsselter Text

miniversum
Member: Phlegma
Phlegma Feb 04, 2007 at 20:36:58 (UTC)
Goto Top
oki,
schöön
sorry dass das gedauert hab bis ich mich melde...
also was du da fabriziert hast scheint schonmal zu funktionieren!
allerdings verstehe ich nicht viel was genau passiert und eine stelle widerspricht sich selbst:
set text=ABCDEF & rem Zu verschlüsselnder Text ABCDEF = 6 zeichen
set /a anzahl=7 & rem Anzahl der Zeichen <- 7 ??
würdest du mir das bitte schritt für schritt erklären dass ich mir das selbst für den rest erweitern kann?
mfg, vielen dank,
Ph
Member: Phlegma
Phlegma Feb 04, 2007 at 20:51:42 (UTC)
Goto Top
sry doppelpost
Member: miniversum
miniversum Feb 05, 2007 at 17:54:34 (UTC)
Goto Top
Diese Anzahl bezieht sich auf die Anzahl der Zeichen in den FOR Schleifen (A B C D E F $ bzw. $ A B C D E F), nicht auf die Länge des Textes. Zum erweitern müßtest du also immer diese Zeichen bis Z erweitern bzw. auch die Zahlen hinzufügen. Die Reihenfolge der Zeichen bestimtm dabei welche Zeichen getauscht werden.
In diesem Fall bedeutet das also:

FOR %%i in (A B C D E F $) do (
FOR %%j in ($ A B C D E F) do (

A wird zu $
B wird zu A
C wird zu B
D wird zu C
E wird zu D
F wird zu E
$ wird zu F

Auf diese Art wird aus "ABCDEF" dann also "FABCDE".

Willst du einen Andern Text dann so verschlüsseln ist die Länge des Textes egal.
Hauptsache er steht in der Variablen text (bei mir halt durch set text=ABCDEF).

miniversum
Member: Phlegma
Phlegma Feb 05, 2007 at 21:29:29 (UTC)
Goto Top
hi,
schön, jez weiß ich genauer was passiert.. aber die genauen befhele sind mir noch nicht klar...
zudem gibt es ein problem bei kleinbuchstaben, die auch groß werden
würdest du mir bitte auch den if befehl erklären damit ich es vllt selbst verbesseren kann?

danke, Ph
Member: miniversum
miniversum Feb 06, 2007 at 13:33:30 (UTC)
Goto Top
Ich erklär das ganze mal.
Durch die beiden For-Schleifen in einander werden alle Kombinationen aus den Zeichen ABCDEF$ durchgemacht.
Also A$ AA AB AC AD AE AF B$ BA BB BC ...
Zusätzlich wird in der Variablen zahl mitgezählt.
set /a zahl=!zahl!+1
Da du ja nur die Kombinationen A$ BA CB DC ED FE $F benötigst kann ich diese mit Hilfe der IF Anweisung raussuchen, denn diese Kombination erreicht man gerade dann wenn Zahl = Anzahl der Zeichen +1 ist.
Daher am Anfang Die Zeile
set /a anzahl=%anzahl%+1
und Beim If der Teil:
if !zahl! equ %anzahl%
Ist also zahl=anzahl wird das jeweilige Zeichen in text durch das andere ersetzt. B durch A usw.
die Jeweis gültigen Zeichen stehen also in %%i und %%j und dadurch ergibt sich der hintere Teil der If aAnweisung:
set text=!text:%%i=%%j!
Zusätzlich muß dabei noch zahl auf 0 zurückgesetzt werden:
set /a zahl=0

Wenn du willst kannst du ja mal damit du es besser sehen kannst vor die Zeile mit dem If folgende Zeile schreiben:
echo [!zahl!] [%%i] [%%j]

Dann siehst du was er macht.

miniversum
Member: Phlegma
Phlegma Feb 14, 2007 at 13:01:21 (UTC)
Goto Top
hi,
melde mich zurück.. bin wieder gesund.

ich habe immernoch verständnisprobleme, mal wieder mangels wissen:

was passiert bei einer variable wenn sie mit ! zeichen angegeben wird? wofür ist das gut?
zudem is das hier für mich leider nicht verständlich:
Da du ja nur die Kombinationen A$ BA CB DC ED FE $F benötigst kann ich diese mit Hilfe der IF Anweisung raussuchen, denn diese Kombination erreicht man gerade dann wenn Zahl = Anzahl der Zeichen +1 ist.
Daher am Anfang Die Zeile

    set /a anzahl=%anzahl%+1


ansonsten:
deine 2 for schleifen probieren diverse kombinationen aus die ich gar nich brauche, wenn du sie erweiterst bekommst du nachher für 36 zeichen 36x36 rechenvorgänge schon diesen 7x7 brauchen bei mir zeit die bemerkbar ist, gibt es nicht eine andere möglichkeit? obwohl diese sehr gut ist! könnte man nich jedem buchstaben(und zahlen) einzeln einen anderen zuweisen?

zudem problem: klein/großschreibung

ich hatte fast schon gedacht es ist nicht möglich bis du kamst ;)
weiter so! brauch immer noch deiner hilfe

wem sonst etwas dazu einfällt bitte melden

vielen dank, Ph
Member: Phlegma
Phlegma Feb 21, 2007 at 12:18:59 (UTC)
Goto Top
hi,
so miniversum, du wolltest dass ich den batch den ich habe poste...
ich habe ein paar sachen hinzugefügt...

@echo off
setlocal enabledelayedexpansion

set /p text=Zu verschlüsselnder Text: 
rem ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 möglich
if "%text%"=="" set text=ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789  
echo %text%
set alttext=%text%
pause >nul

::goto mine

set /a anzahl=27 & rem Anzahl der Zeichen

set /a anzahl=%anzahl%+1
set zahl=%anzahl%
FOR %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z $) do (
FOR %%j in ($ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if !zahl! equ %anzahl% set /a zahl=0 & set text=!text:%%i=%%j!
set /a zahl=!zahl!+1
echo !zahl! / %%i-%%j / !text! & rem zum besseren verständnis für mich
)

)
set /a anzahl=11 & rem Anzahl der Zeichen

set /a anzahl=%anzahl%+1
set zahl=%anzahl%
FOR %%i in (0 1 2 3 4 5 6 7 8 9 $) do (
FOR %%j in ($ 2 3 4 5 6 7 8 9 0 1) do (
if !zahl! equ %anzahl% set /a zahl=0 & set text=!text:%%i=%%j!
set /a zahl=!zahl!+1
echo !zahl! / %%i-%%j / !text! & rem zum besseren verständnis sollte entfernt werden später
)

)
echo %alttext% wurde zu
echo %text%
pause >nul
exit
:mine
set text=!text:Z=$!
set text=!text:Y=Z!
set text=!text:X=Y!
set text=!text:W=X!
set text=!text:V=W!
set text=!text:U=V!
set text=!text:T=U!
set text=!text:S=T!
set text=!text:R=S!
set text=!text:Q=R!
set text=!text:P=Q!
set text=!text:O=P!
set text=!text:N=O!
set text=!text:M=N!
set text=!text:L=M!
set text=!text:K=L!
set text=!text:J=K!
set text=!text:I=J!
set text=!text:H=I!
set text=!text:G=H!
set text=!text:F=G!
set text=!text:E=F!
set text=!text:D=E!
set text=!text:C=D!
set text=!text:B=C!
set text=!text:A=B!
set text=!text:$=A!

echo %alttext%
echo %text%
pause >nul

die sache mit den zahlen geht nicht....
antworte bitte auch auf meinen vorigen post.. ich kapiers irgendwie noch nicht

zudem habe ich, nach dem ich etwas verstanden habe, eine schnellere aber häßlichere methode gemacht ... ab der marke :mine ...

ich denke beide versionen haben vorteile, meine an geschwindigkeit und deine an veränderlichkeit...
so kann man bei dir schnell verändern dass de buchstaben um mehrere positionen verschoben werden (A=C, statt A=B).

klein und großschreibung ist noch ein problem

wie die zahlen und buchstaben geänadert werden sollen steht oben im eingangstext.

vielen dank für deine bisherige hilfe und für deine zukünftige!

gruß, Ph
Member: miniversum
miniversum Feb 21, 2007 at 18:05:29 (UTC)
Goto Top
Hallo

was passiert bei einer variable wenn sie mit ! zeichen angegeben wird? wofür ist das gut?
Da ich ja in der Forschleife die Variable zahl hochzählen will muß ich mit enabledelayedexpansion arbeiten. Würe ich das nicht tun würde nicht gezählt werden. die Variable würde dann nur einmal zu beginn der schleife aufgelöst werden. und da ich eben mit enabledelayedexpansion arbeite muß ich die Variablen statt mit % mit ! schreiben. Das ist da dann so. Schau mal unter setlocal /?

Das mit den Kombinationen ist eben weil, wie du schon gemerkt hast, die zwei For Schleifen JEDE Kombination durchmachen und nur die entsprechenden benutzt. Da eben alle zeichen um 1 verschoben sind habe ich auch die Formel mit dem anzahl + 1 drin. Dadurch werden eben diese "rausgesucht". Das meinte ich mit den Kombinationen von A$ BA CB DC ED FE $F benötigen.
Am besten siehst du das ja in deiner Zeile mit dem
echo !zahl! / %%i-%%j / !text! & rem zum besseren verständnis für mich
Wenn du das mal nur mit den Buchstaben von A bis F durchspielst und dir anschaust welchen Wert !zahl! bei den für dich relevanten Anordnungen hat wirst du sehen wie ich auf die anzahl+1 komme. Für alle 26 Buchstaben gild das entsprechende dann. Ist ne eher mathematische/kombinatorische Sache.

Wie du schon gesehen hast ist deine Lösung mit dem
...
set text=!text:L=M!
set text=!text:K=L!
...
die schnellere Lösung, aber eben lange und eigentlich imerm wieder das gleiche.
Das wollte ich eben mit den 2 Forschleifen und der ZählVariablen nachbilden. Klar ist deine Möglichkeit schneller. Ist halt eine Möglichkeit den Code zu Reduzieren.

Wichtig bei beiden Möglichkeiten ist immer die Reihenfolge der Vertauschungen. Wenn die nciht passt kannst du schnell lauter gleiche Zeichen bekommen, was dir bei den Zahlen passiert ist (dazu später noch). Am besten Du schreibst dir die Kombinationen der Vertauschungen vorher mal auf um dann den Kreis in der Richtigen reihenfolge zu druchlaufen und schließen zu können.
Vorteil das Strategie untereinander jedes Extra zu tauschen, ist halt auch das zufällige Kombinationen möglich sind, ohne eine System wie der Verschub um eine Stelle darin zu haben.

Zum den Kleinbuchstaben:
Koppiere einfach den ganzen Block von den großbuchstaben und mach daraus kleine. ist mal am einfachsten. Prinzipiell wäre es auch möglich alles (alle Buchstaben und Zahlen in einem Mal in die zwei For Schleifen zu packen).

Das mit dienen Zahlen liegt an der Reihenfolge.
Du hast alle 1en durch eine 2er ersetzt. Danach alle 2er durch 3en, also auch die 2en die vorher 1er waren.
Du müßtest es also umgekehrt machen udn Zuerst die 8er zu 9er, dann die 7er zu 8er, usw...

set /a anzahl=11 & rem Anzahl der Zeichen
set /a anzahl=%anzahl%+1
set zahl=%anzahl%
FOR %%i in (9 8 7 6 5 4 3 2 1 0 $) do (
FOR %%j in ($ 9 8 7 6 5 4 3 2 1 0) do (
if !zahl! equ %anzahl% set /a zahl=0 & set text=!text:%%i=%%j! & echo !zahl! / %%i-%%j / !text!
set /a zahl=!zahl!+1
echo !zahl! / %%i-%%j / !text! & rem zum besseren verständnis sollte entfernt werden später
)
)
echo %alttext%
echo %text%

Vielleicht solltest du die Zeile
echo !zahl! / %%i-%%j / !text! & rem zum besseren verständnis sollte entfernt werden später
durch folgende ersetzen, dass es anschaulicher wird.
echo !zahl! / %%i wird zu %%j & rem zum besseren verständnis sollte entfernt werden

miniversum
Member: Phlegma
Phlegma Feb 24, 2007 at 16:07:13 (UTC)
Goto Top
hi,
schön!

nun das letzte problem:
klein/großschreibung

alle kleinen buchstaben werden hier groß gemacht, ich hätte sie gern klein behalten.

setlocal hat nich geholfen, aber ich hab gemerkt das echo %text% und echo !text! etwas anderes herauskommt.

thx, ph
Member: miniversum
miniversum Feb 24, 2007 at 17:11:33 (UTC)
Goto Top
Damit wirst du woll leben müssen. Ich wüsste nicht wie man da suntershcieden kann. Ich dachte erst einfach das gleiche mit kleinen buchstaben aber der PC kennt dne Unterschied nicht.

Vielleicht würdest du an dieser Stelle mit vbs weiter kommen, wie in dem andern Posting an dem Du dich ja uch beteiligt hast ein Lösungsvorschlag gepostet wurde.

Batch hat eben auch seine Grenzen.

Oder wechsle gleich zu einer anderen Programmiersprache wie C oder so.

miniversum
Member: Phlegma
Phlegma Feb 24, 2007 at 18:15:43 (UTC)
Goto Top
moin,

ok.. ich werde dann vllt alles auf klein ändern sonst sieht es so agressiv aus...

und gern C .. wenn du mir das wisse ndazu in den kopf beamst?

.. hm nich bös gemeint.. ich bin erst 16j und das is für meine kenntnisse schon ein großes projekt, wo dieses cript ein kleiner teil von ist^^

vielen dank für die hilfe!

Phlegma
Member: Phlegma
Phlegma Feb 24, 2007 at 18:54:00 (UTC)
Goto Top
hi,
ich muss nochmal schreiben da ich noch nicht allein zu potte komme...

also 2 sachen:

1. Uncript, der ganze vorgang soll rückgänig gemacht werden
2. Cript2 der vorgang soll nicht nur um einen buchstbane sondern um 2 sein ...


ich denke beide sahcen sollte ndurch änderung der !zahl! möglich sein aber ich bekommst nciht hin...

wär nett wenn du mir nochmal helfen würdest,

gruß Ph
Member: miniversum
miniversum Feb 25, 2007 at 10:05:14 (UTC)
Goto Top
Ich würde beides es durch Änderung der Reihenfolge in den beiden Forschleifen machen (vielleicht bei zurückcodieren mit z beginnen nicht mit a).

Na das erlernen von C ist auch nicht soo schwer, wenn dus erstmal bei konsoleneingabe beläst. Abfangen von eingabe ist ncith all zu schwer. In C hast du dann den vorteil das du die Buchstaben in ihre Ascii werte umwandeln kannst und so diese werte einfach um einen beliebigen Wert erhöhen kannst und wieder zurückwanden. Im internet, und natürlich auch hier im Forum gibt es genügend beispielcodes und anleitungen für C. Also wenn Du dich dafür interessierst... Manche Dinge gehen da halt einfacher als in Batch.

miniversum
Member: Phlegma
Phlegma Feb 25, 2007 at 10:43:16 (UTC)
Goto Top
hi,

hm ich werd ma gucken... C... hmhm

aber is es nicht möglich einfach den wert des !zahl!+1 teils zu verändern? muss sicher die ganze reihenfolge der buchstaben geändert werden?

hm... gut wie du meinst

vielen dank, Ph
Member: miniversum
miniversum Feb 25, 2007 at 11:58:33 (UTC)
Goto Top
so auf anhieb kann ich das garnicth beantworten. wenn müßtest du aus den
set /a anzahl=%anzahl%+1
ein
set /a anzahl=%anzahl%+2
machen...

miniversum
Member: Phlegma
Phlegma Feb 25, 2007 at 18:21:48 (UTC)
Goto Top
hi,

he schön wärs...

hab da auch schon rumprobiert... ne leider nicht...
dann würde jah auch -1 zuim decript führen.. nope.. schade

könntest du dich nochmal damit beschäftigen?

würde mir auch beim verständnis helfen, dankö

Gruß, Ph
Member: miniversum
miniversum Feb 26, 2007 at 18:26:34 (UTC)
Goto Top
Nim den Code wie beim Verschlüsseln und ändere bei den Zahlen die Forschleifen so:
FOR %%i in (0 1 2 3 4 5 6 7 8 9 $) do (
FOR %%j in ($ 0 1 2 3 4 5 6 7 8 9) do (
und bei den Buchstaben so:
FOR %%i in (Z Y X W V U T S R Q P O N M L K J I H G F E D C B A $) do (
FOR %%j in ($ Z Y X W V U T S R Q P O N M L K J I H G F E D C B A) do (

miniversum
Member: Phlegma
Phlegma Feb 26, 2007 at 18:39:55 (UTC)
Goto Top
hm danke..

vllt hätt ich das au geschafft...

schade dass du keinen schalter setzen kannst, verstell je nachdem wieviel buchstaben der text weitergeschoben werden soll A->B oder A->C oder was weiß ich...

Ty, Ph
Member: miniversum
miniversum Feb 26, 2007 at 19:59:20 (UTC)
Goto Top
Da müßte amn woll dan Ansatz neu wählen. so auf anhief fällt mir da allerdings ncihts Gutes ein.

miniversum
Member: Phlegma
Phlegma Feb 26, 2007 at 20:59:15 (UTC)
Goto Top
schade...


Nun meld dich bitte wenn dir doch noch was einfällt abe rich bin schon sehr froh damit was ich nun habe, hast mir sehr geholfen, vielen dank

Gruß, Ph
Member: miniversum
miniversum Feb 27, 2007 at 17:14:50 (UTC)
Goto Top
Wie gesagt höhere Programmiersprachen sind da wol besser geeignet.

Wenns nur ums Verschieben geht könntest Du es mal wie in deinem Ansatz mit den ganzen:
set text=!text:Y=Z!
set text=!text:X=Y!
set text=!text:W=X!
set text=!text:V=W!
...
versuchen nur nicht gleich nem andern Buchstaben zuweisen sondern über Variabeln gehen die du dynamisch erstellen könntest. Mit enabledeleyedexpansion (siehe dem einen aktuellen beitrag im Batch Bereich). Die erstellten variebeln (die ja Nummern enthalten) könntest du dann beim Erzeugen udn erstmaligem Zuweisen versetzt zuordnen und am ende wieder bei 1 beginnen sollte der Wert er Zahl über 26 liegen. So könntest du den Verschub der Buchstaben einfach nur über den Anfangswert festlegen.
Ist aber nur so ein Gedankengang...

miniversum