|
You last visited: Today at 13:50
Advertisement
Speedhack programmieren
Discussion on Speedhack programmieren within the General Coding forum part of the Coders Den category.
01/15/2011, 20:11
|
#1
|
elite*gold: 0
Join Date: Jan 2011
Posts: 5
Received Thanks: 1
|
Speedhack programmieren
Hallo wie wird generell vorgegangen wenn man einen Speedhack programmieren will ?
Sucht man sich mit einem Debugger die Stelle raus wo im Programm festgellegt wird wie schnell die Spielfigur laufen soll und verändert dann einfach den Wert ?
Pseudocode:
set_speed ( 200 );
Oder wie läuft das würde mich echt mal interessieren.
Ich würde so etwas mal gerne für einen alten Einzelspieler Shooter programmieren.
Programmierkenntnisse hab ich in: C , C++ und Assembler naja und etwas Reverse Engineering Erfahrung.
|
|
|
01/15/2011, 20:20
|
#2
|
elite*gold: 0
Join Date: Nov 2009
Posts: 664
Received Thanks: 47
|
Nein! Der weis ja nnicht bei welchen Prozess bzw bei welchen Fenster oder so er den Speed hoch machen sollte ich möchte es auch habe habe den code auch schon probiert aber dann ist mir aufgefallen der weis ja nicht bei welchen er den speed erhöht habe schon set_speed(1800) on Process ("Metin2") probiert aber ging auch net :P Also der geht sicher nicht!
|
|
|
01/15/2011, 20:30
|
#3
|
elite*gold: 0
Join Date: Jan 2011
Posts: 5
Received Thanks: 1
|
O_o
Ehm ich hab geschrieben Pseudocode das dass z.b. im Programm steht und man einfach den Funktionsparameter verändert.
Naja hier hab ich gerade noch was zu dem Thema gefunden.
QueryPerformanceCounter
Ich experimentier mal etwas rum.
Auf einen bestimmten Prozess zu zugreifen ist nicht das Problem.^^
FindWindow
OpenProcess
da gibts genug möglichkeiten ...
|
|
|
01/15/2011, 20:34
|
#4
|
elite*gold: 0
Join Date: Nov 2009
Posts: 664
Received Thanks: 47
|
Ok wenn du was hast sags bescheid wie du es gemacht hast :P und wenn ich was finde sage ich bescheid
|
|
|
01/16/2011, 12:37
|
#5
|
elite*gold: 0
Join Date: Jan 2010
Posts: 1,385
Received Thanks: 1,006
|
Quote:
Originally Posted by xxxcuneytxxx
Nein! Der weis ja nnicht bei welchen Prozess bzw bei welchen Fenster oder so er den Speed hoch machen sollte ich möchte es auch habe habe den code auch schon probiert aber dann ist mir aufgefallen der weis ja nicht bei welchen er den speed erhöht habe schon set_speed(1800) on Process ("Metin2") probiert aber ging auch net :P Also der geht sicher nicht!
|
In metin2 einen Speedhack zu erstellen ist das simpleste was es gibt.
Es geht TAUSEND tutorials wie man die Bewegungsmemoryaddress findet mit CheatEngine auf Youtube.
Schuhe ausziehen, den Wert (weiß ihn nicht mehr ausm kopf, 16256 oder so) scannen. Schuhe anziehen, da der bew. speed erhöht worden ist "has increased" einstellen und wieder nach 16256 suchen. Bis du nurnoch eine oder ich sage imme rmaximal 3 addressen hast. Dann suchst du den pointer für eine Addresse, und legst in deinem Source eine Variable für die addresse an (kp welche sprache du benutzt), und dann schreibst du halt in den Pointer und ersetzt die alte addresse 1 6256 mit ner neuen 16 456 , schon ist dein speed höher.
Autoit Codeschnippsel von mir damals:
PHP Code:
Dim $Offset[3] = [0, 0x128, 0x5B6]
SetPrivilege("SeDebugPrivilege", 1)
$openmem = _MemoryOpen(WinGetProcess("METIN2"))
$baseadress = _MemoryModuleGetBaseAddress(WinGetProcess("METIN2"), "immortal2.bin")
Dim $zustand
case $Button1
$zustand = True
case $Button2
$zustand = False
If $zustand Then
$Awert =_MemoryPointerRead($baseadress+0x21C4A4, $openmem, $Offset, "short")
_MemoryPointerWrite($baseadress + 0x21C4A4, $openmem, $Offset, "16656", "dword")
Else
$Awert =_MemoryPointerRead($baseadress+0x21C4A4, $openmem, $Offset, "short")
_MemoryPointerWrite($baseadress + 0x21C4A4, $openmem, $Offset, "16256", "dword")
EndIf
|
|
|
01/16/2011, 13:43
|
#6
|
elite*gold: 0
Join Date: Nov 2009
Posts: 664
Received Thanks: 47
|
Quote:
Originally Posted by .BritainAndy
In metin2 einen Speedhack zu erstellen ist das simpleste was es gibt.
Es geht TAUSEND tutorials wie man die Bewegungsmemoryaddress findet mit CheatEngine auf Youtube.
Schuhe ausziehen, den Wert (weiß ihn nicht mehr ausm kopf, 16256 oder so) scannen. Schuhe anziehen, da der bew. speed erhöht worden ist "has increased" einstellen und wieder nach 16256 suchen. Bis du nurnoch eine oder ich sage imme rmaximal 3 addressen hast. Dann suchst du den pointer für eine Addresse, und legst in deinem Source eine Variable für die addresse an (kp welche sprache du benutzt), und dann schreibst du halt in den Pointer und ersetzt die alte addresse 1 6256 mit ner neuen 16 456 , schon ist dein speed höher.
Autoit Codeschnippsel von mir damals:
PHP Code:
Dim $Offset[3] = [0, 0x128, 0x5B6]
SetPrivilege("SeDebugPrivilege", 1)
$openmem = _MemoryOpen(WinGetProcess("METIN2"))
$baseadress = _MemoryModuleGetBaseAddress(WinGetProcess("METIN2"), "immortal2.bin")
Dim $zustand
case $Button1
$zustand = True
case $Button2
$zustand = False
If $zustand Then
$Awert =_MemoryPointerRead($baseadress+0x21C4A4, $openmem, $Offset, "short")
_MemoryPointerWrite($baseadress + 0x21C4A4, $openmem, $Offset, "16656", "dword")
Else
$Awert =_MemoryPointerRead($baseadress+0x21C4A4, $openmem, $Offset, "short")
_MemoryPointerWrite($baseadress + 0x21C4A4, $openmem, $Offset, "16256", "dword")
EndIf
|
Bei mir kommt bei Case ein Fehler!
|
|
|
01/16/2011, 13:55
|
#7
|
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
|
Quote:
Originally Posted by xxxcuneytxxx
Bei mir kommt bei Case ein Fehler!
|
Quote:
durch C&P kommste nicht weit
|
|
|
01/16/2011, 18:07
|
#8
|
elite*gold: 0
Join Date: Jan 2011
Posts: 5
Received Thanks: 1
|
Naja aber so einfach geht das ja nicht bei jedem Spiel.
Wie kann man den z.b. bei einem anderen Spiel die "Speed Variable" finden ?
Dadurch das man bei Meltin 2 die Schuhe ausziehen kann und in Zahlen sehen kann wie sich die Laufgeschwindkeit verändert ist das ganze ja recht simpel.
|
|
|
01/16/2011, 21:17
|
#9
|
elite*gold: 0
Join Date: May 2010
Posts: 34
Received Thanks: 12
|
Dieses Thema kann man leider nicht verallgemeinern...
Bei einigen Spielen geht es relativ einfach, bei anderen wiederum nicht.
Bei Spielen mit der Unreal Engine ist es "oft" die gleiche vorgehensweise...
Man finde die Koordinaten der Spielfigur und schaut sich die Memory Region an.
In der Nähe der Koordinaten steht der "Speed Modifier", meistens FLOAT 1.
Wenn man den erhöht, erhöht sich auch die Geschwindigkeit
Dabei ist aber auch auf einiges zu achten ... unter umständen teilen sich
der Gegner und die eigene Spielfigur den "Speed Modifier", was
bedeuten würde, dass der Gegner genauso schnell laufen kann, wie man
selbst.
Dann könnte man z.B. per codeinjection einen vergleich machen ob
die Spielfigur die Speedrutine durchläuft, oder der Gegner.
Mit so einem Vergleich kann man sogar 2 Fliegen mit einer Klappe schlagen...
Pseudocode
Wenn Spielfigur Dann
Speed * 2
OderWenn Gegner Dann
Speed = 0,1
Ende Wenn
Damit hätte man dann eine Super Speed und Slow Enemies Funktion in einem
~DNA
|
|
|
01/16/2011, 22:40
|
#10
|
elite*gold: 0
Join Date: Jan 2011
Posts: 5
Received Thanks: 1
|
Na gut mit den Infos von DNA-Trainer kann man ja schon etwas anfangen.
Nur wie krieg ich z.b. die Koordinaten einer Spielfigur ?
Ich denke mal nur durch aufwendiges Reverse Engineering oder ?
Aber eine andere Sache noch wie macht Cheat Engine so etwas?
Weil da kann man ja auch einen Speedhack einschalten.
|
|
|
01/17/2011, 09:47
|
#11
|
elite*gold: 0
Join Date: Dec 2007
Posts: 728
Received Thanks: 460
|
Quote:
Originally Posted by 0rc
Ich denke mal nur durch aufwendiges Reverse Engineering oder ?
|
Nein!
Die sind in Float oder Double abgespeichert und verändern sich immer beim laufen... Dadurch findest du sie mit den Einstellungen "Unknow Value","Increase", "Decrease"...
Auserdem findest du mit der fast gleichen Methode auch den Speed...
Den wenn du dich ingame bückst, verändert sich die Variable (wird kleiner)
Dies trifft überigens auf die meisten Shooter zu
|
|
|
01/17/2011, 16:34
|
#12
|
elite*gold: 0
Join Date: May 2010
Posts: 34
Received Thanks: 12
|
Der Speedhack von CE erhöt die komplette Prozessgeschwindigkeit,
d.h. dass ALLES schneller läuft.
Die Koordinaten werden bei heutigen Spielen zu 99% als FLOAT gespeichert
(will ich jetzt einfach mal behaupten)
Kurzanleitung zum finden der richtigen KoordAddis bei Egoshootern:
1. Suche
Unknown initial Value
Type: FLOAT
2. Suche
Springen und in der Luft das Spiel pausieren
Increased Value
3. Suche
Zurück zum Spiel, den Spieler wieder auf den Boden kommen lassen
Decreased Value
Schritt 2 und 3 so oft wiederholen, bis nur noch wenige Adressen über bleiben (zwischendurch auch mal unchanged, wenn man sich nicht bewegt hat)
Danach heißt es rumprobieren und auf folgende Merkmale achten:
* Es kommen "eigentlich" nur adressen in frage, welche mit 0,4,8 oder C enden!
("eigentlich" heißt hier, dass man zu 99% davon ausgehen kann, dass die Addis mit 0,4,8 oder C enden. Dies ist aber nicht zu 100% gewährleistet!)
* Werte die sich ständig wiederholen
* Werte die am Ende ein Exx haben, können ignoriert werden! (xx steht hier für eine zahl)
Man holt sich also nach und nach immer so 10-20 addis in die Cheattabel, welche die oben genannten kriterien erfüllen.
Diese werden dann alle eingefroeren und man versucht dann im Spiel zu springen.
Das wiederholt man, bis man im Spiel nicht mehr springen kann und quasi am Boden fest klebt ^^
Damit hätte man dann die Z-Koordinate.
X und Y sind dann ein leichtes Spiel ... man zieht von der Z-Koordinaten Addi einfach 4 Bytes für die Y-Koord ab und
von der Y-Koord nochmal 4 Bytes für die X-Koord.
BEISPIEL
Z-Koord-Addi = 500008
Y-Koord-Addi = 500004
X-Koord-Addi = 500000
--------------------------------------------------------------------
Im übrigen gibt es  ein ausführliche VideoTut zum finden
der KoordAddis mit einer anderen Methode, als die oben genannte.
|
|
|
01/17/2011, 16:50
|
#13
|
elite*gold: 0
Join Date: Dec 2007
Posts: 728
Received Thanks: 460
|
Quote:
Originally Posted by DNA-Trainer
Der Speedhack von CE erhöt die komplette Prozessgeschwindigkeit,
d.h. dass ALLES schneller läuft.
|
krass... damit beschleunige ich in Zukunft den Systemprozess 
so nach dem moto: 4 Kernen x 2,2 GHz x CE Speedhack 500
Quote:
Originally Posted by DNA-Trainer
("eigentlich" heißt hier, dass man zu 99% davon ausgehen kann, dass die Addis mit 0,4,8 oder C enden. Dies ist aber nicht zu 100% gewährleistet!)
|
Erklär mir warum 4 bytes Variablen nicht mit 0,4,8,C enden...
Sonst ists n nice Tut
|
|
|
01/17/2011, 16:59
|
#14
|
elite*gold: 0
Join Date: May 2010
Posts: 34
Received Thanks: 12
|
Quote:
Originally Posted by -AmA-
Erklär mir warum 4 bytes Variablen nicht mit 0,4,8,C enden...
|
Diese Frage müsstest du mir bitte genauer erklären
|
|
|
01/17/2011, 17:12
|
#15
|
elite*gold: 0
Join Date: Jan 2010
Posts: 1,385
Received Thanks: 1,006
|
du sagtest das FLOAT variablen mit 0,4,8,C enden.
Aber 4Byte Variablen (DWORD) können auch mit 0,4,8,C enden, oder?
So ähnlich meint es -AmA-
|
|
|
 |
