Hallo,
kann ich eigentlich ein Programm im Arbeitsspeicher so isolieren und einfrieren, dass es praktisch nicht läuft und nicht im Arbeitsspeicher ist? Wenn das passiert ist, kann ich das Programm sozusagen auftauen ohne es neu zu starten? Ich möchte nämlich ein bestimmtes Programm, wovon ich nur eine Instanz laufen lassen kann mehrmals ausführen. Es scheint aber, dass das Programm bei dem 2. Start nach der exe im Arbeitsspeicher sucht und wenn es sie findet sich beendet.
kann ich eigentlich ein Programm im Arbeitsspeicher so isolieren und einfrieren, dass es praktisch nicht läuft und nicht im Arbeitsspeicher ist? Wenn das passiert ist, kann ich das Programm sozusagen auftauen ohne es neu zu starten? Ich möchte nämlich ein bestimmtes Programm, wovon ich nur eine Instanz laufen lassen kann mehrmals ausführen. Es scheint aber, dass das Programm bei dem 2. Start nach der exe im Arbeitsspeicher sucht und wenn es sie findet sich beendet.
Tag ZockTempel,
klingt nach nem netten Problem, allerdings wirds unter Windows unlösbar sein, dafür müsstest du das Programm vom RAM in die Auslagerundsdatei (bzw. unter Linux Swap-Partition) kopieren, was unter Windows meines erachtens nicht möglich ist, das OS kümmert sich um solche Dinge.
Mal wieder Vorteil Linux.
Gruß,
Marcel
klingt nach nem netten Problem, allerdings wirds unter Windows unlösbar sein, dafür müsstest du das Programm vom RAM in die Auslagerundsdatei (bzw. unter Linux Swap-Partition) kopieren, was unter Windows meines erachtens nicht möglich ist, das OS kümmert sich um solche Dinge.
Mal wieder Vorteil Linux.
Gruß,
Marcel
Mal stark vereinfacht:
Wenn ich heute als Programmierer ein Programm erstelle, das ich nur in einer Instanz erlauben möchte (z.B aus Sicherheitsgründen), so werde ich beim Starten automatisch abtesten, ob bereits eine Instanz läuft. Dabei spielt es bei der Rückgabe keine Rolle, ob das Programm 'steht' oder nicht. Das Handle für dieses Programm oder z.B. ein Objektzeiger auf die geladene Instanz einer öffentlichen Klasse meines Programmes ist solange vorhanden, wie das Programm selbst eben läuft. Deshalb werde ich als Programmierer in diesem Fall einfach daraufhin die bereits laufende Instanz aktivieren (wenn es gewollt ist) und das Duplikat stillschweigend beenden. Fertig und aus.
Allerdings kann man ja den vom jeweiligen Programm belegten und genutzten Speicher finden und browsen. Egal ob nun Linux oder Win. So funktionieren z.B. Trainer für Spiele, in denen Geldbeträge oder bestimmte Programmzustände manipuliert werden. Wenn man weiss, wo was steht, lässt sich eigentlich alles kopieren, speichern und später notfalls wieder einsetzen. Beiträge gibts dazu im Internet wie Sand am Meer. Sicher lassen sich bestimmte Bereiche nicht so einfach vergewaltigen - aber das dient eher der Sicherheit.
@ZockTempel:
Es ist alles etwas vereinfacht, aber Du solltest da mit Deinen Bordmitteln wenig Glück haben. Ich weiss ja nicht, was genau Du bezweckst. Vielleicht hilfst Du uns ja mal mit ein paar Infos weiter...
Wenn ich heute als Programmierer ein Programm erstelle, das ich nur in einer Instanz erlauben möchte (z.B aus Sicherheitsgründen), so werde ich beim Starten automatisch abtesten, ob bereits eine Instanz läuft. Dabei spielt es bei der Rückgabe keine Rolle, ob das Programm 'steht' oder nicht. Das Handle für dieses Programm oder z.B. ein Objektzeiger auf die geladene Instanz einer öffentlichen Klasse meines Programmes ist solange vorhanden, wie das Programm selbst eben läuft. Deshalb werde ich als Programmierer in diesem Fall einfach daraufhin die bereits laufende Instanz aktivieren (wenn es gewollt ist) und das Duplikat stillschweigend beenden. Fertig und aus.
Allerdings kann man ja den vom jeweiligen Programm belegten und genutzten Speicher finden und browsen. Egal ob nun Linux oder Win. So funktionieren z.B. Trainer für Spiele, in denen Geldbeträge oder bestimmte Programmzustände manipuliert werden. Wenn man weiss, wo was steht, lässt sich eigentlich alles kopieren, speichern und später notfalls wieder einsetzen. Beiträge gibts dazu im Internet wie Sand am Meer. Sicher lassen sich bestimmte Bereiche nicht so einfach vergewaltigen - aber das dient eher der Sicherheit.
@ZockTempel:
Es ist alles etwas vereinfacht, aber Du solltest da mit Deinen Bordmitteln wenig Glück haben. Ich weiss ja nicht, was genau Du bezweckst. Vielleicht hilfst Du uns ja mal mit ein paar Infos weiter...
Ich möchte einfach den oben beschriebenen Sachverhalt umgehen, aber das scheint ja unmöglich zu sein. Und wenn man das programm decompiled (dann die blockierenden Einstellungen entfernen; kann nur scriptsprachen, würde das gehen)? Würde man wahrscheinlich gegen jegliche c-rechte verstoßen, und das würde Nils mit seinem Katzengrill oder dergleichen hier beenden ;)
Das eher weniger. Aber es lohnt den Aufwand nicht. Der ist bei gut gestrickten Programmen nämlich ungefähr der gleiche, wie das Aufrufen der allseits beliebten Starforce-DLL zu umgehen bzw. zu überspringen. Theoretisch ja, praktisch nö. Nopen bis der Arzt kommt. Gute Nacht...
Schilder mal, was Du vorhast und tu nicht so geheimnisvoll...
Schilder mal, was Du vorhast und tu nicht so geheimnisvoll...
Ich wollte ursprünglich schauen ob eine bestimmte Software, die ich nicht weiter nennen möchte das es a unwichtig ist und b vll hier nicht akzeptiert wird, in dieser Hinsicht sicher ist. Aber meine Frage ist schon längst beantwortet, da es anscheinend nur mit größtem Aufwand möglich ist. Also ist die Software sicher und mein job ist erledigt.
Logge dich ein um einen Beitrag zu schreiben.