Trainer Tutorial

05/21/2010 14:22 Fuyo#1
Hi ,
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.:handsdown:

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 ?
  1. Brain.exe
  2. Autoit
  3. ggf. Koda Form Designer
  4. CE oder anderes Programm zum Adressen finden
  5. 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:
[Only registered and activated users can see links. Click Here To Register...]

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
So , kommen wir nun zum eigentlichen "hacken".

Code:
While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

	EndSwitch
WEnd
Diese While Schleife ist für uns wichtig ! Wir schreiben hinter
Code:
Case $GUI_EVENT_CLOSE
			Exit
einfach

Code:
 
Case $Button1
Damit legen wir nun fest , was passiert wenn wir auf Button1 klicken.
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
So , nun benötigen wir folgende Informationen :
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)
Der Tooltip , ist nicht wichtig , aber ganz nett ;).
$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" )
Global $ReadAdd.... ließt einfach nur Input1 aus.
$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 ;)
05/21/2010 15:02 ~Lee~#2
Grigst ein Thanks für die mühe. :awesome:
05/21/2010 15:05 Fre4kB3nni#3
cooles bild firefox :D

@Fuyo Nice Tut hast nen thx
05/21/2010 15:05 Sakus#4
is ja schön und gut aba wenn du das denn soooo gut kannst erstell doch einfach einen^^
05/21/2010 15:47 schnewin#5
Das hat aber nichts mit 4Story zu tun. Du hättest es in dem [Only registered and activated users can see links. Click Here To Register...] posten.
#report Falscher Bereich.
_____
MFG
05/21/2010 16:03 Sakus#6
falsch reportet!
ich würde sagen wenn du es mit 4Story hackls machst gehörts hier rein bloß bei hack&bots
05/21/2010 16:20 expo_botter#7
OMG Fuyo, das Tut funzt net bei 4Story schon mal drüber nachgedacht? Nein? Du kannst Open-/Read-/WriteProcessMemory in den Arsch schieben bei 4Story weil Ahnlab Memoryedit auf Userebene blockt. und NtOpen-/NtRead-/NtWriteProcessMemory werden auch gelockt also ist von einem Thanks dringend abzuraten.

Eigentlich ist dein Thread epic fail.

1. Was brauche ich ?
1. Brain.exe

Mit Brain.exe hättest du gewusst das Ahnlab ME blockt

Edit: Man kann auch _MemoryRead() mit int nachen, da sowieso mit DWORD gecallt wird.
05/21/2010 17:42 checker0899#8
wo muss ich das
Quote:
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)Der Tooltip , ist nicht wichtig , aber ganz nett .
$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" )Global $ReadAdd.... ließt einfach nur Input1 aus.
$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
reinschreiben hinter WEnd??
05/23/2010 16:05 Str33tWalk3r#9
Quote:
Originally Posted by Fuyo
Pinball von Micisoft
OMG!!!
DIe Firma kenn ich nicht. Ich kenn halt nur Microsoft.

Schick du mir mal den LInk von Micisoft xDD :facepalm:
05/24/2010 23:12 Fuyo#10
Quote:
OMG!!!
DIe Firma kenn ich nicht. Ich kenn halt nur Microsoft.

Schick du mir mal den LInk von Micisoft xDD
Failed hard ?
Ich bedauere sehr das du diesen Antiwitz mit micisoft nicht verstanden hast.
05/28/2010 22:39 FichteFoll#11
Hm ich glaube zwar, dass es bestimmt schon solche Tut's gibt, aber was solls.
Übrigens sieht es so aus, dass die Kommata ziemlich willkürlich gesetzt wurden...
05/29/2010 07:56 buFFy!#12
Quote:
Originally Posted by FichteFoll View Post
Hm ich glaube zwar, dass es bestimmt schon solche Tut's gibt, aber was solls.
Übrigens sieht es so aus, dass die Kommata ziemlich willkürlich gesetzt wurden...
Wollt ich auch sagen.

Ich find das Tutorial einfach schlecht ;>
Ich glaub du verstehst nicht wirklich was du da machst, sondern wolltest einfach ein paar Thanks ergattern.

Quote:
So , kommen wir nun zum eigentlichen "hacken".
Und danach erklärst du die GUIMessages..
07/04/2010 22:42 Bommi123#13
Nice Tutorial!!
Bei Mir Geht Alles =)