Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Mär 29, 2024 15:07

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
BeitragVerfasst: So Mai 28, 2006 18:31 
Offline
DGL Member

Registriert: Fr Dez 02, 2005 11:59
Beiträge: 44
Programmiersprache: Delphi XE3
Ich habe langsam echt die Faxen dicke ... was für ein *mist* macht eingentlich der GameGuard?

Ich versuche jetzt schon fast eine Woche mein Programm beizubringen "Schreibe den Namen aus der Eingabebox in das Eingabefeld im Spiel".
Ich habe mich jetzt schon intensivst durch Forum gewuschelt und auch viele Beispiele gefunden, wie man ein Tastendruck simulieren kann, so das ich nichtmal den GameGuard ansprechen müsste. Allerdingst passiert NIX !

1.
z.B. drücke Return um ins eingabefeld zu gelangen...
Code:
  1.  
  2. ShowWindow(wnd5, SW_SHOW);
  3. sleep(200);
  4. Keybd_Event(VK_RETURN,0,0,0);
  5. Keybd_Event(VK_RETURN,0,KEYEVENTF_KEYUP,0);
  6.  


geht schonmal nicht ... der macht zwar den wnd5 zum aktiven Fenster aber beim Befehl "Enter drücken" passiert garnix. Drücke ich jedoch auf meiner Tastatur die Enter Taste springt das Spiel in den Login-Bildschirm.
Habs auch damit ausprobiert:
Code:
  1.  
  2. Keybd_Event($0D,0,0,0);
  3. Keybd_Event($0D,0,KEYEVENTF_KEYUP,0);
  4.  

Gleiche Ergebnis wie oben.

2.
schreibe ein Zeichen in das Eingabefeld von dem Spiel.
ausblenden anzeigen Delphi-Quelltext
Code:
  1.  
  2. sendmessage(wnd5,WM_CHAR,WPARAM(PAnsiChar('c')),0);
  3.  

Was passiert ... garnix ... der Cursor blinkt zwar im Eingabefeld aber das "c" schreibt er nicht.

Habs auch mit SENDINPUT probiert .. passiert auch nix.

Ich habe langsam echt kein Plan mehr ... kann mir nicht jemand weiterhelfen .. ich verzweifel noch.

Terra


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 28, 2006 19:54 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 06, 2005 18:34
Beiträge: 362
Wohnort: Hamburg
Hi ...

also ich kann so weit eigentlich auch keinen Fehler entdecken.
Hast dus schonmal mit SendMessage WM_KEYDOWN / WM_KEYUP versucht?

Gruß
Shai

_________________
Der Mensch hat neben dem Trieb der Fortpflanzung und dem zu essen und zu trinken zwei Leidenschaften: Krach zu machen und nicht zuzuhören. (Kurt Tucholsky)
Schwabbeldiwapp, hier kommt die Grütze. (Der Quästor)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 29, 2006 08:15 
Offline
DGL Member

Registriert: Fr Dez 02, 2005 11:59
Beiträge: 44
Programmiersprache: Delphi XE3
Ich würde dir lieber sagen, was ich noch nicht probiert habe. Ist eindeutig weniger. :?

Mal was anderes ... geht mit DirectInput eine simulierte Tastatureingabe ? ... Ich frage jetzt nur so auf verdacht. Also bitte nicht Steinigen. Wo der Text eingegeben werden soll ist ja ein grafisches Eingabefenster. Also kein Form !
Vielleicht liegt´s ja daran :roll:

Welche möglichkeiten würde es denn noch geben um ein Text (string) oder ein Buchstabe (char) an ein fremdes Programm zu senden?

Finde es zumindest schonmal beruhigend, das mir überhaupt jemand geantwortet hat. :D

Terra


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 30, 2006 08:47 
Offline
DGL Member

Registriert: Fr Dez 02, 2005 11:59
Beiträge: 44
Programmiersprache: Delphi XE3
Keiner der mir helfen kann ??

Terra


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 30, 2006 09:44 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Um welches Spiel handelt es sich denn, bzw welches Grafik-API verwendet es denn? Hab selber schon mal selbiges mit Warcraft 3 versucht und auch halbwegs geschafft.

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 30, 2006 12:11 
Offline
DGL Member

Registriert: Fr Dez 02, 2005 11:59
Beiträge: 44
Programmiersprache: Delphi XE3
Das Spiel läuft auf DirectX (9c). Hab jetzt aber ne DLL gefunden, die verspricht, das man damit die APIs wieder freigeben kann. Muss jetzt nur noch gucken, wie man die DLL verwendet, da dafür es keine Beschreibung im Netz gibt.

Terra


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 30, 2006 12:46 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 06, 2005 18:34
Beiträge: 362
Wohnort: Hamburg
Hi ...

hast du wahrsch. auch schon ausprobiert, aber ich poste trotzdem mal ne kleine Funktion, die ich im Netz gefunden hab und die bei mir auch funktioniert ...

Code:
  1.  
  2. void SimulateKeyPress(int vKey)
  3. {
  4.     KEYBDINPUT ki = {0};
  5.  
  6.     ki.wVk = vKey;
  7.     ki.wScan = MapVirtualKeyEx(vKey,0,GetKeyboardLayout(0));
  8.  
  9.     INPUT ipEvent;
  10.     ipEvent.type = INPUT_KEYBOARD;
  11.     ipEvent.ki = ki;
  12.  
  13.     SendInput(1,&ipEvent,sizeof(INPUT));
  14. }
  15.  


Gruß
Shai

_________________
Der Mensch hat neben dem Trieb der Fortpflanzung und dem zu essen und zu trinken zwei Leidenschaften: Krach zu machen und nicht zuzuhören. (Kurt Tucholsky)
Schwabbeldiwapp, hier kommt die Grütze. (Der Quästor)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 30, 2006 12:51 
Offline
DGL Member

Registriert: Fr Dez 02, 2005 11:59
Beiträge: 44
Programmiersprache: Delphi XE3
Ja, schon ausprobiert .. zwar in Delphi und net mit C++ aber ist ja alles fast das gleiche.

Ergebniss ... hat nicht geklappt.

Hab ich schon gesagt das bei dem Spiel das ich anspreche der GameGuard läuft?

Terra


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 04, 2006 23:57 
Offline
DGL Member

Registriert: Fr Aug 04, 2006 15:12
Beiträge: 1
falls es noch von Interesse ist (sorry für's Ausgraben des alten Threads):

Gameguard verhindert, dass du Tastatureingaben simulierst. Dadurch wären z.b. auch primitive Bots möglich, was bei z.B. Lineage2 (Spiel) durchaus einen Vorteil bedeuten würde.

habe mal gelesen, dass Gameguard sich ziemlich tief ins System hängt und höhere Rechte (Admin?!?) besitzt, als der, der es startet.

Wenn du also Keys simulieren möchtest, ist es vermutlich einfacher an deiner Tastatur ein Zusatzmodul ranzubasteln... oder "mal" Gameguard reversen :D


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 24 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.056s | 19 Queries | GZIP : On ]