Play4S 4Story Nexon Multihack by Sukox

01/17/2012 21:15 Sukox#1
Hallo Elitepvpers,

Heute möchte ich euch meinen Play4S 4Story Nexon Multihack vorstellen.

Aktuelle Version : v1.1

Letzte Änderung :
- Flyhack Hinzugefügt
- Mobkiller Hinzugefügt

VT Scan: [Only registered and activated users can see links. Click Here To Register...]

Hack und Screen sind unten im Anhang

Ein Thanks wäre sehr nett !
01/17/2012 23:15 *scarface*#2
First One #1 ;)

Spiele zwar nicht auf Nexon, aber ich finds super, wenn es viele, vor allem kostenfreie Hacks gibt :)
01/18/2012 07:54 Sukox#3
Danke mache jetzt ein Update wo ich mehrere funktionen rein mache ;D
01/18/2012 14:26 Logtetsch#4
Wie hast du das mit Autoit hinbekommen ? Ich dachte die Commands wie "_MemoryPointerWrite" werden von GameGuard geblock :O

Edit : Wtf hast du in deinem Script rein gemacht ? sowie du das Teil geschrieben hast, kann es nicht klappen.

Beispiel :
PHP Code:
CASE $CHECKBOX3
FUNC _SHOPHACK
()
$PID=PROCESSEXISTS("TClient.exe")
_MEMORYOPEN($PID)
$VALUE=GUICTRLREAD($INPUT2)
_MEMORYWRITE(7443280,***,***,$PID,$VALUE,"byte[4]")
ENDFUNC 
Wtf ?? Warum machst du das mit Case ? Fly, Skillfreeze und und und würde so auf keinen Fall funktionieren. Warum benutzt du _MemoryWrite ? Dann noch "byte[4]". Warum benutzt du nicht ganz einfach "DWORD" ? egal :D Außerdem erstellst du eine Funktion während dein Script läuft ^^ Ist zwar nicht schlimm, aber sehr umständlich ;)

Mach das mal so

PHP Code:
Global $PID ProcessExists ("TClient.exe")
Global 
$Base 0x7443280
Global $offsetshop[3]
$offsetshop[0] = 0
$offsetshop
[1] = 0x***
$offsetshop[2] = 0x***

While 
1
$Open 
_MemoryOpen ($PID)