|
Similar Threads
|
bot programmieren
07/23/2011 - General Coding - 35 Replies
hi leute
ich hab mal ne frage:
ich möchte lernen bot`s zu programmieren, jedoch weiss ich nicht welches programm/sprache am besten ist für anfänger.
mein erster bot wäre für ogame, ich spiele es zwar nicht aber trotzdem :)
am liebsten würde ich mir eine art baubot oder ne bauliste die sich selber abarbeitet (man kann im bot eingeben was er bauen soll und baut das alles nacheinander ab) zu programmieren.
|
speedhack programmieren mit vb
07/25/2010 - .NET Languages - 1 Replies
Hallo,
ich wollte mir mal selbst nen speedhack programmieren am besten in visual basic 2008
wie gehe ich da am besten vor? habe noch keine ahnung wie...ich hoffe ihr könnt mir da helfen ^^
|
Bot Programmieren^^
06/16/2010 - General Coding - 9 Replies
Server leider hab ich 0 Plan was man wissen muss oder was für ein aufwand es darstellen würde^^
Ich suche einen Bot mit dem man Pm´s verschicken kann sprich ein Script
zum einem könnte ich mir vorstellen das man zuerst alle User namen sammelt
sprich über den link alle user id´s durchgeht die namen von der hp in ein Liste steckt
und mit der Liste eine vorgefertigte Pm verschickt ka wie groß der Aufwand ist und ka ob ich überhaupt in der richtigen rubrik bin xD
sry Rechtschreibung...
|
PROGRAMMIEREN
03/03/2009 - General Coding - 28 Replies
hey,
ich weiß zwar nicht ob das hierhin kommt aber ich habe eine frage:
kann mir jemand ein programm geben womit ich auch solche hacks programmieren kann?
also jetzt nicht so komplizierte sondern vll nur so sppedhack und so.
Will auch was programmieren ich weiß das mand arfür c++ lernen muss aber das kan ich ja noch machen.
Bitte eine internett seite oder so geben
Thx
|
Programmieren
11/17/2007 - Off Topic - 5 Replies
Moin,
Suche jemanden/eine person die mir eventuell ein bisschen programmieren beibringen könnte sprich c++.Wäre sehr nett ich hinterlass euch mal meine icq 203-149-574
Ps: Meine erfahrung bis jetzt (html/bisl php) möchte jetzt mit c++ anfangen thx
Mfg Millenium
|
All times are GMT +1. The time now is 13:50.
|
|