Home of Gamehacking

Normale Version: Frage zu Solitär Basepointer
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
Heyho HoG Community,
Ich bin neu auf dieses Forum gestoßen und ich muss sagen :
+ Der Quell an Informationen ist riesig Smiling
+ Viele Tutorials
Und es gefällt mir sehr... Nunja zu meine Problem:
Ich habe vor kurzem mit Gamehacking in vb.net angefangen.Außerdem hab ich mir mal zu Testzwecken einen Trainer in "Windows Solitär" erstellt, bzw. Ich habe es versucht :-/ . So dann taucht auch schon das erste Problem auf... In Solitär hab ich den Basepointer : "solitaire.exe+BAFA8" mit dem Offset von " 50 " herausgefunden. Danach hab ich mich hier mal umgeschaut und bin schlussendlich bis an diesen Punkt gekommen :

PHP-Code:
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim Base_pointer As Int32
        Dim Pointer_teil1 As Integer
        Dim Pointer_teil2 As Integer
        Dim FFD40000 As Int32
        Dim BAFA8 As Int32

        Pointer_teil1 = FFD40000
        Pointer_teil2 = BAFA8
        Base_pointer = Read_Long(Pointer_teil1 + Pointer_teil2)
        Write_Long(Base_pointer + &H50, 288)
    End Sub

End Class


Hierbei ist zu beachten, dass Pointer_teil1 das "solitaire.exe" und das der Pointer_Teil2 das "BAFA8" sein soll. Warscheinlich hab ich mit den ganzen Variablen usw. einen Fehler gemacht... Und wie viele Offsets muss ich schlussendlich benutzen, wenn ich dies bei Cheat engine eingetragen habe?
[Bild: 5I1If.jpg]

Ich hoffe ihr könnt mir helfen... Denn mit meine Wissen bin ich hier am Ende!

Hey,
willkommen hier bei HoG.
Da gibt es jetzt mehrere Möglichkeiten.
Wenn du mein Trainermodul nutzt, welches die Read_Pointer und Write_Pointer
Funktion beinhaltet, dann würde das ganze so aussehen:

[code=VB]

GetProcessId("solitaire")

Dim punkte As Int32
punkte = Read_Pointer(&HFF110000 + &HBAFA8, &H50, &H14)
punkte += 50
Write_Pointer(punkte, &HFF110000 + &HBAFA8, &H50, &H14)
[/code]

Wenn du das ganze allerdings ohne diese beiden Funktionen machen möchtest,
Dann würde das ganze wie folgt aussehen:

[code=VB]
GetProcessId("solitaire")

Dim punkte As Int32
Dim pointer1 As Int32
Dim pointer2 As Int32

pointer1 = Read_Long(&HFF110000 + &HBAFA8)
pointer2 = Read_Long(pointer1 + &H50)
punkte = Read_Long(pointer2 + &H14)

punkte += 50

Write_Long(pointer2 + &H14, punkte)
[/code]

Meine Base von dem Prozess ist momentan, wie oben zu sehen, FF110000.

Was du auf jeden fall nie vergessen solltest ist das
GetProcessId("Prozessname") <-- ohne .exe am Ende!
Wenn du das vergisst, funktioniert das ganze nicht und man sucht stundenlang
nach dem Fehler Wink

Des Weiteren siehst du oben, dass die Base des Prozesses immer
anders ist ... somit müsstest du noch eine Funktion einbauen,
die die Base ausliest.
Wie mir gerade aufgefallen ist, beinhaltet mein Trainermodul 2.0 eine
solche Funktion noch nicht ... das heißt wohl, dass es bald ein Update gibt Wink
Von mir auch erstmal ein herzliches Willkommen hier im Forum.
DNA hats ja eigentlich schon eindeutig erläutert...
Da die Basisadresse immer unterschiedlich sein kann bzw. auch ist, liegt da wahrscheinlich schon dein Problem warum dein Trainer nicht funktioniert.
(23.05.2012, 02:18)sILeNt heLLsCrEAm schrieb: [ -> ]Von mir auch erstmal ein herzliches Willkommen hier im Forum.
DNA hats ja eigentlich schon eindeutig erläutert...
Da die Basisadresse immer unterschiedlich sein kann bzw. auch ist, liegt da wahrscheinlich schon dein Problem warum dein Trainer nicht funktioniert.

Ist die Basisadresse denn die ProcessID oder wie darf ich das verstehen? Und wie mach ich das am besten in eine Funktion... Vielleicht könntest du mir ja zu dem Thread von DNA einen Link schicken.

EDIT : Die Read_Pointer und Write_Pointer funktion hab ich trotzdem nicht.

mfg .SquoI3
So einen thread gibt es noch nicht Wink
Selbst wenn du immer die richtige Base hättest
würde dein Code, den du oben gepostet hast,
nicht funktionieren, da du das GetProcessId vergessen
hast und den Pointer falsch ausliest.
Wenn ich heute von der Arbeit komme poste ich
hier mal die Funktion.
Hey,
hast du Windows 64 Bit? Denn meine GetModuleBaseAddress-Funktion funktioniert nicht bei 64 Bit Programmen (soweit ich mich erinnere).
Ja ... habe windoof 7 64Bit.
Meine Funktion funzt, benutze ich unter
anderem bei dem Anno und Duke Nukem
Trainer.

@.SquoI3
Nutzt du das trainermodul hier ausm Forum?
x64 Apps ist nicht gleich x64 Windows Wink
Das habe ich dann wohl missverstanden.
Das werde ich heute Abend mal testen.
Hey,
jo. Das die Funktion unter x64 bei 32 Bit Programmen funktioniert ist klar. Nur ist Solitair bei Windows 64 auch ein 64 Bit Programm. Meines Wissens (Erfahrung) nach failed da die Funktion.
Seiten: 1 2 3 4