If 
guictrlread ($checkbox1) = 1 then
_MemoryPointerWrite 
($Base$Open$offsetshop1
else
_MemoryPointerWrite ($Base$Open$offsetshop0) ; Das else kannst du weglassen
endif

$close _MemoryClose ($Open)
Wend 
01/18/2012 16:08 Sukox#5
danke Log
01/18/2012 17:13 KDeluxe#6
Ja, das Script ist Müll.
Quote:
Originally Posted by Logtetsch View Post
Mach das mal so

PHP Code:
Global $PID ProcessExists ("TClient.exe")
Global 
$Base 0x7443280
Global $offsetshop[3]
$offsetshop[0] = 0
$offsetshop
[1] = 0x***
$offsetshop[2] = 0x***

While 
1
$Open 
_MemoryOpen ($PID)

If 
guictrlread ($checkbox1) = 1 then
_MemoryPointerWrite 
($Base$Open$offsetshop1
else
_MemoryPointerWrite ($Base$Open$offsetshop0) ; Das else kannst du weglassen
endif

$close _MemoryClose ($Open)
Wend 
Du überprüfst nie, ob der Prozess existiert, oder ob du ein gültiges Handle als Rückgabewert bekommst. Startet man das Script, ohne das 4Story schon läuft, schmiert es gleich ab. Beendet man 4Story vor dem Script trifft selbiges zu.
Ohne weitere Überprüfung fressen die ständigen "_MemoryOpen" und "_MemoryClose" Funktionsaufrufe nur unnötig Ressourcen. Da wäre es besser, wenn man das Script vor 4Story starten muss und "_MemoryOpen" nur einmalig benutzt wird. Handles werden beim beenden von AutoIt Scripts automatisch "geschlossen", "_MemoryClose" würde also komplett entfallen.
Das die Checkbox Variable nie deklariert wurde kreide ich jetzt nicht an, es ist ja nur ein Beispiel. Es geht mir um den Effekt. Wenn das Script läuft und der Shophack nicht ständig aktiv ist kann man von NPCs keine Items kaufen, da sich das Shopfenster nicht öffnet. Der Rat mit weglassen ist auch nicht gut gemeint. Beim aktivieren des Shophacks sollte man eher eine Variable auf "true" setzen. Wird der Hack deaktiviert und die Variable beinhaltet den Wert "true", schließt man das Fenster einmalig und setzt den Wert der Variable auf "false". So kann man auch Items bei NPCs kaufen bzw. verkaufen.
Du musst die benötigten Parameter auch nicht unbedingt alle als globale Variablen definieren. Die Offsets so einem Array zuzuweisen ist Platzverschwendung, das geht auch kürzer. Und warum benutzt du *** bei den Offsets? Ich habe die Pointer released.

Falls du argumentieren möchtest, dass es nur ein Beispiel sei: Wegen schlechten Beispielen entstehen oftmals unnötige Fragen.
Ich habe mal ein vollständiges Beispiel erstellt:
Code:
#include <GUIConstantsEx.au3>
#include <NomadMemory.au3>

GUICreate("KD", 200, 60)
$C_Speed = GUICtrlCreateCheckbox("Speedhack", 5, 5, 90, 17)
$I_Speed = GUICtrlCreateInput("16500", 100, 5, 95, 21)
$C_Skill = GUICtrlCreateCheckbox("Skillhack", 5, 35, 90, 17)
$I_Skill = GUICtrlCreateInput("", 100, 35, 95, 21)
GUISetState()

$Base = 0x719350
Dim $O_Speed1[3] = [0, 0xAF8, 0x9F8]; Standard: 1063675494, +1: 65536
Dim $O_Speed2[3] = [0, 0xAF8, 0xA04]; Standard: 1063675494, +1: 65536
Dim $O_Skill[3]	 = [0, 0xAF8, 0x460]; 327680000 + Skill ID

Do
	$ProcessId = ProcessExists("TClient.exe")
	If $ProcessId > 0 Then; wenn der Prozess "TClient.exe" existiert
		$Handle = _MemoryOpen($ProcessId)
		If Not @error Then; wenn kein Fehler aufgetreten ist (= gültiges Handle)
			If BitAND(GUICtrlRead($C_Speed), $GUI_CHECKED) Then; wenn die Checkbox "C_Speed" ausgewählt wurde
				$SpeedValue = GUICtrlRead($I_Speed) * 65536
				_MemoryPointerWrite($Base, $Handle, $O_Speed1, $SpeedValue)
				_MemoryPointerWrite($Base, $Handle, $O_Speed2, $SpeedValue)
			EndIf

			If BitAND(GUICtrlRead($C_Skill), $GUI_CHECKED) Then; wenn die Checkbox "C_Skill" ausgewählt wurde
				$SkillValue = GUICtrlRead($I_Skill) + 327680000
				_MemoryPointerWrite($Base, $Handle, $O_Skill, $SkillValue)
			EndIf

			_MemoryClose($Handle)
		EndIf
	EndIf
	Sleep(50); reduziert die CPU auslastung
Until GUIGetMsg() == $GUI_EVENT_CLOSE
;Script
;wurde
;nicht
;vollständig
;angezeigt
Bringen wird es allerdings nicht viel. Mit AutoIt kommt man nicht weit. Das hat SilverAngel(CZ) auch gemerkt, nachdem er ein Screenshot seiner GUI in meinem Thread gepostet hat und den Hack für den nächsten Tag versprochen hat. Ist wohl nicht's draus geworden.
01/18/2012 17:28 Logtetsch#7
Ich hatte auch nicht vor ihm ein C&P script zu bauen. Das war nur ein Beispiel wie er das besser machen könnte bzw. dass es überhaupt funktionieren würde ;)
01/18/2012 17:36 KDeluxe#8
Funktionieren tut es sowieso nicht. Ein C&P Script hat er schon, das macht dien Script nicht besser. Ich sehe das ganze zwar nicht so kritisch, sehe aber auch, wie viele Fragen sich im Vorfeld vermeiden lassen.
01/19/2012 15:04 Sukox#9
danke KD ;D
01/19/2012 15:59 KDeluxe#10
Das nächste mal einfach den "Thanks" Button benutzen. Solche Beiträge können eine Warnung mit sich ziehen.