Kann man eine Batch Datei verschlüsseln?

7 Antworten

Man kann jede Datei verschlüssel - aber nur ausführen, wenn sie lesbar, also wieder entschlüsselt, ist.

Es gibt eine unter einigen Virenautoren beliebte Art, den Inhalt trotzdem unlesbar zu machen - tippe einmal in eine Suchmaschine Deiner Wahl "batch obfuscator" ein. Der Trick ist, die Datei mit bewusst schlechter Programmierung so schwer lesbar zu machen, dass Menschen beim Dekodieren mit Sicherheit Fehler machen und somit scheitern, mindestens aber sehr viel Zeit benötigen. Der Rechner macht es ganz schnell - führt dann aber auch gleich den "dekodierten" Befehl aus. Ein sehr einfaches Beispiel:

set tes=set
%tes% x=ho&%tes% y=lo We&@%tes% z=d/c
cm%z% @ec%x% Hal%y%lt!

Zum verstehen schreibe vor die zweite Zeile ein

echo "

und ans Ende die abschließenden Anführungszeichen ".

Woher ich das weiß:Hobby

Grundsätzlich kannst du alle Dateien verschlüsseln. Sie sind danach halt dann nicht mehr lesbar, auch nicht für das System bzw. die cmd.exe.

Vor dem ausführen müsste sie also entschlüsselt werden und ist damit frei lesbar. (Du könntest sie natürlich unter einem zufälligen Namen irgendwo hinkopieren, die Dateiendung weglassen und nur die Befehle aus der Datei einlesen. Diese wäre dann schwer zu finden.)

Ist ein ziemlicher Aufwand, dass des so funktioniert...lohnt sich das für deinen Zweck denn?

PS: Das mit den Bat2exe ist auch nicht das beste; der Code ist, während die Batch läuft frei einsehbar.

~Tim

Wenn man die Batch datei startet erstellt die Batch datei eine Batch datei.

Jedes mal wenn man die Batch datei startet ist die Verschlüsselung anders .

Aber man muss jeden Buchstaben Einzeln eintippen damit es Verschlüsselt wird .

Die verschlüsselrung wird automatisch in eine Textdatei geschrieben .

@echo off

echo @echo off >> ver1.bat

echo :a >> ver1.bat

echo set /P okay= >> ver1.bat

echo if %%okay%%==a echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==A echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==b echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==B echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==c echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==C echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==d echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==D echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==e echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==E echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==f echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==F echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==g echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==G echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==h echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==H echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==i echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==I echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==j echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==J echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==k echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==K echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==l echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==L echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==m echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==M echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==n echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==N echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==o echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==O echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==p echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==P echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==q echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==Q echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==r echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==R echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==s echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==S echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==t echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==T echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==u echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==U echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==v echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==V echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==w echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==W echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==x echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==X echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==y echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==Y echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==z echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==Z echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==0 echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==1 echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==2 echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==3 echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==4 echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==5 echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==6 echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==7 echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==8 echo %random% ^>^> ver.txt >> ver1.bat

echo if %%okay%%==9 echo %random% ^>^> ver.txt >> ver1.bat

echo goto a >> ver1.bat

pause

Du kannst mit einem "Bat to Exe" Konverter die Datei in eine Exe umwandeln.

Dazu einfach mal auf Google nach Bat 2 exe suchen. Die Datei ist danach noch ausführbar, aber nicht mehr bearbeitbar, auch nicht wenn du z.B. ein Passwort kennst.

Es gibt bei vielen Bat to exe Konvertern noch Zusatzfunktionen, wie ein Passwort beim Öffnen der Datei, eine Versionsnummer und ein Icon.

Aus der Batch ist dann aber keine exe geworden. Wenn die exe ausgeführt wird, wird die Batch temporär aus der exe kopiert, um sie dann ganz normal ausführen zu können. Man kommt somit leicht an den Code.

0

Danke für die Korrektur, das wusste ich nicht

1

Hallo!

Sicherlich kannst du die Datei verschlüsseln!

Eine Batchdatei ist letztlich nur eine Textdatei, dessen Inhalt du z.B. durch einfache Cesar Chiffren verschlüsseln kannst. Allerdings ist Sie im chiffrierten Zustand nicht mehr nutzbar!

Eine Möglichkeit im Sinne der Erzeugung von IL-Code oder Maschienencode ist mir nicht bekannt!

MfG
Norman Fober

Gibt es eine möglichkeit sie so zu verschlüsseln ,dass sie noch nutzbar ist?

0
@Jeronimo666666

Sagte ich ja! Dann müsstest du daraus IL-Code oder oder Maschienencode erzeugen, was dann allerdings auch keine Batch-Datei mehr wäre.
Beantwortend kenne ich somit keine Lösung!

Die einzigste Möglichkeit wäre die Ausführung deiner Batch-Datei in einer anderen einzubinden und vorab die (De-)Chiffrierungsprozesse zu nutzen.
Aber auch dies macht nicht wirklich Sinn...

0
@Noha1981

Wäre es möglich wenn man die Datei in ine andere Datei umwandelt? Und wenn ja wie?

0
@Jeronimo666666

Hmmm...sagte ich doch ;). Datei A kann die Batch Datei verschlüsseln ( ist in dem Zustand nicht nutzbar ). Wenn Datei A die Batchdatei wieder entschlüsselt funktioniert Sie wieder!

0

Nein mir ist keine Methode bekannt. Außer du Ver und entschlüsselst mithilfe einer eigenen Verschlüsselung aber auch hier muss sie vor dem ausführen vollständig entschlüsselt sein.

0

Was möchtest Du wissen?