• Trainer
  • Forums
  • Suche
  • Members
  • Kalender
  • Hilfe
  • Extras
Forum stats
Show team
Neue Beiträge ansehen
Heutige Beiträge ansehen
Home of Gamehacking - Archiv
Login to account Create an account
Login
Benutzername:
Passwort: Passwort vergessen?
 



  Home of Gamehacking - Archiv Gamehacking Gamehacking
1 2 3 4 5 ... 8 Weiter »
Cheat Engine

Seiten (2): 1 2 Weiter »
Ansichts-Optionen
Cheat Engine
IHacked Offline
Junior Member
**
Beiträge: 34
Themen: 10
Registriert seit: May 2011
Bewertung: 0
#1
10.12.2016, 03:50 (Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2016, 04:43 von iNvIcTUs oRCuS.)
Wie finde ich zu diesem Script die werte eax+30, eax+34, eax+38

Die "xyz player position" habe ich bereits mit dem Pointern herausgefunden.





Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
alloc(newmem,2048) 
label(returnhere) 
label(originalcode) 
label(exit) 
label(z_coord) 
label(x_coord) 
label(y_coord) 
label(save_coord) 
label(load_coord) 
label(s_enable) 
label(l_enable) 
registersymbol(s_enable) 
registersymbol(l_enable) 


"XX_d3d11.dll"+108612A: 
jmp newmem
nop 
returnhere: 



newmem: 
cmp dword ptr [eax+4C],(int)0         // <===== player position structure    ?? 
jne originalcode
cmp [s_enable],1 
je save_coord 
cmp [l_enable],1 
je load_coord 
jmp originalcode


save_coord: 
mov [s_enable],0 
push edx 
mov edx,[eax+30] 
mov [x_coord],edx 
mov edx,[eax+34] 
mov [z_coord],edx 
mov edx,[eax+38] 
mov [y_coord],edx 
pop edx 
jmp originalcode

load_coord: 
mov [l_enable],0 
cmp [z_coord],0 
je originalcode
push edx 
mov edx,[x_coord] 
mov [eax+30],edx 
mov edx,[z_coord] 
mov [eax+34],edx 
mov edx,[y_coord] 
mov [eax+38],edx 
pop edx 

originalcode: 
mov edx,[eax+30] 
mov [ebp-30],edx 

exit: 
jmp returnhere

x_coord: 
dd 0 
z_coord: 
dd 0 
y_coord: 
dd 0 
s_enable: 
dd 0 
l_enable: 
dd 0


:P
Suchen
Antworten
iNvIcTUs oRCuS Offline
Super Moderator
****
Beiträge: 2.688
Themen: 529
Registriert seit: Aug 2010
Bewertung: 19
#2
10.12.2016, 04:42
Ganz einfach...
Rechtsklick auf die Adresse "XX_d3d11.dll"+108612A und "Find out what addresses this instruction accesses" wählen...
Im sich öffnenden Fenster siehste dann alle Adressen ([eax+30]) mit den Werten die diese beinhalten.
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

Traineranfragen per PM werden prinzipiell gelöscht...

[Bild: signatur6akm7.gif]
Suchen
Antworten
IHacked Offline
Junior Member
**
Beiträge: 34
Themen: 10
Registriert seit: May 2011
Bewertung: 0
#3
10.12.2016, 04:59
(10.12.2016, 04:42)iNvIcTUs oRCuS schrieb: Ganz einfach...
Rechtsklick auf die Adresse "XX_d3d11.dll"+108612A und "Find out what addresses this instruction accesses" wählen...
Im sich öffnenden Fenster siehste dann alle Adressen ([eax+30]) mit den Werten die diese beinhalten.

Bei mir sieht man aber kein eax+30, usw.  Wenn ich auf "More Information" gehe, sehen die Werte anderes aus als im irgendeinen Tutorial.


Bild 1

[Bild: 6f38f9b308cb3e4ab5b2a0a46bbaa14f.png]

Bild 2

[Bild: 5524cf46d3fa4f9a400847b449da5fd2.png]
:P
Suchen
Antworten
iNvIcTUs oRCuS Offline
Super Moderator
****
Beiträge: 2.688
Themen: 529
Registriert seit: Aug 2010
Bewertung: 19
#4
10.12.2016, 05:24 (Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2016, 13:18 von iNvIcTUs oRCuS.)
Ich rede vom Dissassembler/Debugger Fenster...

Zitat:Rechtsklick auf die Adresse "XX_d3d11.dll"+108612A und "Find out what addresses this instruction accesses" wählen...
Im sich öffnenden Fenster siehste dann alle Adressen ([eax+30]) mit den Werten die diese beinhalten.


//EDIT
Neuer Link
[Bild: New.jpg]
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

Traineranfragen per PM werden prinzipiell gelöscht...

