da ich keine Lust habe mir Adressen rauszusuchen und gerade eh kein 4Story auf dem Rechner habe , schreibe ich einfach mal ein simples Tutorial , wie ihr einen 4Story Trainer erstellen könnt.
Der Trainer , wird am Beispiel von Pinball von Micisoft erklärt.
Da dies ein Tutorial , ist solltet ihr gründlich und genau lesen.
Ich werde es extra nicht an 4Story erklären , damit ihr selbst den Source
schreiben müsst !
1. Was brauche ich ?
- Brain.exe
- Autoit
- ggf. Koda Form Designer
- CE oder anderes Programm zum Adressen finden
- Finger o.ô
Ok , wie ihr die Adressen bekommt , werde ich nicht erklären.
Dafür gibt es genug andere Tuts , einfach mal google benutzen oder die SuFu.
Ok , habt ihr eure Adresse (in meinem Fall die Punktezahl bei Pinball) startet Autoit.
2. Wir starten das Coden
Damit ihr die Adresse bearbeiten könnt benötigt ihr eine .au3 Datei , diese könnt ihr hier downloaden:

Danach müsst ihr sie in folgenden Ordner ablegen : C:\Programme\AutoIt3\Include
Ok , folgenden Code schreibt ihr nun in Autoit , er dient zum einbinden von nötigen .au3 Datein und einen simplen GUI (1 Button , 1 Input)
Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <NomadMemory.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 623, 442, 192, 124)
$Input1 = GUICtrlCreateInput("Input1", 56, 8, 121, 21)
$Button1 = GUICtrlCreateButton("Button1", 192, 8, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Code:
While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd
Code:
Case $GUI_EVENT_CLOSE Exit
Code:
Case $Button1
So müsste dein Code nun sein , wenn du alles richtig gemacht hast (nur die While Schleife)
Code:
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
EndSwitch
WEnd
1. Fenster Namen -> TClient.exe (bei 4Story) Pinball.exe bei mir
2. Die Adressen , die wir verändern möchten.
Als erstes , soll unser Programm nach drücken von Button1 , warten bis Pinball/4Story läuft und dann überprüfen ob der Prozess exestiert .
Danach wird die Memory vom Prozess geöffnet.
Code:
ToolTip("Made by Fuyo",0,0)
$wait = ProcessWait("DeinProzess.exe")
Sleep(500)
$PID = ProcessExists("DeinProzesst.exe")
$Open = _MemoryOpen($PID)
$wait , ist eine Variable , genau wie die anderen.
Sleep(500) , wartet 500 ms.
So , wir möchten nun $Input1 auslesen lassen und unsere Adresse durch das Feld ersetzen. Dies gelingt so :
Code:
Global $ReadAdd=GUICtrlRead($Input1) $PinballAdd = 0x00C49788 $Pinball =_MemoryWrite($PinballAdd,$Open,$Input1,"dword" )
$PinballAdd , ist die Adresse !!! WICHTIG !!! In Hexadezimal , sonst klappt es nicht.
$Pinball , ändert die Adresse , indem er aus der Variable $PinballAdd , die Adresse ausließt , aus $Open den Prozess nimmt und ihn mit $Input1 ersetzt.
Das dword ist einfach nur für den Byte Typ , kann meistens auch weggelassen werden.
So , das war es nun.
Solltet ihr die richtige Adresse haben und das Tutorial verstanden haben , könnt ihr bald wie DarkParadise oder expo einen Trainer releasen
lg
Thanks sind auch gerne gesehen






