Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » taskmanager...

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
26.08.2004, 18:39 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Hans
und was heisst das übersetzt? total unmöglich oder kann man dem prozess des eigenen proggies gleich mehr rechte beim start geben?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
26.08.2004, 20:14 Uhr
Hans
Library Walker
(Operator)


Hi Windalf,

das heisst übersetzt, das Du aus Deinem Programm heraus erst mal nix weiter machen kannst, als auf der Ebene zugelassen ist, auf der Dein Programm läuft. Wenn Du dagegen aber einen Treiber hast, der auf unterster Systemebne läuft, also da, wo ein Taskswitcher von der Logik her hin gehört, kannst Du alles machen.
Du weist doch hoffentlich ein wenig über die Struktur der x86er Prozessoren bescheid, oder?
Falls nicht, hier mal ganz kurz: Intel hat da dieses Ringmodell definiert, und in der Prozessorhardware eingebaut. Da gibt es 4 Ringe (0..3) auf denen jeweils bestimmte Aktionen erlaubt sind, oder nicht. Ring 0 ist der unterste, auf dem alles erlaubt ist, d.h. da darf jeder Befehl ausgeführt werden. Ring 3 ist der, auf dem die meisten Einschränkungen gelten. - d.h. da ist es z.B. nicht erlaubt, bestimmte Befehle auszuführen. Ein BS soll normalerweise auf den Ringen 0 bis 2 Angeordnet sein, Anwendungsprogramme sollen auf Ring 3 laufen. Treiber auf Ring 0 oder 1. So ungefähr hab ich das jedenfalls mal gelesen. AFAIK nutzt Windows aber nur die Ringe 0 und 3 und die Zwischenebenen sind ungenutzt.
Nähere Infos dazu wirst Du wohl nur in der einschlägigen Literatur zur Assemblerprogrammierung oder zur Treiberentwicklung finden. - Oder auf entsprechenden Homepages, wie z.B. bei Intel oder AMD.

Hans


P.S. um meinem Titel gerecht zu werden...



Das Assembler-Buch von T.E. Podschun
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 26.08.2004 um 20:18 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
26.08.2004, 20:44 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Du weist doch hoffentlich ein wenig über die Struktur der x86er Prozessoren bescheid, oder?


öhm nein
aber deine ausführungen waren ja schonmal ganz aufschlussreich...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
05.09.2004, 14:59 Uhr
Spacelord
Hoffnungsloser Fall


Für die Systemprozesse bekommt man mit Debugrechten einen Handle der TerminateProcess zulässt.Allerdings braucht der User die Rechte um das Debugflag setzen zu dürfen .
Ich bastel gerade an nem bisschen Code mit dem man,den zu tötenden,Prozess mit ExitProcess beenden kann.
Ist auf jeden Fall schonmal etwas sauberer als TerminateProcess.....
In letzter Zeit wird öfter gefragt wie man irgendwelche Prozesse zerblasen kann als alles andere.
Vielleicht sollten die Buchautoren den neuen Bedürfnissen Rechnung tragen und das gute alte "Hallo Welt!" zu den Akten legen?
Stattdessen wird dann in Zukunft das erste Programm reißerische Titel wie "Goodbye Winlogon" oder "Stirb svchost,stirb!!" tragen .
Naja,wenn ich mit meinem Code mal soweit bin schreib ich vielleicht mal nen Beitrag darüber.
Wir weisen hier zwar ständig darauf hin dass TerminateProcess unschön ist aber ne wirkliche Alternative,um einen fremden Prozess halbwegs sauber zu beenden,gibt es irgendwie nicht.Naja,vielleicht WM_CLOSE,aber was macht man dann bei fensterlosen Prozessen?

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.

Dieser Post wurde am 05.09.2004 um 15:00 Uhr von Spacelord editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
05.09.2004, 18:24 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Naja,wenn ich mit meinem Code mal soweit bin schreib ich vielleicht mal nen Beitrag darüber


na hoffentlich nicht nur vielleicht
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
05.09.2004, 22:09 Uhr
Hans
Library Walker
(Operator)


Hi,
hier jetzt mal eine zum Teil unausgegorene Idee, weil ich mich noch nicht so sehr mit Systemprogrammierung unter Windows beschäftigt habe...
Ich hab eben mit dem Programm "DLL Show" festgestellt, das alle laufenden Prozesse auf eine DLL namens "kernel32.dll" zugreifen. Wenn man sich jetzt also auf Systemebene begibt, und sich in diese DLL rein hängt, sollte es doch möglich sein, einen Prozess sauber aus dem System zu entfernen, so das keinerlei tote Resourcen zurück bleiben...

Hans

P.S. die meissten Speicherschutzverletzungen, wegen der mir schon verschiedene Programme vom System abgwürgt wurden, treten in dieser DLL auf: "Das Programm XXX erzeugte eine unerlaubten Speicherzugriff in Modul kernel32.dll"
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 05.09.2004 um 22:25 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: