Autor Beitrag
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Di 13.03.07 17:48 
Hallöle.

Ich würde gerne ein laufendes Programm "einfrieren". :mrgreen:

So wie ich mir das mit meinem beschränkten API- bzw. Windows-Innereien-Wissen vorstelle, sollte es doch möglich sein, ein in dem Arbeitsspeicher geladenes (natürlich relativ kleines) Programm einzufrieren und irgendwie in eine Datei zu speichern und später irgendwie wieder aufzutauen und wieder einzubinden. :party:

Überhaupt möglich? Bitte klärt mich auf. ;)

MfG,
WeBBy

_________________
Steht der Bauer im Gemüse, hat er später grüne Füße.
Maweki
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 197

Ubuntu Linux
Lazarus
BeitragVerfasst: Mi 14.03.07 00:31 
Also afaik ist das mit Delphi wohl kaum sinnvoll moeglich. Die Vorteile, die uns der Delphi-Speichermanager und der "Delphi-Way" bieten, verhindern es, effektiv in fremdem Speicher rumzuspielen. In Delphi ist das Arbeiten mit Pointern, explizites, implizites typecasten und was nich alles wichtig ist, bei sowas, nahezu unmoeglich sinnvoll umzusetzen.

Dafuer wuerde ich C empfehlen. Und selbst dann duerfte es schwierig werden, das Programm in seinem Urspruenglichen Stand wieder in den Speicher zu setzen. Du muesstest ein eigenes Programm dafuer erstellen, was so viel Speicher beantragt, sich sekbst einfriert sodass du den Speicher ueberschreiben kannst und dann mit der weiterausfuehrung des neuen Programmcodes vortfaehrt. Ohne naehere Assemblerkenntnisse ist das wiederaufrufen sicherlich kaum moeglich.

Gruesse
Das Maweki
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 14.03.07 00:39 
user profile iconMaweki hat folgendes geschrieben:
Also afaik ist das mit Delphi wohl kaum sinnvoll moeglich. Die Vorteile, die uns der Delphi-Speichermanager und der "Delphi-Way" bieten, verhindern es, effektiv in fremdem Speicher rumzuspielen.

Das hat nichts mit dem Delphi-Speichermanager zu tun, sondern mit der Windows Speicherverwaltung. Jeder Prozess hat seinen eigenen Adressbereich und in den Adressbereich eines anderen Programmes zu manipulieren ist so nichtohne weiteres möglich, was auch gut so ist.

@WeBsPaCe: Denk mal darüber nach, was es für die Sicherheit bedeuten würde, wenn das möglich wäre. Dann könnte icj a einfach so mal den Firewall, die Antivirensoftware oder sonstige sicherheitrelevante Prozesses einfrieren. Dies wäre eine Sicherheitslücke ohne gleichen.
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 14.03.07 01:25 
Du willst also ein bißchen HIBERNATION?

Da bin ich aber auf die Lösung neugierig - falls die jemand heraus findet!
\\BBG//
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21

Win XP Pro SP2, Win 2000 Pro SP4
Delphi 7 Enterprise
BeitragVerfasst: Do 15.03.07 16:58 
Du könntest es ja wie ein Debugger machen; einen Breakpoint setzten.

_________________
"Irren ist menschlich. Aber wenn man richtig Mist bauen will, braucht man einen Computer."
(Dan Rather, CBS-Fernsehreporter)
WeBsPaCe Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Fr 16.03.07 17:15 
Tach.

Nu ja, vielen Dank für eure Antworten auf jeden Fall mal. Lass ich's halt. ;)

user profile iconhathor hat folgendes geschrieben:
Du willst also ein bißchen HIBERNATION?

Da bin ich aber auf die Lösung neugierig - falls die jemand heraus findet!

Was willst du denn damit sagen?!

user profile icon\\BBG// hat folgendes geschrieben:
Du könntest es ja wie ein Debugger machen; einen Breakpoint setzten.

Das versteh ich nicht, wie meinst du das?


Also danke nochmal, cu,
WeBBy

_________________
Steht der Bauer im Gemüse, hat er später grüne Füße.
MSC
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 63

