Autor Beitrag
Alex_ITA01
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56

Win XP
D7 Prof
BeitragVerfasst: Di 22.02.05 14:16 
ich habe "leider" von 1 Byte bis Double alle Werte durchsucht und nichts gefunden. Ich habe das Spiel gestartet und dann bei TSearch gesehen, dass noch ein zweiter Prozess (der mit dem Spiel verbunden ist) gestartet wurde und habe auch in dem nach dem "Geld"-Wert gesucht.... Leider nichts

MFG Alex
en!gma Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 378

win xp
delphi 7.0
BeitragVerfasst: Di 22.02.05 14:28 
ansonsten versuchs einfach erst mal mit "unknown value" und dann such nach "has increased" oder "has decreased"
Alex_ITA01
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56

Win XP
D7 Prof
BeitragVerfasst: Di 22.02.05 15:27 
oh, danke für den Tip.
Das habe ich noch nicht probiert...
Aber nur mal rein theoretisch, wenn das mit dem "HAS Increased" gehen sollte, müsste dass dann nicht auch mit der Variante gehen, wie ich es in dem oberen Beitrag erklärt habe?

MFG Alex
en!gma Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 378

win xp
delphi 7.0
BeitragVerfasst: Di 22.02.05 17:14 
nicht unbedingt.
es könnte ja mal reintheoretisch sein, dass die programmierer
bei dem wert immer +1 oder sowas in der art (warum auch immer) hinzufügen.
schon dann würde es nicht klappen
Alex_ITA01
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56

Win XP
D7 Prof
BeitragVerfasst: Di 22.02.05 17:47 
sorry aber verstehe ich grade nicht?
ich habe doch für mein Geld ein "festen" Wert und den suche ich ja im Speicher.
Wie meinst du das mit dem +1? Dann müsste ich doch trotzdem mein Startkapital von 1000 finden und dann nach paar Sekunden 1005.. Nur leider gibt es manche Geldbeträge die ich im Spiel habe, überhaupt nicht im Speicher... Naja ich versuche es heute Abend mal mit "Has Increased"

MFG Alex
Alex_ITA01
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56

Win XP
D7 Prof
BeitragVerfasst: Mi 23.02.05 10:01 
also ich habe es gestern Abend mal mit dem "HAS INCREASED" probiert.
Folgende Situtation:
-Ich habe beim Spielstart 1000 "Geldeinheiten"...
-Ich habe nach "unknown value" gesucht -> glaube über 500000 oder so gefunden
-Ich habe dann 350 Geldeinheiten abgezogen bekommen
-Ich habe nach "HAS DECREASED" suchen lassen und als 2Byte (650 restliche Geldeinheiten=2Byte!?)
Schlussfolgerung: Leider 0 Einträge gefunden.
Ich verstehe es echt nicht mehr...
Hat zufällig jemand das Spiel und kennt sich mit dem Thema "Spiele-Trainer erstellen" aus?
Mir fehlen langsam echt die Ideen...

MFG Alex
Alex_ITA01
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56

Win XP
D7 Prof
BeitragVerfasst: Mi 23.02.05 15:06 
jippi :D
Ich habe es jetzt mit Cheat 'O Matic (ist unter www.downloads.de zu finden) hinbekommen, die Speicheradressen für die Geldeinheiten in Herr der Ringe - Schlacht um Mittelerde auszulesen.
Ich hänge mal den Screenshot an...
Nur leider weiß ich nichts mit dieser Speicheradresse anzufangen (also wie schreibe ich mir ein Trainer in Delphi zu einer Speicheradresse x6152C58:731 x50A81F4:701 ???)
Ich wäre über jeden Tip dankbar.

MFG Alex

sorry aber ich bin anscheind zu blö... ein Bild hier anzuhängen...
Jedenfalls wird mir die oben genannte Speicheradresse angezeigt.
Wie kann ich die in Delphi einbinden?

@retnyg: Habe es grade gemerkt....


Zuletzt bearbeitet von Alex_ITA01 am Mi 23.02.05 15:10, insgesamt 2-mal bearbeitet
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Mi 23.02.05 15:08 
Alex_ITA01 hat folgendes geschrieben:
Ich hänge mal den Screenshot an...

hrhrhr denkste. in diesem forum nicht möglich. da musst du wohl erst irgenwo einen webspace anmieten... :twisted:
Alex_ITA01
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56

Win XP
D7 Prof
BeitragVerfasst: Do 24.02.05 14:48 
Hat keiner eine Idee, wie ich folgende Speicheradresse in Delphi "ändern" kann?
x6152C58:731 x50A81F4:701
Muss ich da jetzt beide überschreiben mit "NIL" ($90) oder nur eine?
Und was bedeutet das :731 bzw. :701 dahinter?

MFG Alex
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Do 24.02.05 15:14 
ich habe immer das problem bei tsearch, wenn ich eine adresse gefunden habe, (autohack window) und dann etwas noppe, dann funzt es, im delphi programm dann aber nicht mehr.
ich gucke mir immer im disassembler an, wie viel da genoppt wird, und das mache ich dann nach, funktioniert aber nicht mit jedem code ...

