Remote controlled Clicker keystrokes

09/08/2013 16:22 oOEnyOo#1
Hey Leute ich habe da mal eine Frage.

Ich habe in vb.net einen remote controlled clicker gebaut, mit Hilfe dessen ich Mausbewegung und Clicks simulieren kann.

Soweit läuft es auch. Ich habe da nur ein entscheidendes Problem. Momentan läuft mein Programm auf einem PC - dort läuft Vmware und virtualisiert einen zweiten PC ( alles win7 ulti ). Auf dem virtualisiertem PC läuft dann Kalonline. Das Programm steuert die Maus auf dem Host und somit dann auch die Maus auf der virtualisierten Kiste. Das haut auch hin ist nur doof weil viel zu viel Aufwand für das Ziel.

Ich kann jedoch das Programm nicht auf dem Rechner laufen lassen auf dem ich Kalonline laufen lassen will, da so wie ich das Spiel starte jegliche simulierten Signale der Maus nicht mehr im Spiel ankommen.

Wie ich Signale lese oder schreibe:

Code:
Private Declare Sub mouse_event Lib "User32.dll" (ByVal dwFlags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Integer, ByVal dwExtraInfo As IntPtr)
Private Declare Auto Function SetCursorPos Lib "User32.dll" (ByVal X As Point) As Long
Private Declare Auto Function GetCursorPos Lib "User32.dll" (ByRef lpPoint As Point) As Long
Generell funktioniert das ganze auch. Ich kann über "mouse_event" click events triggern, über "GetCursorPos" die Maus Position ermitteln und über "SetCursorPos" die Maus position festlegen.

Alles bis auf das Lesen der Maus Position geht im Spiel nichts mehr. Ich würde gern verstehen woran das liegt, um dann eine Lösung zu erarbeiten.

Wie gesagt so wie ich das Programm getrennt von dem Spiel laufen lasse ist es kein Problem und mein Programm funktioniert im vollem Umfang. Jedoch will ich den Aufwand minimieren, weil es doch sehr Ressourcen fressend ist extra virtuelle Maschinen dafür bereit zu stellen.


Fuer Hilfe bin ich sehr dankbar da ich echt nicht weiter weiss und mir hier die Zähne ausbeiß.

Gruß Eny
09/10/2013 09:29 oOEnyOo#2
Also nach dem ich das Spiel nun auf einem XP Rechner installiert habe kann ich veranlassen das sich die Maus bewegt und ich kann auch Tastaturanschläge (Hotkeys) aufzeichnen.

Jedoch kann ich immer noch kein Mausklick ausführen.

Vielleicht hat da jemand einen Tip wie ich...

Code:
Private Declare Sub mouse_event Lib "User32.dll" (ByVal dwFlags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Integer, ByVal dwExtraInfo As IntPtr)
... eventuel ersetzen kann ?
09/21/2013 11:28 oOEnyOo#3
Unter Xp läuft nun alles wie es soll jedoch wird es vom Hackshild also automacro erkannt und man fliegt raus... ergo ... momentan läuft alles noch über VMs.

Gibt es sowas wie einen Maus/Tastatur Proxy Treiber ?
09/21/2013 22:41 KillerExtreme#4
Win 64 bit da funktioniert das wahrscheinlich weil das Hackshield mit der architektur nicht so richtig klar kommt.
10/14/2013 13:07 oOEnyOo#5
So alle Systeme sind auf Win7 64 bit umgestellt und es läuft einwandfrei. Über Tastatureingaben kann ich nun an meinem Haupt Char X andere Chars steuern. Ich würde jetzt gern noch etwas am Speicher über den Prozess engine.exe auslesen.

Wenn ich sowas wie cheate engine nutze kommt eine Meldung das ich bei dem Prozess engine.exe keinen zugehörigen Speicher finden kann. Originale Fehlermeldung habe ich gerde nicht zur Hand ( vielleicht später ).

Ich werde auch nicht schlau wenn ich hier mal dannach suche, welche ce man nun nehmen soll, die meisten Threads sind uralt.