[Bild: signatur6akm7.gif]
Suchen
Antworten
IHacked Offline
Junior Member
**
Beiträge: 34
Themen: 10
Registriert seit: May 2011
Bewertung: 0
#5
10.12.2016, 06:02 (Dieser Beitrag wurde zuletzt bearbeitet: 12.12.2016, 16:27 von iNvIcTUs oRCuS.)
Bei mir findet er keine.

Ich habe es so gemacht:

Recksklick auf Z Pos --> 
Browse this Memory Region-->  
Rechtsklick ---> 
Go to adress-->  
XX_d3d11.dll+108612A eingefügt--> Rechtsklick darauf und "Find out what addresses this instruction accesses" ausgewählt.  Ab hier öffnet sich ein leeres Fenster...
:P
Suchen
Antworten
iNvIcTUs oRCuS Offline
Super Moderator
****
Beiträge: 2.688
Themen: 529
Registriert seit: Aug 2010
Bewertung: 19
#6
10.12.2016, 13:29
Kann ich leider aus der Ferne nicht nachvollziehen... Weil die Koordinaten durch keinen Befehl laufen der da lautet "mov edx,[eax+30]".
Allerdings werden die Koordinaten durch den Befehl addps "xmm0, [rax+30]".
Hier kriegste sofort den Wert von [RAX+30] wie ich oben bereits erwähnt hab.
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

Traineranfragen per PM werden prinzipiell gelöscht...

[Bild: signatur6akm7.gif]
Suchen
Antworten
DNA Offline
Administrator
*******
Beiträge: 1.330
Themen: 123
Registriert seit: May 2010
Bewertung: 26
#7
10.12.2016, 22:15
(10.12.2016, 06:02)IHacked schrieb: Bei mir findet er keine.

Ich habe es so gemacht:

Recksklick auf Z Pos --> 
Browse this Memory Region-->  
Rechtsklick ---> 
Go to adress-->  
XX_d3d11.dll+108612A eingefügt--> Rechtsklick darauf und "Find out what addresses this instruction accesses" ausgewählt.  Ab hier öffnet sich ein leeres Fenster...

Wenn du die Z Koordinate hast, dann befinden sich die anderen beiden in der regel 4 bzw. 8 Bytes davon entfernt.
Nimm einfach mal die Adresse der Z Koordinate und subtrahiere 4 Bytes.
Oder
  • rechtsklick auf die Z
  • Browse in Memory Region
  • den unteren Bereich auf Float Anzeige stellen
  • und dann schaust du dir die Werte an, die 4 bzw. 8 Bytes entfernt sind, dass dürften dann X und Y sein

ACHTUNG: Lesen gefährdet die Dummheit

[Bild: dna-sig.gif]
Suchen
Antworten
IHacked Offline
Junior Member
**
Beiträge: 34
Themen: 10
Registriert seit: May 2011
Bewertung: 0
#8
11.12.2016, 18:25 (Dieser Beitrag wurde zuletzt bearbeitet: 11.12.2016, 18:28 von IHacked.)
Die X Y Z Koordinaten vom Spieler habe ich bereits gefunden.

Ich weiß nur nicht wie ich anhand dieses Script, die ich aus dem Internet gefunden habe für mein Spiel benutze.

Script:




Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
alloc(newmem,2048) 
label(returnhere) 
label(originalcode) 
label(exit) 
label(z_coord) 
label(x_coord) 
label(y_coord) 
label(save_coord) 
label(load_coord) 
label(s_enable) 
label(l_enable) 
registersymbol(s_enable) 
registersymbol(l_enable) 


"XX_d3d11.dll"+108612A: 
jmp newmem
nop 
returnhere: 



newmem: 
cmp dword ptr [eax+4C],(int)0         // <===== player position structure    ?? 
jne originalcode
cmp [s_enable],1 
je save_coord 
cmp [l_enable],1 
je load_coord 
jmp originalcode


save_coord: 
mov [s_enable],0 
push edx 
mov edx,[eax+30] 
mov [x_coord],edx 
mov edx,[eax+34] 
mov [z_coord],edx 
mov edx,[eax+38] 
mov [y_coord],edx 
pop edx 
jmp originalcode

load_coord: 
mov [l_enable],0 
cmp [z_coord],0 
je originalcode
push edx 
mov edx,[x_coord] 
mov [eax+30],edx 
mov edx,[z_coord] 
mov [eax+34],edx 
mov edx,[y_coord] 
mov [eax+38],edx 
pop edx 

originalcode: 
mov edx,[eax+30] 
mov [ebp-30],edx 

exit: 
jmp returnhere

x_coord: 
dd 0 
z_coord: 
dd 0 
y_coord: 
dd 0 
s_enable: 
dd 0 
l_enable: 
dd 0



Der Script speichert bzw. lädt die X Y Z Koordinaten vom Spieler. 

Mein Problem ist nun, wie schreibe ich das für ein eigenes Spiel um? 

Ich verstehe nicht wie der Typ hier auf die Assembler 