Win XP Home, Win Vista Buisiness
Delphi 7 Enterprise
BeitragVerfasst: Fr 16.03.07 18:59 
Titel: RE: Programm einfrieren
@Luckie:
Es gibt ein Programm namens "Process Explorer" (so ne Art fortgeschrittener Taskmanager)
das kann u.A. auch Prozesse einfrieren.
Und es ist keine Sicherheitslücke, da sich systemwichtige Prozesse nicht einfrieren lassen!
Der Link:
www.microsoft.com/te...ternals/default.mspx
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 16.03.07 21:08 
user profile iconWeBsPaCe hat folgendes geschrieben:
Tach.

user profile iconhathor hat folgendes geschrieben:
Du willst also ein bißchen HIBERNATION?

Da bin ich aber auf die Lösung neugierig - falls die jemand heraus findet!

Was willst du denn damit sagen?!

WeBBy


WINDOWS macht das, was Du mit EINEM Programm machen willst, mit der ganzen WINDOWS-Session, wenn es HIBERNATION macht - es lagert den ganzen Speicher auf der Festplatte aus und schaltet den PC aus.
Nach dem erneuten Booten ist die ganze WINDOWS-Session wiederhergestellt.
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Fr 16.03.07 22:31 
nee, da hat er schon recht. Da gibts wirklich ein Tool, mit dem man ganze Prozesse einfrieren kann.

Dir bleiben jetzt 2 Möglichkeiten:
  1. Sysinternals war früher eine eigenständige Firma und die hatten, soweit ich weiß, früher auf ihrer Website auch die Quelltexte zum runterladen. Also entweder du findest die Quelltexte noch irgendwo im Internet, oder du
  2. steuerst einfach aus deinem Delphi-Programm das Tool von Windows an.

_________________
In the beginning was the word.
And the word was content-type: text/plain.
WeBsPaCe Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: So 18.03.07 17:49 
Tach.

user profile iconhathor hat folgendes geschrieben:
WINDOWS macht das, was Du mit EINEM Programm machen willst, mit der ganzen WINDOWS-Session, wenn es HIBERNATION macht - es lagert den ganzen Speicher auf der Festplatte aus und schaltet den PC aus.
Nach dem erneuten Booten ist die ganze WINDOWS-Session wiederhergestellt.

Ah. Klang etwas provokativ, konnte damit nichts anfangen. ;)

@user profile iconmatze und @user profile iconMSC:
Komm irgendwie per Google nicht weiter. WIe kann ich denn damit Prozesse einfrieren?!

MfG,
WeBBy

_________________
Steht der Bauer im Gemüse, hat er später grüne Füße.
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: So 18.03.07 18:14 
indem du dich mal auf der Sysinternals Seite ein bisschen umschaust:

www.microsoft.com/te...reads/PsSuspend.mspx

_________________
In the beginning was the word.
And the word was content-type: text/plain.
WeBsPaCe Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: So 18.03.07 18:17 
user profile iconmatze hat folgendes geschrieben:
indem du dich mal auf der Sysinternals Seite ein bisschen umschaust:

www.microsoft.com/te...reads/PsSuspend.mspx

Achso. Mist. ;) Dachte, das Programm, das das kann ist der Process Monitor. Deshalb hab ich dazu nichts gefunden.

Danke. Ich schau's mir an. :)

MfG,
WeBBy

_________________
Steht der Bauer im Gemüse, hat er später grüne Füße.
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: So 18.03.07 18:22 
Einfrieren geht ohne Probleme (SuspendThread)
Abspeichern sollte auch nciht das Problem werden.

Das enizge was Probleme macht ist das wiederaufnehmen, denn alle Handles werden (Winn das Programm geschlossen wurde) von Windows freigegeben -> D.h. man müsste diese neu erzeugen (z.b. alle Fenster usw)

Das Problem wäre aber bestimmt (irgendwie) doch lösbar.

PS: natürlich kann man die Prozesse alle einfrieren, warum ist das denn ein Sicherheitsproblem. Das wäre nur eins wenn man es als eingeschränkten Nutzer für Prozesse machen könnte, die nicht demjenigen gehören.

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit