![]() |
Maus Bewegen, Ohne WinAPI
Hi,
ist es möglich die Maus via Delphi zu bewegen ohne dabei auf die WinAPI zurückzugreifen, sondern alternativ zB direkt den Maustreiber anzusprechen oder ähnliches. Oder.. Gibt es so etwas wie einen virtuellen Maustreiber, welchen man mit bestimmten Komponenten oder Libraries ansprechen kann ? ~stiftII |
Re: Maus Bewegen, Ohne WinAPI
Auch ein Maustreiber wird nicht ohne verwendung der WinAPI auskommen! Ohne das läuft gar nix. Es ist halt ein anderer Teil der API die Windows bereitstellt.
Was stört dich an der "normalen" Verwendung der "üblichen" API-Funktionen? |
Re: Maus Bewegen, Ohne WinAPI
Also immer wenn ich so was lese, denke ich: Auto fahren ohne Auto. Und dann frage ich mich immer: Warum?
|
Re: Maus Bewegen, Ohne WinAPI
Zitat:
Sinnbefreit ist das Unterfangen nichtsdestoweniger :stupid: |
Re: Maus Bewegen, Ohne WinAPI
Zitat:
Zitat:
|
Re: Maus Bewegen, Ohne WinAPI
Ich frage mich gerade, ob ein Maustreiber in beide Richtungen funktioniert. Er muss ja Windows nur über die Bewegung der Maus informieren. Selbst wissen, wo die Maus auf dem Bildschirm steht muss er ja nicht. Warum sollte er also den Mauszeiger bewegen können? Oder erwartest du, dass sich dann auch die Maus auf dem Tisch bewegt? ;)
@stiftII: Aber wo ist der Sinn bei deinem Vorhaben. |
Re: Maus Bewegen, Ohne WinAPI
Ich bin nicht sicher, aber ich vermute mal die Maus/der Maus-Cursor ist eine Funktion von Windows selbst. Das heißt, wenn man sie bewegen will, MUSS man Windows bitten, das zu tun. Und genau dafür ist die WinAPI da.
|
Re: Maus Bewegen, Ohne WinAPI
Natürlich ist es eine Funktion von Windows. Der Treiber teilt Windows nur mit, in welche Richtung und wie weit sich die maus bewegt hat. Das Zeichnen und umsetzen auf dem Display tut Windows.
|
Re: Maus Bewegen, Ohne WinAPI
Zitat:
Aber beim Sinn sind wir uns einig. |
Re: Maus Bewegen, Ohne WinAPI
'Was du höchstens machen könntest wäre Windows vozugaukeln, dass sich die Maus bewegt hat. Aber das dürfte nicht einfach sein.
|
Re: Maus Bewegen, Ohne WinAPI
Der tiefste Ansatz aus dem Usermode dürfte vermutlich SendInput() sein, seineszeichens Teil der WinAPI. Derartig generierte Inputs sind von einer Applikation aus nicht von einer tatsächlichen Aktion mittels Hardware unterscheidbar, was zumindest schon mal etwas ist. Wenn es wirklich nur um die Vermeidung der WinAPI an sich geht (ist das seltsam und es wäre evtl. echt der Sache dienlich wenn du uns sagen würdest was du erreichen möchtest, und) dann ist das vermutlich kein Weg.
Aus dem Usermode heraus hast du 0,keine Chance zu tun was dir vorschwebt, und ein virtueller Maustreiber mit Schnittstelle in den Usermode wäre das mit einzige. Nur... diese Schnittstelle würde wieder via WinAPI-Aufrufen bedient werden müssen, und wir drehen uns fröhlich im Kreise. |
Re: Maus Bewegen, Ohne WinAPI
Danke für die Antworten!! :)
Ich möchte die Maus auch in Applikationen bewegen, welche SendInput() blockieren. Ich glaube mit einem virtuellen Maustreiber könnte das funktionieren. Jedoch Treiber-Programmierung und Delphi.... Deshalb werde ich wohl auf das WDK zurückgreifen, nur bin ich mir nicht sicher ob es nicht sogar eine bessere/einfachere Lösung gibt. ~ stiftII |
Re: Maus Bewegen, Ohne WinAPI
Was für Anwendungen blockieren denn SendInput?
|
Re: Maus Bewegen, Ohne WinAPI
Zitat:
|
Re: Maus Bewegen, Ohne WinAPI
Du willst also einen Cheat Schutz umgehen? Ich denk, so was unterstützen wir hier nicht.
|
Re: Maus Bewegen, Ohne WinAPI
Naja, mich interessiert viel mehr das System, und die Angehensweise, selber spielen tue ich ja ohnnehin nicht.
Schade das derartige Themen hier nicht oder nur in einem alternativen Kontext besprochen werden können :(. ~stiftII |
Re: Maus Bewegen, Ohne WinAPI
Zum einen sollte mich wundern wenn SendInput() blockiert wäre, und wenn dem so ist, hat das wohl einen guten Grund. Den hast du selbst sogar schon gegeben - endlich - und damit meine Befürchtung bestätigt. Ich wünsche dir schönen Misserfolg dabei, oder zumindest möglichst teure kaputt gecheatete Accounts.
@Roter Kasten: System und Angehensweise: Meistens DLL-Hooks, Checksummen von Systemfiles, etc. pp. Man muss ein Verfahren zudem auch nicht umgehen um es zu verstehen, und wenn wir hier sowas öffentlich diskutieren würden, wäre faulen copy&paste kids Tür und Tor geöffnet aktuelle Anticheats mit einem Minimum an Aufwand zu umgehen. Das ist im Sinne jeglichen Spielerlebnisses einfach nut tödlich, und wir müssten uns vor den dann betrogenen verantwortlich fühlen. No go. |
Re: Maus Bewegen, Ohne WinAPI
Zitat:
|
Re: Maus Bewegen, Ohne WinAPI
Zitat:
nun ich denke eine einfache Copy and Paste Lösung wird es ohnehin nicht geben. Ich hätte auch keine teuren Accounts, die ich mir kaputt cheaten könnte ;). Das derartige Themen hier nicht gerne gesehen werden finde ich Schade, gerade weil ich denke, dass hier viele Interessante Ideen und Entwürfte gesammelt werden könnten. Zitat:
~stiftII |
Re: Maus Bewegen, Ohne WinAPI
Zitat:
|
Re: Maus Bewegen, Ohne WinAPI
Zitat:
Es ist doch besser, wenn wir die Sicherheitslücken herausfinden würden, als jemand der damit explizit Schaden anrichten möchte. ~stiftII |
Re: Maus Bewegen, Ohne WinAPI
Zitat:
~stiftII |
Re: Maus Bewegen, Ohne WinAPI
Eben rausfinden. Aber Sicherheitslücken findet man nicht durch Schreiben von Schadsoftware. Um Schadsoftware zu schreiben, musst du die Sicherheitslücke schon kennen. Also ist es absolut überflüssig hier das Schreiben von Schadsoftware zu diskutieren.
|
Re: Maus Bewegen, Ohne WinAPI
Zitat:
Software die darauf ausgelegt ist Schaden anzurichten möchte ich garnicht schreiben. In dem Beispiel(Threadtitel) geht es prinzipiell darum, die Mausbewegung trotz diverser hooks in der WinApi noch zu ermöglichen. Der Benutzer kann die Maus ja immerhin noch Bewegen und diese Bewegung wird eben vom Maustreiber initiiert, dabei ist es ziemlich egal was für eine Maus und Treiber man hat (denke ich). Somit könnte man mit einem virtuellen Treiber für die Maus, oder auch Tastatur vielleicht Erfolg haben, jedoch könnt ihr mir dazu, oder zu weiterenführenden Themen in dem Bereich keine Hilfestellungen und Tipps geben, jedenfalls nicht in dem Zusammenhang. Ich hoffe ich werde nicht falsch verstanden, ich finde diese Community generell großartig. Hier findet man für gewöhnlich immer jemanden, der sich mit dem Thema/Projekt an dem man gerade arbeitet super auskennt und den entscheidenden Tipp geben kann, wenn man mal nicht weiterkommt. Ich möchte diesen Thread auch nicht in einer endlosen Diskussion über potentielle Schadsoftware und Motive dafür ausarten lassen, deshalb wäre es nett, wenn ein Mod hier dicht machen könnte @__@. ~stiftII |
Re: Maus Bewegen, Ohne WinAPI
Moin,
vielleicht verstehe ich das falsch, aber wenn ein Programm den Mausinput ignoriert, wie willst du ihn dazu kriegen dies eben nicht zu tun? MfG Fabian |
Re: Maus Bewegen, Ohne WinAPI
Das Programm ignoriert nur von der Windows API simulierte Mauseingaben, die an das Programm geschickt werden, wie SendInput usw.
|
Re: Maus Bewegen, Ohne WinAPI
Das geht nicht! Entweder es wird direkt SendInput() gehooked, oder da ist nix. SendInput() erzeugt die selbe Reaktion wie ein von einem Treiber ausgelöster Input, und wenn man nicht explizit ein entsprechendes Flag in dem Input-Struct setzt, ist dies nachher nicht mehr von "echten" zu unterscheiden. Ich hab den Source zu einem Angelbot für World of Warcraft mal in der Hand gehabt, dieser lief mit SendInput(), und wurde scheinbar (laut Aussage sehr zahlreicher Nutzer in dem Forum) nicht von dem Guard "Warden" der bei WoW drin hängt moniert - und Warden IST rigoros! Das ist zwar nun keine Garantie, weil der Hersteller auch einfach stillschweigend hätte dulden können, aber wahrscheinlich ist das nicht. Auch ist es aber keine Garantie dafür, dass andere Anticheats da nicht evtl. doch allergisch werden, jedoch scheint mir SendInput() sehr tief anzusetzen. Es löst sogar problemlos Low-Lovel-Hooks wie echte Inputs aus.
Super, hab ich eigentlich schon wieder zu viel gebrabbelt... das Thema ist sicherlich interessant, wenn auch teils ausgesprochen geschmacklos. |
Re: Maus Bewegen, Ohne WinAPI
Und um es noch weiterzutreiben (welches hier ja auch sozusagen mal angesprochen wurde):
Ein "virtueller" Maustreiber, welcher nicht von einer "echten" Hardwaremaus seinen Input bezieht, sondern von einem Programm, dürfte auch alles mögliche "umgehn", denn in Zeiten von USB-Mäusen oder Mäusen über andere Inputkanäle, kann man nicht mehr so einfach direkt die Maus, bzw. ihren "Port" Ansprechen, als wie es noch zu Zeiten der "einfachen" PS2-Mäuse der Fall war. Aber nun könnte ein Gameguard denoch einfach alle Nachrichten von ihm unbekannten Treiber ignorieren. So, ich glaub nun wurde alles Wichtige genannt. Und vornweg ist natürlich immernoch der Punkt, daß wir ab hier nun nicht mehr tiefgreifender weiterhelfen, eben wegen den ganzen angesprochenen AGB-Sachen und sonstigen Cheatereinen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz