Home of Gamehacking - Archiv

Normale Version: CE Script bei Tastendruck ausführen
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,

ich komme gerade an einem Punkt nicht weiter und hoffe auf eure Hilfe.
Es geht darum ein CheatEngine-AutoAssemble-Script zu schreiben dass wenn aktiviert, eine aktion ausführt wenn eine bestimme Taste gedrückt wird. Genauer:

Das Geld wird in [ecx+04] gespeichert.

Nun möchte ich dass wenn bsp: "Q" gedrückt wird, "add [ecx+04],3E8" ausgeführt wird.

Mein bisheriger Versuchsaufbau:

Code:
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048) //2kb should be enough
label(notpressed)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
exit:
pushad
pushfd

push '0x51'
call GetAsyncKeyState

shr ax,#15
cmp ax,1
jne notpressed

add [ecx+04],3E8

notpressed:
//cleanup
popfd
popad

originalcode:
dec ebp
pop edx
nop 
add [ebx],al

jmp exit

"FC3_d3d11.dll":
jmp newmem
returnhere:



 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"FC3_d3d11.dll":
dec ebp
pop edx
nop 
add [ebx],al
//Alt: db 4D 5A 90 00 03


Naja ihr könnt euch sicher schon denken das dass nicht funktioniert :blush:

Bitte gebt mir doch eine kurze Info wie sowas realisierbar ist.

ps: ich möchte mir das eeeeeewige pointergesuche ersparen deswegen das irgendwie als code verwirklichen

Danke
DarkLevi

EDIT: das Keypress-Framework habe ich von hier: http://cheatengine.org/keypresstut.php

Hey,
kann es sein das der originalcode nur ausgeführt wird wenn du Geld ausgibst? Wenn ja, dann ist es klar das das Spiel nicht auf den Tastendruck reagiert. Du musst bei solchen Geschichten sichergehen, dass der Code, welcher prüft ob eine Taste gedrückt wurde, ständig ausgeführt wird. Wenn nicht, dann wird er nur ausgeführt wenn die jeweilige Aktion (in dem Fall Geld ausgeben) ausgeführt wird. Du kannt ja mal Q gedrückt lassen, während du etwas kaufst. Dann sollte sich dein Geld vermehren.
Hi,

danke für deine Antwort. Diesen Gedanken hatte ich auch schon, weswegen ich "FC3_d3d11.dll" statt "FC3_d3d11.dll+XXXXXX" im Code versucht habe.

Das andere hatte einwandfrei funktioniert (Taste drücken beim Einkaufen).

Auf jeden Fall hast du mein Problem auf den Punkt gebracht. Wie kann ich denn den Code so einfügen dass dieser während der Laufzeit ständig ausgeführt wird?
Dürfte bei diesem Spiel mehr oder weniger schwierig werden...
Soweit ich mich noch drann erinnern kann wurden Geldrelevante Routinen nur aufgerufen wenn...
- man Geld bekommt, oder oder aufsammelt
- man Geld ausgiebt
- man ins Menü wechselt um sich anzuzeigen wieviel Geld einem momentan zur Verfügung steht

Also entweder Du findest bei diesem Spiel eine Routine die permanent durchlaufen wird, in dieser Du aber auch die Geldadresse ausfiltern kannst.
Oder Du realisierst das Ganze doch per Pointer. Da könnte man theorethisch auch eine X-Beliebige Subroutine nehmen die permanent aufgerufen wird, denn per Pointer sollte die Geldaddy einwandfrei zu identifizieren sein...

Oder Du realisierst das so das bei jedem Aufruf des Menüs ein bestimmter Betrag hinzuaddiert wird. So hab ich das auch in meinen Trainern realisiert.
Vielen Dank für deine Antwort.

(07.06.2013, 17:44)sILeNt heLLsCrEAm schrieb: [ -> ]Oder Du realisierst das so das bei jedem Aufruf des Menüs ein bestimmter Betrag hinzuaddiert wird. So hab ich das auch in meinen Trainern realisiert.

Das ist ja mal eine geile Idee. Dass ich da nicht selber draufgekommen bin *facepalm*.

MfG und vielen lieben Dank
DarkLevi
die einfachste methode ist sich ein pointer zu suchen von der gewünschten taste selbst!! also scan die taste einfach nicht gedrückt ist 0 und bei gedrückter taste ist der wert 80h.dann füge man den pointer in sein script ein. wenn taste gedrückt dann soll das passieren was man will fertig ganz easy.


beispiel:


newmem:
cmp [wunschtaste adressepointer],80
jne originalcode
wünschcode
jmp returnhere




das selbe gilt für die die das ganze mit dem controller realisieren wollen das ganze natürlich blos mit anderen werten.
diese methode nennt sich jokercommand und ich kenne die aus der playstation 2 hacking scene und bewert sich auch heute noch hier