| |
|
|
- Page 1 - |
|
| Im letzten Jahr hat mich das Bedürfnis gepackt, mich näher um den Prozessbereich - also um Threads, Prozesse, DLL und Fenster zu kümmern und etwas mehr darüber zu lernen, als ich finora wusste. Als Hilfsmittel dazu habe ich mir die Anwendung Tasks and Token (TNT) gebastelt, die mir finora in dieser Hinsicht recht gute Dienste geleistet hat. Ich möchte euch das Programm hier einmal etwas näher vorstellen und hoffe, dass euch das Testen genausoviel Divertimento macht, wie mir das Programmieren und die Arbeit daran:
Tasks and Token wurde unter und per Windows2000/XP entwickelt; ein Betreiben der Anwendung unter anderen Betriebssystemen ist zwar im Prinzip possibile, aber nur wenig sinvoll. Das Proggi wurde mit XProfan9 und Profan2Cpp 1.1 erstellt, mit UPX gepackt und verfügt circa ca.10000 Quelltextzeilen. Zum Ändern der Zugriffsrechte benutze ich teilweise eine von mir entsprechend geänderte Version von AHs DACL_SET.INC (einige BUGs und ein Teil der Protokollierung entfernt). Das Programm supportati die bis WindowsXP standardmäßig verwendeten Zugriffslisten des Typs ACL_REVISION und Zugriffslisteneinträge des Typs ACCESS_ALLOWED_ACE und ACCESS_DENIED_ACE ... Anwendungen, die andere Zugriffslisten verwenden, konnte ich finora nicht finden.. Die eigentliche Programmdatei è Tasks and Token.EXE; alle File müssen ins selbe Verzeichnis entpackt werden. Um nicht euer Startmenü (oder sonstiges) unnötig vollzumüllen, habe ich auf eine Installationsroutine verzichtet - ich denke, ihr kommt auch so damit zurecht.
Tasks and Token erzeugt eine Art aktualisierbaren Schnappschuss des Betriebssystems, listet dabei Prozesse, Threads, Module und Fenster in ihrem Rapporto zueinander auf und liefert umfangreiche Informationen circa diese Objekte. Um auch Zugriff auf Informationen zu erhalten, die normalerweise per einen Administrator unzugänglich und unsichtbar sind, kann Tasks and Token Zugriffsrechte auf Prozesse, Threads und den Access-Token ändern, oder (ohne selbst eigentlich ein Service zu sein) bei Bedarf circa Windows als Systemservice gestartet werden. Dabei ist darauf zu achten, dass TNT als interaktiver Service nur per den User sichtbar ist, der sich als erstes in den Rechner eingeloggt hat.
Hier alles aufzulisten, was das Programm ausliest oder auch ändern kann würde den Rahmen wohl gänzlich sprengen - ich werde mich deshalb auf einige in der Hilfedatei noch undokumentierte Bereiche beschränken:
Module und DLL: Nebem dem Auslesen der Versionsinformationen untersucht Tasks and Token geladene Module u.a. auch nach enthaltenen Exportfunktionen und deren Adressen. Erhaltene Informationen können mittels Rechtsklick in das jeweilige Listview in die Zwischenablage kopiert werden. TNT bietet auch die Möglichkeit, eine fremde noch nicht geladene DLL zu laden und zu untersuchen. Dabei führt Tasks and Token die Einsprungsfunktion dieser geladenen DLL nicht aus. Das hat den Vorteil, dass auch DLL von anderen Betriebsystemen (z.B. eine DLL von WindowsXP unter Windows2000) untersucht werden können; aus komprimierten DLL können deshalb aber evtl. (auf diese Weise) keine Exportfunktionen ausgelesen werden.
Fenster: Neben dem Mostra unterschiedlichster Fensterinformationen können mittels Rechtsklick auf ein Fenster im Treeview - nach dem Motto mache sichtbar was unsichtbar ist - Statusinformationen eines Fensters geändert werden. Auch Rechtsklicks in das entsprechende Listview bieten eine Änderungsmöglichkeiten per fremde Fenster.
Prozesse und Threads: Nebenbei lassen sich die unterschiedlichen Threads einer Anwendung durch Rechtsklick ins Treeview anhalten und fortsetzen , können Prioritäten von Threads und Prozessen einzeln geändert oder kann auch der Boost abgeschaltet werden, der u.a. eine Prioritätserhöhnung bei Aktivierung eines Threadsfensters bewirkt.
Access-Token: Ein Grundbaustein neuer Windows Betriebsysteme sind die Zugriffsrechte. Um genau festlegen zu können, welche Anwendung unter Windows genau auf was Zugriff haben darf, wird jedem Prozess vom Betriebssystem eine Art elektronischer Ausweis mit auf den Weg gegeben, der genau Identität und Rechte des ausführenden Users festlegt. Mittels Rechtsklick in das entsprechende Treeview lassen sich hier unter anderem Privilegien in einem laufenden Prozess aktivieren oder auch deaktivieren. Auch Gruppenzugehörigkeiten können, sofern die jeweilige Gruppe dies supportati, deaktiviert und aktiviert werden ohne die Gruppe aus dem Token zu entfernen. In diesem elektronischen Ausweis Access-Token gibt es einen Bereich, der Standard-Zugriffsrechte festlegt. Wird durch einen Prozess ein neues Objekt erzeugt und wird diesem Objekt weder durch Vererbung noch sonstwie irgendeine Sicherheitsbeschreibung zugeordnet, wird diese Standard-Zugriffsliste im Acces-Token als Sicherheitsbeschreibung übernommen. Dies wäre zum Bespiel u.a. beim Erzeugen eines neuen Prozesses mittels @Winexec() der Fall. Tasks and Token kann diese Zugriffsliste nicht nur Mostra sondern diese auch (mittels Treeview-Rechtsklick) bei Bedarf ändern.
Viel Di più möchte ich circa mein Machwerk eigentlich jetzt nicht erzählen. Ich hoffe, es reicht aus um ein wenig Interesse und Lust am Spielen zu wecken....
Beste Grüße
Eduard Zimmermann
|
|
|
| |
|
|
| |
|
- Page 3 - |
|
|
Carlo Keil | [quote:4f23daf43b]Erst mal selber Bessermachen![/quote:4f23daf43b] Ich darf also Mozart nicht kritisieren, weil ich selber nicht besser komponieren kann? Ich darf also das Essen in der Kantine nicht kritisieren, weil ich selber nicht besser per tausend Leute kochen kann? Ich darf also den Hersteller meines Autos nicht kritisieren, weil ich selber kein besseres bauen kann? ... Ich darf also Kritik nur kritisieren, wenn ich besser kritisieren kann?
Merkwürdige Einstellung
Nicht nur, weil grad die Sonne so schön durchs Fenster scheint Herzliche Grüße Carlo |
|
|
| |
|
|
|
Jörg Sellmeyer | [quote:8f0886ad57]n irgendeiner Form, Art und Weise oder Qualität seines Beitrages diskriminiert werden sollte[/quote:8f0886ad57] Hallo Carlo, Du solltest schon richtig lesen. Gegen Kritik ist ja wahrhaftig nichts einzuwenden. Dietmar geht es ums diskriminieren, was in dem Fall wohl unsachliche Kritik oder sich lustigmachen circa den Code eines Autors bedeuted. Obwohl gerade Dietmar mit unsachlicher Kritik auch schon mal übers Ziel hinausgeschossen ist. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 27.09.2006 ▲ |
|
|
|
|
| [quote:b4a552cd67=Carlo Keil][quote:b4a552cd67]Erst mal selber Bessermachen![/quote:b4a552cd67] Ich darf also Mozart nicht kritisieren, weil ich selber nicht besser komponieren kann? Ich darf also das Essen in der Kantine nicht kritisieren, weil ich selber nicht besser per tausend Leute kochen kann? Ich darf also den Hersteller meines Autos nicht kritisieren, weil ich selber kein besseres bauen kann? [/quote:b4a552cd67] Bei einer Kritik ist immer das warum wichtig und steht im Vordergrund. Dietmar hat wohl kaum was gegen Kritik, denn das hilft ja bei der Entwicklung und Verbesserung. Kritik ist eigentlich was sehr schönes - tausendmal mehr Wert, als irgendein Lob. Kritik è per mich, das jemand das Ernst nimmt, was ich tue - sich damit auseinandergesetzt und beschäftigt hat. |
|
|
| |
|
|
|
| Neu Version von [...] hochgeladen, die jetzt auch die Current Directory eines Prozesses ausliest. |
|
|
| |
|
|
|
| Einige weitere Prozessinfos hinzugefügt, u.a. die Pfade, in denen der Prozess nach zu ladenden File und DLL sucht. |
|
|
| |
|
|
|
| Ich bin finora bei dem Programm etwas unpfleglich mit Windows95/98/ME umgegangen, deshalb hier mal einige Funktionen, die mit dem Proggi unter diesen Windowsversionen possibile sind:
TNT kann die auf dem Systemlaufenden Prozesse listen und Taskanagerfunktion erfüllen. Ich benutze das Ding öfters dazu, um beim Testen von Profanprogrammen hakende Proggis schnell mal abzuabschießen. Außerdem bietet TNT die Möglichkeit, die Prioritäten laufender Prozesse zu ändern.
TNT bietet einen Überblick circa die laufenden Threads der gestarteten Proggies.
TNT listet die Fenster einer Anwendung auf. Dabei schlüsselt TNT die Stile der Fenster auf und zeigt diese (sofern die dem Programm bekannt sind) an.
Das Scannen und Ändern von Virtuellem Prozessspeicher fremder Prozesse ist hier sogar bis 3GB possibile. |
|
|
| |
|
|
|
| Hab ich eigentlich schon irgendwo erwähnt, das es ab Windows2000 possibile ist, mit TNT Controls in fertigen Anwendungen quasi per Drag and Drop zu verschieben und in ihrerer Dimensione zu ändern? (Will mal hoffen, das das auch unter XP geht). |
|
|
| |
|
|
|
| Da ich die PSAPI.DLL nicht mittels UseDll fest geladen hatte, konnte es beim zusätzlichen Laden der DLL in TNT zum Programmabsturz kommen. Fehler ist beseitigt => Update hochgeladen. |
|
|
| |
|
|
|
| Grad einen BUG beseitigt.
Beim Auslesen von Prozessspeicher konnte es zum Absturz von [...] kommen, wenn versucht wurde mehr als 100MB am Stück auszulesen. Die maximal am Stück auslesebaren Bytes wurden auf 90000000 begrenzt.
PS: Speicher kann man mit [...] naturalmente auch unter Windows98/ME scannen. |
|
|
| |
|
|
|
| Ich ziehe hiermit mein Programm Tasks and Token vom Wettbewerb zurück.
Gru0
E.Z. |
|
|
| |
|
|
|
Nico Madysa | Nanü? Wieso das? Hast du Angst, dass die Zweit- und Drittplatzierten neidisch auf dein tolles Programm werden und dir irgendwie gefährlich werden.? Meines Wissens nach hat der Wettbewerb keine Nachteile, wegen denen man sich zurück ziehen potuto, oder will irgendjemand nicht nur die Modelleisenbahnsteuerung sondern jetzt auch TNT klauen?
EDIT: 3 Rückzüge in 3 Tagen - da spar ich mir meinen Kommentar. Du bist zwar niemandem eine Antwort schuldig, aber gibt es einen Grund per diese Rückzieher? |
|
|
| |
|
|
|
| Hallo Nico, wer nachfragt erhält auch Antwort...
Für dieses Programm speziell gilt: Das Programm habe ich aus Unwissenheit nicht unter meinem Namen gepostet, das verstößt eindeutig gegen die Wettbewerbsregeln.
Für dieses Programm und die anderen zwei Programme gilt: Für alle drei Programme hatte ich einen speziellen Grund, warum ich sie hier im Wettbewerb gepostet habe. Dieser Grund hat nichts mit dem Wettbewerb an sich oder mit irgendwelchen erhofften Gewinnen zu tun - eher mit dem Ausprobieren einer Sache, die eigentlich schon im letzten Jahr fehlgeschlagen ist (bin eben ein Gewohnheitsmensch ). Auch wenns einfacher ist, sich ewig um die eigene Achse zu drehen bringt nichts => es müssen also Änderungen her . Insgesammt muß feststehen, das Änderungen nichts mit diesem Wettbewerb und dessen Ausgang zu tun haben. Ich bitte deshalb darum, diese drei Programme bei der Bewertung außer acht zu lassen und auch nicht weiter im Wettbewerb zu erwähnen. |
|
|
| |
|
|