welcher code sit denn absolut zuverlässig ?
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Do 24.02.05 15:21 
vielleicht nimmst du einfach einer der routinen die in dem thread rumschwirren und nimmst halt diese adresse : 6152C58
das x davor bedeutet nur dass es sich um einen hexwert handelt. was das 701 bedeutet weiss ich auch nicht, könnte aber der wert sein. da das min. ein word ist musst du also min. 2 bytes überschreiben. probier halt mal rum
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Do 24.02.05 15:29 
ich finde es bei hl2 komisch, ich habe gesucht und gefunden womit die lebensenergie vermindert wird, wenn ich die adresse noppe, dann sind auch die gegner unsterblich, dann habe ich die adresse gefunden, mit der sich nur die eigene lebensenergie verringert (nicht erhöht) aber mein programm killt damit immer den prozess.
und die adresse finde ich net wieder ... :(
Alex_ITA01
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56

Win XP
D7 Prof
BeitragVerfasst: Do 24.02.05 15:41 
wie meinst du das:
Zitat:

vielleicht nimmst du einfach einer der routinen die in dem thread rumschwirren und nimmst halt diese adresse : 6152C58


Wieso routinen die im thread rum schwirren?
Oder meinst du jetzt einfach nur ich soll nur die adresse 6152C58 nehmen und die zweite gar nicht beachten?!

MFG Alex
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Do 24.02.05 15:45 
ich glaube er meint mich :lol: :?: :gruebel: :think:
Alex_ITA01
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56

Win XP
D7 Prof
BeitragVerfasst: Do 24.02.05 16:12 
warum schreibt er dann:
Zitat:

vielleicht nimmst du einfach einer der routinen die in dem thread rumschwirren und nimmst halt diese adresse : 6152C58

Die Adresse habe ich ja oben genannt. Trifft die auch auf dich zu?
Ist ja auch egal...

MFG Alex
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Do 24.02.05 17:23 
Alex_ITA01 hat folgendes geschrieben:
wie meinst du das:
Zitat:

vielleicht nimmst du einfach einer der routinen die in dem thread rumschwirren und nimmst halt diese adresse : 6152C58


Wieso routinen die im thread rum schwirren?
Oder meinst du jetzt einfach nur ich soll nur die adresse 6152C58 nehmen und die zweite gar nicht beachten?!

MFG Alex

ich meine die Speicher-NOP routine die ich hier mal gepostet habe (glaube seite 3 oder so)

als speicheradresse nimmst du die 2 werte die du da genannt hast, nur ohne das X davor
Alex_ITA01
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56

Win XP
D7 Prof
BeitragVerfasst: Fr 25.02.05 14:46 
Hallo erstmal,
ich habe es jetzt wie folgt probiert:
Ich habe mir ein Thread geschrieben, der alle Speicheradressen (die mir das Programm Cheat 'O Matic anzeigt) mit "NIL" überschreibt.
$6152C50 ; $50A8208 ; $12E54FC (<- diese 3 Stück meine ich)
Juhu...
Das funktioniert auf meinem PC super. Mein Geldwert hat ein gigantischen Wert und ist eingefroren.
Mein Problem ist jetzt aber, ich teste genau das gleiche Delphiprogramm auf einem anderen PC (wo Herr der Ringe auch installiert ist) und es geht nicht!!! Mit Cheat 'O Matic bekomme ich auch ganz andere Speicheradressen angezeigt.
Wie kann ich jetzt den Trainer so programmieren, dass es auch auf jeden Rechner geht? Das die Speicherbereiche unterschiedlich sind, hängt ja sicherlich mit den Programmen ab, die noch so im Speicher rumschwirren...

Ich wäre über jeden Tip dankbar

MFG Alex
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Fr 25.02.05 14:54 
die ersten beiden adressen könnten in einer dll liegen - da die aber auf dem anderen PC anders sind werden is wohl mit HeapAlloc / Virtualalloc erst allociert also ändern sich auch von PC zu PC

du musst halt nun das spiel debuggen um zu schaun wie das spiel an diese adresen drankommt, es wird mindestens eine fixe adresse geben die darauf hinzeigt z.b.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
asm
  mov eax, [$00401111]     <- fixe adresse, an der steht immer $6152C50 die kann aber auf jedem PC anders sein
  mov eax, [eax]           // $6152C50  <- hier wird mit deiner adresse weitergerechnet
  add [eax], $10           // $10 addieren
end;


die 3 adresse ist definitiv aufm stack, die würde ich net ändern, nicht mal an deinem PC ;>
Net-Spider
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Fr 25.02.05 14:57 
in vielen spielen wird DMA genutzt, "dynamic memory allocation" oder sowas in der art.
wenn man sich die stellen mal mit einem debugger anschaut, dann sieht man, dass nicht eine feste stelle geändert wird,
sondern das mit pointer gemacht ist.
die adresse, die geändert werden soll steht dann irgendwo anders im speicher IMMER AN DER SELBEN STELLE,
also müsstest du diese feste adresse lesen und dann an dieser gelesenen adresse nachschauen und verändern.

da fällt mir gerade ein, geht es um das ändern eines wertes (geld,leben,...) oder darum, einen wert einzufrieren?

beim einfrieren muss das immer an der selben stelle sein, bei dem wert wird dma genutzt.

[edit]zu langsam :-)[/edit]
[edit2]hm, das stand ja schon alles auf seite 1, so ein mist...[/edit2]


Zuletzt bearbeitet von Net-Spider am Fr 25.02.05 15:01, insgesamt 2-mal bearbeitet
Alex_ITA01
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56

Win XP
D7 Prof
BeitragVerfasst: Fr 25.02.05 14:58 
ich habe folgende Vorlage:
Mein PC:
$6152C50
$50A8208
$12E54FC

Der andere PC hat folgende Adressen:
$E71C420
$560B030
$12E54FC

Wie meinst du das jetzt mit "HeapAlloc / Virtualalloc " ?
Kennst du ein Beispiel dafür oder kannst du es vielleicht ein wenig genauer erklären?

Danke schön...
MFG Alex

Edit: es geht nur darum Geld einzufrieren...
edit: macht nix net-spider :-)