Script nach beenden löschen Topic is solved
Moderator: jNizM
-
- Posts: 64
- Joined: 18 Feb 2017, 08:39
- Location: Hamburg / Germany
Script nach beenden löschen
Moin,
mal ne Frage und Bitte um Ideen.
Ich habe ein AHK Script als exe, dass bei Ausführung einfach nur ein Netzlaufwerk im Windows-Explorer zu meiner Cloud einrichtet und sich dann wieder schließt.
Ich habe diese exe-Datei "versteckt" in meinem Webspace gespeichert, sodass ich an jedem Rechner der Internet hat per Link schnell und ohne irgendetwas einzurichten Zugriff darauf habe.
Und nicht falsch verstehen, in der Cloud selbst ist natürlich gar nichts sensibles gespeichert (falls mal jemand darüber fällt ...). Ich weiß selbst, dass es unsicher ist, dass ist aber hier auch gar nicht das Thema.
Ich setze diese Datei oft auf fremden Rechnern ein, um schnell und bequem Zugriff auf meine portablen Tools, Batches usw. zu haben, ohne immer einen USB-Stick mitzuschleppen oder ihn dort zu vergessen
Natürlich ist in der exe (die man ja relativ leicht "dekompilieren" kann) in Klarschrift mein Benutzername und das Passwort der Cloud enthalten.
Und es kommt immer mal vor. dass ich zum Abschluss an dem fremden Rechner vergesse, die exe-Datei zu löschen. Das Netzlaufwerk selbst ist ja spätestens beim Neustart von Windows nicht mehr aktiv.
Trotzdem verbleibt die Chance, dass jemand dann an die Clouddaten rankommt (zwar sehr sehr unwahrscheinlich bei meinen Leuten), aber ich möchte dass natürlich am Besten umgehen.
Habe ich Möglichkeiten, die exe irgendwie automatisch zu löschen, sodass auf dem Rechner keine Dateien von mir mehr vorhanden sind? Im Grunde kann das direkt passieren, nachdem sie einmal ausgeführt wurde und das Netzlaufwerk eingerichtet hat.
Aber ich kann ja keinen "Löschbefehl" in die exe selbst legen, solange sie noch aktiv ist.
Meine Idee wäre jetzt:
- in die exe-Datei noch ein 2. AHK-Script zu legen, welches sich beim Start in den Temp-Ordner entpackt und am Ende vom 1. Script gestartet wird. - Die exe wird daraufhin beendet
- Nun startet das 2. Script (mit etwas Wartezeit, damit die exe beendet wurde), das wiederum nur die exe-Datei im Downloadordner löscht.
So verbleibt zwar das 2. Script noch im Temp-Ordner des fremden Rechners, aber da steht ja nix sensibles drin und der Temp-Ordner wird ja auch irgendwann gelöscht, also egal.
BTW: gibt es eine A_Variable für das Download-Verzeichnis eines Rechners oder wie stelle ich sicher, dass das am Rechner hinterlegte Downloadverzeichnis aufgerufen wird zum löschen der exe-Datei?
Habe nur das Gefühl (was typisch wäre) ich denke viel zu kompliziert gerade und mein ganzes Vorhaben geht viel einfacher oder wie würdet ihr es lösen damit die exe gelöscht wird, bzw. keine Spuren mehr verbleiben?
Danke im Voraus
mal ne Frage und Bitte um Ideen.
Ich habe ein AHK Script als exe, dass bei Ausführung einfach nur ein Netzlaufwerk im Windows-Explorer zu meiner Cloud einrichtet und sich dann wieder schließt.
Ich habe diese exe-Datei "versteckt" in meinem Webspace gespeichert, sodass ich an jedem Rechner der Internet hat per Link schnell und ohne irgendetwas einzurichten Zugriff darauf habe.
Und nicht falsch verstehen, in der Cloud selbst ist natürlich gar nichts sensibles gespeichert (falls mal jemand darüber fällt ...). Ich weiß selbst, dass es unsicher ist, dass ist aber hier auch gar nicht das Thema.
Ich setze diese Datei oft auf fremden Rechnern ein, um schnell und bequem Zugriff auf meine portablen Tools, Batches usw. zu haben, ohne immer einen USB-Stick mitzuschleppen oder ihn dort zu vergessen
Natürlich ist in der exe (die man ja relativ leicht "dekompilieren" kann) in Klarschrift mein Benutzername und das Passwort der Cloud enthalten.
Und es kommt immer mal vor. dass ich zum Abschluss an dem fremden Rechner vergesse, die exe-Datei zu löschen. Das Netzlaufwerk selbst ist ja spätestens beim Neustart von Windows nicht mehr aktiv.
Trotzdem verbleibt die Chance, dass jemand dann an die Clouddaten rankommt (zwar sehr sehr unwahrscheinlich bei meinen Leuten), aber ich möchte dass natürlich am Besten umgehen.
Habe ich Möglichkeiten, die exe irgendwie automatisch zu löschen, sodass auf dem Rechner keine Dateien von mir mehr vorhanden sind? Im Grunde kann das direkt passieren, nachdem sie einmal ausgeführt wurde und das Netzlaufwerk eingerichtet hat.
Aber ich kann ja keinen "Löschbefehl" in die exe selbst legen, solange sie noch aktiv ist.
Meine Idee wäre jetzt:
- in die exe-Datei noch ein 2. AHK-Script zu legen, welches sich beim Start in den Temp-Ordner entpackt und am Ende vom 1. Script gestartet wird. - Die exe wird daraufhin beendet
- Nun startet das 2. Script (mit etwas Wartezeit, damit die exe beendet wurde), das wiederum nur die exe-Datei im Downloadordner löscht.
So verbleibt zwar das 2. Script noch im Temp-Ordner des fremden Rechners, aber da steht ja nix sensibles drin und der Temp-Ordner wird ja auch irgendwann gelöscht, also egal.
BTW: gibt es eine A_Variable für das Download-Verzeichnis eines Rechners oder wie stelle ich sicher, dass das am Rechner hinterlegte Downloadverzeichnis aufgerufen wird zum löschen der exe-Datei?
Habe nur das Gefühl (was typisch wäre) ich denke viel zu kompliziert gerade und mein ganzes Vorhaben geht viel einfacher oder wie würdet ihr es lösen damit die exe gelöscht wird, bzw. keine Spuren mehr verbleiben?
Danke im Voraus
Re: Script nach beenden löschen
Am Beispiel von webspace auf GoogleDrive sollte doch die Freigabe eines Folders "nach außen" mit Ausführungsberechtigung genügen? Dabei wäre nicht mal username und password notwendig (lediglich der link sollte dir geläufig sein, ggf per service einkürzen). Zudem wäre damit der Zugang genau auf dieses eine Verzeichnis (mit etwaigen Unterverzeichnissen) beschränkt. Odä??
Re: Script nach beenden löschen Topic is solved
Wie wäre es mit sowas?
Code: Select all
MsgBox, wurde ausgeführt
Run, %comspec% /c del "%A_ScriptFullPath%",,Hide
-
- Posts: 64
- Joined: 18 Feb 2017, 08:39
- Location: Hamburg / Germany
Re: Script nach beenden löschen
@BoBo
Bei meiner Cloud muss ich bei einer Ordner-Freigabe leider auch ein Passwort hinterlegen, um auch schreibenden Zugang zu bekommen.
Den benötige ich schon hin und wieder.
Das war damals auch mein erster Versuch. wäre aber natürlich zu einfach gewesen.
@KHA
Habe es noch nicht getestet, aber kann sich das Script löschen während es ja eigentlich noch aktiv ist beim Löschaufruf? Verstehe es gerade nicht ...
Bei meiner Cloud muss ich bei einer Ordner-Freigabe leider auch ein Passwort hinterlegen, um auch schreibenden Zugang zu bekommen.
Den benötige ich schon hin und wieder.
Das war damals auch mein erster Versuch. wäre aber natürlich zu einfach gewesen.
@KHA
Habe es noch nicht getestet, aber kann sich das Script löschen während es ja eigentlich noch aktiv ist beim Löschaufruf? Verstehe es gerade nicht ...
Merry Crisis and a happy new fear
Re: Script nach beenden löschen
Hallo hier ein Vorschlag von mir:
1. eine Batchdatei wird erzeugt
- beendet sich
Batch: - wartet paar sekunden (T 3) /- löscht dann die AHK (oder Exe, in dem Fall 111.ahk) und dann sich selbst
Vorsicht: Normalerweise landen per DEL gelöschte Dateien nicht im Papierkorb, können aber trotzdem wiederhergestellt werden!!
Wenn man sicher gehen will geht es per batch befehl: copy /y nul 111.ahk, dabei wird die Datei mit nullwerten überschrieben.
1. eine Batchdatei wird erzeugt
- beendet sich
Batch: - wartet paar sekunden (T 3) /- löscht dann die AHK (oder Exe, in dem Fall 111.ahk) und dann sich selbst
Code: Select all
msgbox, 4, Frage, beenden und löschen ?
ifmsgbox, yes
gosub, schreibebatch
else
Exitapp
return
schreibebatch:
stringbatch = `@echo off `n timeout `/T 3 `/nobreak `n del %A_ScriptDir%\111.ahk `n del %A_ScriptDir%\111.bat
Fileappend, %stringbatch%, %A_ScriptDir%\111.bat
i := 0
While !FileExist(A_ScriptDir "\111.bat")
{
i := i + 1
sleep, 200
if i > 20
{
msgbox, 0, Meldung, Es ging beim Schreiben der BAT -Datei was schief
Exitapp
}
}
Run, %comspec% /c ""%A_ScriptDir%\111.bat"", , hide
Exitapp
return
Wenn man sicher gehen will geht es per batch befehl: copy /y nul 111.ahk, dabei wird die Datei mit nullwerten überschrieben.
-
- Posts: 64
- Joined: 18 Feb 2017, 08:39
- Location: Hamburg / Germany
Re: Script nach beenden löschen
Auch ein interessanter Ansatz.
Das schaue ich mir morgen beides mal genauer an.
Das schaue ich mir morgen beides mal genauer an.
Merry Crisis and a happy new fear
Re: Script nach beenden löschen
Wichtig:Filzfrosch wrote: ↑05 Jul 2021, 15:32
@KHA
Habe es noch nicht getestet, aber kann sich das Script löschen während es ja eigentlich noch aktiv ist beim Löschaufruf? Verstehe es gerade nicht ...
1.
Das Script darf nicht persistent sein.
2.
Run, %comspec% /c del "%A_ScriptFullPath%",,Hide muss in die letzte Zeile des Scripts eingefügt werden.
D.h. die letzte Zeile wird ausgeführt, das Script startet die Windows-Eingabeaufforderung und beendet sich.
Windows-Eingabeaufforderung löscht die exe Datei.
Re: Script nach beenden löschen
[AHK] v2.0.5 | [WIN] 11 Pro (Version 22H2) | [GitHub] Profile
-
- Posts: 64
- Joined: 18 Feb 2017, 08:39
- Location: Hamburg / Germany
Re: Script nach beenden löschen
@KHA
Habe es gerade erfolgreich getestet, klappt super!
Und ist ohne die MSGBox nur eine Zeile zusätzlicher Code
Genau so werde ich es jetzt machen.
Dank auch den anderen, für die Vorschläge. Ich sammele so etwas immer, um es dann vlt. für andere Projekte zu verwenden.
Ihr seid klasse hier!
Habe es gerade erfolgreich getestet, klappt super!
Und ist ohne die MSGBox nur eine Zeile zusätzlicher Code
Genau so werde ich es jetzt machen.
Dank auch den anderen, für die Vorschläge. Ich sammele so etwas immer, um es dann vlt. für andere Projekte zu verwenden.
Ihr seid klasse hier!
Merry Crisis and a happy new fear
-
- Posts: 26
- Joined: 30 Jan 2020, 21:10
Re: Script nach beenden löschen
Huhu Filzfrosch,
falls du noch andere Ideen suchst...
So habe ich das mal gelöst... muss ans Ende deines Scriptes:
Das löscht dann aber die Datei ohne irgendwelche Fragen...
Liebe Grüße
falls du noch andere Ideen suchst...
So habe ich das mal gelöst... muss ans Ende deines Scriptes:
Code: Select all
FileAppend,
(
@echo off
C:\Windows\System32oderWoAuchImmerDeinePingExeLiegt\ping.exe -n 2 localhost> nul
del "Name deiner.exe" /F
del "temp.bat" /F
exit
), temp.bat
Run, temp.bat, , Hide
ExitApp
Liebe Grüße