Script nach beenden löschen Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Filzfrosch
Posts: 64
Joined: 18 Feb 2017, 08:39
Location: Hamburg / Germany

Script nach beenden löschen

Post by Filzfrosch » 05 Jul 2021, 10:58

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 :D

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

BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Script nach beenden löschen

Post by BoBo » 05 Jul 2021, 12:41

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ä??

KHA
Posts: 403
Joined: 21 Aug 2018, 11:11

Re: Script nach beenden löschen  Topic is solved

Post by KHA » 05 Jul 2021, 13:16

Wie wäre es mit sowas?

Code: Select all

MsgBox, wurde ausgeführt
Run, %comspec% /c del "%A_ScriptFullPath%",,Hide

Filzfrosch
Posts: 64
Joined: 18 Feb 2017, 08:39
Location: Hamburg / Germany

Re: Script nach beenden löschen

Post by Filzfrosch » 05 Jul 2021, 15:32

@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 ...
Merry Crisis and a happy new fear

Ahk_fan
Posts: 237
Joined: 31 Aug 2018, 14:34
Contact:

Re: Script nach beenden löschen

Post by Ahk_fan » 05 Jul 2021, 16:20

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

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
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.
regards,
AHK_fan :)
https://hr-anwendungen.de

Filzfrosch
Posts: 64
Joined: 18 Feb 2017, 08:39
Location: Hamburg / Germany

Re: Script nach beenden löschen

Post by Filzfrosch » 05 Jul 2021, 17:14

Auch ein interessanter Ansatz.
Das schaue ich mir morgen beides mal genauer an.
Merry Crisis and a happy new fear

KHA
Posts: 403
Joined: 21 Aug 2018, 11:11

Re: Script nach beenden löschen

Post by KHA » 06 Jul 2021, 06:04

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 ...
Wichtig:
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.

User avatar
jNizM
Posts: 3183
Joined: 30 Sep 2013, 01:33
Contact:

Re: Script nach beenden löschen

Post by jNizM » 06 Jul 2021, 06:19

[AHK] v2.0.5 | [WIN] 11 Pro (Version 22H2) | [GitHub] Profile

Filzfrosch
Posts: 64
Joined: 18 Feb 2017, 08:39
Location: Hamburg / Germany

Re: Script nach beenden löschen

Post by Filzfrosch » 06 Jul 2021, 06:30

@KHA

Habe es gerade erfolgreich getestet, klappt super!
Und ist ohne die MSGBox nur eine Zeile zusätzlicher Code :thumbup:
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

UmbrellaCorp
Posts: 26
Joined: 30 Jan 2020, 21:10

Re: Script nach beenden löschen

Post by UmbrellaCorp » 28 Jul 2021, 12:22

Huhu Filzfrosch,

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
Das löscht dann aber die Datei ohne irgendwelche Fragen...

Liebe Grüße :)

Post Reply

Return to “Ich brauche Hilfe”