....
push edx
mov edx,[eax+30]
mov [x_coord],edx
mov edx,[eax+34]
mov [z_coord],edx
mov edx,[eax+38]
mov [y_coord],edx
pop edx
jmp originalcode
...

mov [l_enable],0

cmp [z_coord],0

je originalcode

push edx

mov edx,[x_coord]

mov [eax+30],edx

mov edx,[z_coord]

mov [eax+34],edx

mov edx,[y_coord]

mov [eax+38],edx
pop edx
.........

usw kommmt.
:P
Suchen
Antworten
iNvIcTUs oRCuS Offline
Super Moderator
****
Beiträge: 2.688
Themen: 529
Registriert seit: Aug 2010
Bewertung: 19
#9
12.12.2016, 09:21 (Dieser Beitrag wurde zuletzt bearbeitet: 12.12.2016, 09:22 von iNvIcTUs oRCuS.)
Das ist ja auch nur ein Beispiel...
Das kannst Du nicht "Eins-zu-Eins" ummünzen auf dein Spiel, das geht nur bedingt.

Wenn Du die Player Koordinaten bereits hast dann ist der Rest eigentlich ziemlich einfach.
Auf deine Player Koordinaten (Eine reicht) klickste mit Rechts und wählst dann, wie weiter oben schon zu sehen, "Find out what accesses...".
Da werden dir sämtliche Opcodes aufgelistet welche die ausgewählte Koordinate beeinflussen...

Im Idealfall werden von diesem Opcode nur die Koordinaten durchlaufen, also 3 Adressen.
Im schlimmsten Fall werden, und davon gehe ich aus, mehr als nur die 3 Koordinaten durchlaufen... Das bedeutet dann das Du erstmal die Player Struktur identifizieren musst. Heißt wiederrum mit anderen Worten das Du die Memo aussieben musst um sicherzustellen das Du nur die Koordinaten manipulierst.

Und das wäre dann der Punkt wo dein Beispielscript schon wieder mehr oder weniger nutzlos wird weil es zu unterschiedlich ist.

Ich erinnere Dich an dieser Stelle nochmal an das Teleporter Tutorial von DNA...
Dieses findest Du hier ---> Teleport Tutorial zu Alien Breed

grEEtZ iNvIcTUs oRCuS
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

Traineranfragen per PM werden prinzipiell gelöscht...

[Bild: signatur6akm7.gif]
Suchen
Antworten
IHacked Offline
Junior Member
**
Beiträge: 34
Themen: 10
Registriert seit: May 2011
Bewertung: 0
#10
18.12.2016, 22:55
(12.12.2016, 09:21)iNvIcTUs oRCuS schrieb: Das ist ja auch nur ein Beispiel...
Das kannst Du nicht "Eins-zu-Eins" ummünzen auf dein Spiel, das geht nur bedingt.

Wenn Du die Player Koordinaten bereits hast dann ist der Rest eigentlich ziemlich einfach.
Auf deine Player Koordinaten (Eine reicht) klickste mit Rechts und wählst dann, wie weiter oben schon zu sehen, "Find out what accesses...".
Da werden dir sämtliche Opcodes aufgelistet welche die ausgewählte Koordinate beeinflussen...

Im Idealfall werden von diesem Opcode nur die Koordinaten durchlaufen, also 3 Adressen.
Im schlimmsten Fall werden, und davon gehe ich aus, mehr als nur die 3 Koordinaten durchlaufen... Das bedeutet dann das Du erstmal die Player Struktur identifizieren musst. Heißt wiederrum mit anderen Worten das Du die Memo aussieben musst um sicherzustellen das Du nur die Koordinaten manipulierst.

Und das wäre dann der Punkt wo dein Beispielscript schon wieder mehr oder weniger nutzlos wird weil es zu unterschiedlich ist.

Ich erinnere Dich an dieser Stelle nochmal an das Teleporter Tutorial von DNA...
Dieses findest Du hier ---> Teleport Tutorial zu Alien Breed

grEEtZ iNvIcTUs oRCuS



Ok, ich habe mir das Tutorial von DNA angeschaut und musste leider feststellen, dass das gar nicht erklärt wird, wie das ganze funktioniert. (außer die Spieler Koordinaten zu finden.)
Habt ihr vielleicht im Forum andere Tutrioals wie das mit dem 'save values' und 'load values' funktioniert? Wie muss ich bei jedem Spiel vorgehen?
:P
Suchen
Antworten
Share Thread:            
Seiten (2): 1 2 Weiter »


  • Druckversion anzeigen
  • Thema abonnieren


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste

  • Kontakt
  • Forum team
  • Forum stats
  • Nach oben
 
  • RSS-Synchronisation
  • Lite mode
  • Home of Gamehacking - Archiv
  • Help
 
Forum software by © MyBB - Theme © iAndrew 2014



Linearer Modus
Baumstrukturmodus