Alle infos die Ihr mir geben könnte werden dankend angenommen. Der Rat die Daten direkt aus dem spiel zu fischen ist sicher angebracht, jedoch will ich über das Suslesen eh bissel was lernen. Habe auch schon mit Hilfe von Pixelauslesen Infos kassiert aber da die UI anderst als das Game selbst "Flackert/Bildaufbau" kommen fehler Werte dabei raus die dann korrigiert werden müssen was das Auslesen erheblich verlangsamt. Einzig wenn eine Texteingabe aktiviert ist ist die Kal UI permanet als overlay vorhanden.

Link CE, Name einer CE und oder/und nen gutes Tut wäre toll. Hab gestern den ganzen Abend mit dem Suchen verbracht und nichts aktuelles gefunden.

Gruß Eny

*Noch mal einen Nachtrag hinterher schiebe* ... bei Cheat Engine 6.3 bekomme ich den Fehler:

Scann Error:controller:No readable memory found

Keinen Plan ob ich es falsch starte oder welche Einstellungen fehlen ... :(
10/14/2013 17:46 KillerExtreme#6
Cheat engenie 6.3 leuft auf 64 bit mit kal ohne probs

Settigns Extra: alle häckchen rein
Debugger options: Hardware brakpoins,Single line assembler,ask for replace with nop, Override existing brakpoins...,Use Window debugger,Try to prevent detection.. Alles anwählen.
Scann setting: Fast Scann..,Custom Types + MEM-Private & MEM Image anwählen sollte klappen evt rebooten.
10/14/2013 18:07 oOEnyOo#7
Jo haut nun alles hin, Danke!

Ich hab jetzt einen Wert gesucht - dessen Adresse bekommen und nun versuche ich den Pointer zu bekommen ... kann ich das nur über "Pointer scan for this address" ? Sind dann teilweise irre viele Eintrage auch noch mehrmaligem rescan.
10/14/2013 18:22 KillerExtreme#8
tja ich weiß nicht wie das bei cheat engenie leuft das lezte mal hab ich das mit artmoney gemacht auf jeden fall musst du nin paar mal das game komplett neu auf machen.
10/14/2013 21:35 oOEnyOo#9
Ich ralle es nicht ... vorhin hatte ich irre viele Pointer per scan bekommen und nun bekomme ich seit 2 Std. nicht einen. Result immer: 0

Ich suche den Wert - bekomme die Adressen - ändere den Wert über die Kal - bekomme die Richtige Adresse ( Werte aktuallisieren sich ) - nehme diese in die Liste und beginne mit nem Scan ... was mache ich da falsch ?


* Ich bekomme nur scan results wenn ich den Haken bei "Only find Path with static address" raus nehme. Nur das ist ja nicht Sinn und Zweck der Sache.

Was ich im mom eigentlich auslesen will wäre HP und MP gesamt sowie aktuell.

----------------------------------------------------------------------------------------------

Also ich habe das ganze mal an Solitaire getestet und da haut es auch hin. Nach mehrmaligem Scan/ start u. stop des Spiels komme ich auf einen Pointer der mir auch den Richtigen Wert übermittelt.

Warum aber bekomme ich auf dem gleichem Weg keine Pointer beim Scannen von engine.exe ?

Bin nun echt mit meinem Latein am Ende.

Keiner der da eine Idee hat ? Ich habe noch ein paar Tage in dennen ich viel schaffen kann weil ich gerade Zeit habe aber ich komme ohne nicht weiter. Ist bissel ärgerlich, das ich da jetzt hänge. Bin für jeden Tip dankbar.
10/16/2013 09:10 KillerExtreme#10
den hacken musst du auch raus nehmen weil kal so keinen festen pointer hat sondern variable (glaub ich) ich meine der pointer ändert sich bei jeden update deshalb musst du nach variablen adress pointern suchen weil dann nimmt er sich einen festen wert und rechnet von dort wo der dazugehörige pointer liegt wenn ich mich recht entsinne.....
10/16/2013 12:53 oOEnyOo#11
Wenn das mein Pointer wäre:

[Only registered and activated users can see links. Click Here To Register...]

Wäre das dann richtig ?

Code:
ReadProcessMemory(readHandle, &H81B0848 + &H780 + &H0 + &H0 + &H4 + &H84, bytes, 4, rw)
Wenn ja wäre das dann so auch noch richtig ?

Code:
ReadProcessMemory(readHandle, &H81B0848 + &H808, bytes, 4, rw)