da muss ich passen!!! sehr schwer argh
-
hallo erstmals!
ich bin mal wieder an die grenzen meiner programmierkenntnis angelangt:
ich stehe vor folgendem problem:habe eine gecodete datei (prog.exe).
diese datei macht folgendes, wenn sie ausgeführt wird:
- sie kopiert sich auf c:wenn ich sie jedoch aufrufe, springt der compiler an und meldet mir das ein kopieren nicth möglich ist, da die datei im moment verwendet wird!!!!
weiß jemand ob ich da was dagegen tun kann?habe es auc hschon mit try/catch versucht, ging nicht, kann auch sein dass ich try/catch nicht richtig verwendet habe..
naja danke für eure hilfe
-
Die Datei wird ausgeführt, also wird sie vom Betriebssystem gesperrt. Der herkömmliche Weg ist also (unter win) nicht unbedingt möglich. Hab mal spontan das hier gefunden, ein forcedelete Tool, vielleicht findest du darin einen möglichen Ansatz
-
nein aber könntest du mir eventuell erklären
wie ich das mit try/catch/finally probieren
könnte?mfg
-
johmm schrieb:
nein aber könntest du mir eventuell erklären
wie ich das mit try/catch/finally probieren
könnte?mfg
Das Exception Handling löst dein Problem ja nicht, sondern hilft dir nur bei der Fehlerbehandlung
Allgemein macht man immer sowas:
try { // Hier der Code der schiefgehen könnte } catch(Exceptionart e) { // Hier noch zusehen das dein Programm nicht in nen undefinierten Zustand bleibt } finally { // Hier kommt Code rein der auf jeden fall noch ausgeführt werden muss(Streams schließen oder so) }
Wie BloodLord schon gesagt hat, wird die Datei immer gesperrt beim Ausführen. Jetzt gibts halt solche Tools die gesperrte Dateien wieder freigeben können, aber die machen auch nichts anderes als den Prozess beende der darauf zugreift. Sprich wenn du deine eigene Exe entsperren willst ists nen Selbstmord, wenns überhaupt geht. Warum muss sich denn das Programm selber kopieren, gibt bestimmt ne andere Lösung dafür.
-
wie wärs, wenn du nicht die systemspeziefische kopierfunktion nutzt, sondern einfach die exe komplett in den speicher liest und dann eine neue datei erstellst und den speicherinhalt wieder in die datei schreibst. sollte eigentlich klappen. zumindest hat man lesezugriff auf verwendete programme.
P.S.: Wozu das ganze überhaupt? Siehst mir stark nach nem n1 1337 h4ck aus...
-
weas meinst du mit 1337 h4ack???
hast du mir ein tutorial wie das mit dem Speicher geht?mfg
-