Verhindern dass andere Anwendungen APIs ausführen?
-
HAllo!
Ist es irgendwie möglich dass man verhindert dass andere Anwendungen APIs wie CreateWindow aufrufen?Danke
Kevin
-
hi,
ich denke das geht nicht!
imho is CreateWindow keine API, sondern WinAPI und wenn man die sperren könnte dann kann eine Anwendung imho gar nichts mehr machen.
Du kannst aber wenn eine Anwendung ein Fenster erstellt dies wieder schließen.
Was willst du damit eigentlich machen?
-
Was soll das überhaupt??
-
Einigen hier scheint nicht klar zu sein, was eine API ist. Surkevin meint wohl, dass das eine Funktion sei. Das ist falsch! Eine API ist eine Programmier-Schnittstelle zu einem Programm oder einem Betriebssystem (Application Programming Interface). Eine solche Schnittstelle beinhaltet eine Fülle von Funktionen, mit denen man Vorgänge im Programm bzw. Betriebssystem steuern kann. Die WinAPI ist also auch eine API (steckt ja auch schon im Namen), und CreateWindow() ist nur eine Funktion innerhalb der API. Soviel zu APIs.
@Surkevin: Nein, das geht nicht!
-
Natürlich geht das. Aber das ist sinnlos und kompliziert.
-
Natürlich geht das....
Ruf...
BOOL ExitWindowsEx( EWX_SHUTDOWN, SHTDN_REASON_MAJOR_SYSTEM | SHTDN_REASON_MINOR_SECURITY);
..auf, und danach kann kein anderes Programm mehr auf die WinAPI zugreifen...
Auf Ideen kommen manche.... *Kopfschüttel*
-
Original erstellt von <ohne sinn>:
Natürlich geht das. Aber das ist sinnlos und kompliziert.Ach ja? Und wie? Nein, natürlich geht das nicht.
-
Wenn du keine Ahnung hast, einfach mal die Fresse halten !!! @ WebFritzi
-
DU DUMMER KLEINER IDIOT!!! Ich halte die Fresse, wenn es mir passt!!! Außerdem solltest du lieber die Fresse halten! Wenn du's nicht weißt, dann solltest du uns hier lieber nicht mit deiner schlechten Laune nerven. Geh mit Barbies spielen, aber lass uns in Ruhe!
-
WebFritzi, nich gleich sauer werden..Das mit der API weiß ich..hab mich halt falsch ausgedrückt....ich meine es muss doch so möglich sein, dass man per Hexeditor irgendwie den Namen der Funktion oder die DLL aus der die Anwendung sie liest ändert und dann eine DLL mit dieser FUnktion schreibt die dann nichts macht, oder?
kevin
-
Original erstellt von Surkevin:
HAllo!
Ist es irgendwie möglich dass man verhindert dass andere Anwendungen APIs wie CreateWindow aufrufen?Erkläre nochmal genau, was du machen willst. Das mit dem Hex-Editor lässt sich sicher irgendwie machen, aber willst du das bei jeder Anwendung auf deinem System machen???
Ich schätze nicht. Also: erklär nochmal.
-
Das geht.
Im Buch "Windowsprogrammierung für Experten" wird die Funktion MessageBox() gehookt und abgefangen. Ist aber sehr kompliziert.
-
Original erstellt von Black Shadow:
Im Buch "Windowsprogrammierung für Experten" wird die Funktion MessageBox() gehookt und abgefangen. Ist aber sehr kompliziert.Und das dann mit jeder WinAPI-Funktion machen... Viel Spaß.
-
Hallo!
Nein ich will das nur bei einer einzigen Anwendungen machen...diese ruft Shell_NotifyIcon aus der Shell32.dll auf! Und ich will verhindern dass dies geschieht..es hat kein großen Grund nur is das Icon nervig *g* und ich fände es sehr interessant wie das geht!Kevin
-
Am besten du entfernst das Icon einfach wieder auf der Taskleiste!! Das ist ne bessere Lösung
-
Ich denk ma das is schwerer...
ich hab die Anwendung disassembliert...dann suche ich nach referenzen für Shell_NotifyIcon - 1mal gefunden (wird auch nur einma aufgerufen *g*) das sieht so aus...
004010BE assembler code
Refernce to Shell_NotifyIcon
004010C0 assembler codeDann will ich mim Hexeditor das einfach rauslöschen...nur find ich da das offste 004010BE nicht hmmm was könnt ich falsch machen?
Kevin
-
Hmmm hab die Pos jetzt gefunden
aber naja da is nix von der Funktion! Im DASM steht noch ein ORD: 0079h bei Shell_NotifyIcon, was hat das zu bedeuten?
Kevin
-
Original erstellt von Surkevin:
Hmmm hab die Pos jetzt gefundenaber naja da is nix von der Funktion! Im DASM steht noch ein ORD: 0079h bei Shell_NotifyIcon, was hat das zu bedeuten?
Kevindas ist folgende Sache: In dem Programm selber sind nur Stubs, also kleine mini-funktionen, an denen Windows zur Laufzeit dann die wirkliche Adresse in Einträgt. Du müsstest halt diesen Stub modifizieren oder den call zum Stub selber mit nops rauspatchen, dann hat sich das erledigt.
[ Dieser Beitrag wurde am 23.03.2003 um 20:14 Uhr von TriPhoenix editiert. ]
-
Jo aber wie Patch ich die NUPS raus oda änder die Adresse? Im Hexeditor steht nichts vond er Referenz
-
Also damits eindeutig ist, gegeben ist beim DASM folgende Situation:
..........
004010BE F7D1 not ecx
Refernce to: SHELL32.Shell_NotifyIconA, ord:0079h
004010C0 8B539C404000 mov esi, dword prt [0040409C]
.........Wenn ich dann im Hexeditor an dieses Offset spring sehe ich nur
.....F7D18B539......
Wo kann ich da die Referezn Ausnurpsen?Danke für eure Hilfe
Kevin