Batch unlesbar aber ausführbar machen?

10 Antworten

Nicht wirklich.

Man könnte es in eine Exe packen, aber das mögen Virenscanner nicht so gerne.

Oder Du baust ein "normales" Programm und startest von da einen cmd-Prozess mit passendem Befehl. Das kann man so aufziehen, dass man am Ende keinen Unterschied sieht, aber vermutlich ist das dann das Gleiche, wie wenn man "Batch-to-Exe"-Tools nutzt, das weiß ich nicht.
Ganz sicher bist Du damit aber nicht, es gibt Tools, mit denen man die Texte in einem Programm auslesen kann und da wäre dann auch dein Script mit dabei.
Man könnte zwar jetzt mit umfangreichen Verschleierungs-Tricks arbeiten, aber auch da gibt's am Ende einen Punkt, ab dem das Script im RAM steht und man kann es auslesen.

Also nein, verbergen kann man es nicht. Man kann es hinter komplexeren Mechanismen "verstecken", aber ganz verhindern, dass es jemand herausfindet, geht technisch nicht.

Das "sicherste" wäre, wenn Du ohne CMD ein Programm schreibst, das nativ kompiliert wird, dann dürfte es wohl am ekligsten werden, die Funktionen herauszufinden.

damit meine tricks auch tricks bleiben...

🤣Ich hätte mir eben fast in die Hose gepinkelt... Sorry, aber der war wirklich zu witzig...

Was könnte jemand wie Du für geheime Tricks beherrschen..

Ich möchte Dir wirklich nicht zu nahe treten, aber vor nichtmal einem Monat musstest Du noch fragen wie man die Existenz einer Datei feststellen kann.

Es soll ja Savants geben, welche eine Sprache innerhalb von 2 Wochen lernen.

Bei Batch dürfte das nichtmal dem größten Genie gelingen. Batch ist eine gewachsene "Programmiersprache" , es gibt soviele Regeln und Ausnahmen von den Regeln und Ausnahmen von den Ausnahmen, das selbst Leute wie ich , gelegentlich auf "Neues" stoßen. Ich habe inzwischen eine stattliche Dokumentation über diverse Anomalien, welche aber durchaus nützlich sein könnten.

Suche einfach mal unter dem Tag "batch-trick" , dort verarbeite ich gelegentlich auch derartige Anomalien.

Ich persönlich zeige gerne meine Tricks. Ein gewöhnlicher Nutzer blickt ohnehin nach einigen Zeilen nicht mehr durch. Und selbst ich würde mich nach gewisser Zeit fragen , was die eine oder andere Operation bewirken soll, wenn ich sie nicht ausgiebig kommentiert hätte.

Ein Fachmann kratzt sich meist am Kopf, ähm ja, das war mir neu ... Zugegeben gerade solche Reaktionen schmeicheln meinem Ego und sind wohl der Grund weshalb ich tue, was ich tue... (das hält die Graue Birne fit)

Es gibt keine wirkliche Möglichkeit den Inhalt einer Batch zu verbergen.  

Ich hätte durchaus Möglichkeiten um irgendwelche Verschleierungen einzubauen, aber genau dies, weckt Skepsis und schädigt Vertrauen. 

Software ist Vertrauenssache und wenn jemand versucht etwas zu verbergen, frage ich mich nach dem Warum. 

Davon abgesehen sind solche "Nebelkerzen" leicht zu knacken. Alles was ausgeführt werden muss, muss seinen Code irgendwann preisgeben....

Wenn Du nichts Böses im Schilde führst, zeige stolz Deinen Code. 

Es gibt nichts, das nicht schon tausende vor dir gedacht haben.

Und irgendwo in Brasilien oder Sibirien oder China sitzt ein Programmierer, der genauso tickt wie ich... bei 7 mrd Menschen ist die Wahrscheinlichkeit größer 0

Was ich nicht denke, denkt ein anderer...

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren
aesiv  10.06.2020, 19:19

Bitte nicht einpinkeln! ;)

1
Frameworks 
Fragesteller
 10.06.2020, 19:50

das war aber auch ironisch gemeint mit dem witz denn wer so was fragt kriegt auch eine ähnlich qualitative antwort zurück :D

0

Das ist unmöglich, aber du kannst die Batch-Datei mit einem Wrapper in eine EXE-Datei verpacken.

Das ist zwar Igittipfui und die meisten Antivirensoftwaren werden hyperventilieren, aber grundsätzlich sollte das funktionieren.

Oder du lernst gleich eine "richtige" kompilierbare Programmiersprache.

Und warum? Damit andere Leute nicht wissen, was sie da eigentlich ausführen?

Oder aus Sicherheitsbedenken, weil da irgendwas geheimes drin steht? Da solltest du deinen Aufbau überdenken.

Woher ich das weiß:Berufserfahrung – Softwareentwicklerin

du bist ein komiker .

egal was du anstellst , sobald du es als comandline ausführst kann man es sehen . die kommandos müssen ja ausgeführt werden .

aber keine angst du kannst ein obfuscate nehmen und naja , es unleserlicher machen

https://www.google.com/search?client=firefox-b-d&q=obfuscate+batch+file

Frameworks 
Fragesteller
 10.06.2020, 18:16

ware schon auf einigen dieser seiten doch verstehe nicht wie ich diesen code verwenden soll.

0
RakonDark  10.06.2020, 18:24
@Frameworks

mit welchem tool kommst du den nicht klar ?

einigen dieser seiten

ist halt keine aussage . viele sind viele und sie sind halt nciht alle gleich

0
RakonDark  10.06.2020, 19:03
@Frameworks

ok , du machst folgendes :
du erstellst eine Datei z.b. obfuscate.bat mit dem code

@echo off
if "%~1"=="" exit /b
if /i "%~x1" neq ".bat" if /i "%~x1" neq ".cmd" exit /b
for /f %%i in ("certutil.exe") do if not exist "%%~$path:i" (
  echo CertUtil.exe not found.
  pause
  exit /b
)
>"temp.~b64" echo(//4mY2xzDQo=
certutil.exe -f -decode "temp.~b64" "%~n1___%~x1"
del "temp.~b64"
copy "%~n1___%~x1" /b + "%~1" /b

danach startest du via cmd das script und dahinter in anführungstrichen die datei die du umwandeln willst .

>obfuscate.bat "meinedatei.bat"

danach hast du eine datei : meinedatei___.bat .

sieht dann nach chinesisch aus ist aber mit einem hexeditor lesbar .

der obere code ergibt dann

挦獬਍敀档景൦椊┢ㅾ㴢∽•硥瑩⼠ൢ椊椯∠縥ㅸ•敮ⁱ⸢慢≴椠椯∠縥ㅸ•敮ⁱ⸢浣≤攠楸⁴戯਍潦⁲是┠椥椠∨散瑲瑵汩攮數⤢搠晩渠瑯攠楸瑳∠┥⑾慰桴椺•ന 攠档敃瑲瑕汩攮數渠瑯映畯摮മ 瀠畡敳਍†硥瑩⼠ൢ⤊਍∾整灭縮㙢∴攠档⡯⼯洴㉙穸兄㵯਍散瑲瑵汩攮數ⴠ搭捥摯⁥琢浥⹰找㐶•┢湾弱彟縥ㅸഢ搊汥∠整灭縮㙢∴਍潣祰∠縥ㅮ彟╟硾∱⼠⁢┢ㅾ•戯
0