Hallo Community,
Ich habe ein kleines Problem. In meinem S4 League Trainer sorgt irgendwas dafür das die Memorys in S4 League nicht "überarbeitet wird". (Kann das grade nicht richtig ausdrücken ^^') jedenfalls hier der Code:
#RequireAdmin
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Crypt.au3>
#include <StaticConstants.au3>
#include <Sound.au3>
#include <NomadMemory.au3>
#include <EPVP_HWID.au3>
MsgBox(48,"Please wait!", "I will check that you give an thanks me.")
$szxURL = 'http://www.elitepvpers.com/forum/s4-league-hacks-bots-cheats-exploits/3087795-release-s4l-mini-ingame.html' ;Test URL
Dim $a_szIgnoredIds[1] = ['x'] ;eigene UserID, Ausnahmen, etc.
_CheckThanks('', $szxURL, $a_szIgnoredIds)
Switch @error
Case 7
If MsgBox(52, 'Error ',' A Thanks would be desirable! open thread?') == 6 Then ShellExecute($szxURL)
Exit
Case Else
MsgBox(48, 'Danke', 'Thanks Have Fun!')
EndSwitch
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("[Team FTW] Have Fun Hack", 660, 452, -1, -1)
GUISetCursor (3)
$Label1 = GUICtrlCreateLabel("By Official Di!mar ", 560, 432, 87, 17)
GUICtrlSetColor(-1, 0x008080)
GUICtrlSetBkColor(-1, 0x000000)
$Button1 = GUICtrlCreateButton("Start", 326, 367,100, 50)
GUICtrlSetCursor (-1, 0)
$Button2 = GUICtrlCreateButton("Exit", 226, 367, 100, 50)
GUICtrlSetCursor (-1, 0)
$Checkbox9 = GUICtrlCreateCheckbox("God Mode", 40, 120, 97, 17)
$Checkbox14 = GUICtrlCreateCheckbox("1 hit kill", 40, 168, 97, 17)
$Checkbox8 = GUICtrlCreateCheckbox("Channel no lvl", 466, 144, 97, 17)
$Checkbox2 = GUICtrlCreateCheckbox("****", 160, 120, 97, 17)
$Checkbox13 = GUICtrlCreateCheckbox("Block HP", 160, 168, 97, 17)
$Checkbox1 = GUICtrlCreateCheckbox("200HP", 106, 144, 97, 17)
$Checkbox3 = GUICtrlCreateCheckbox("Inf sp", 280, 120, 97, 17)
$Checkbox11 = GUICtrlCreateCheckbox("Bind Range", 280, 168, 97, 17)
$Checkbox4 = GUICtrlCreateCheckbox("Damage x2", 226, 144, 97, 17)
$Checkbox5 = GUICtrlCreateCheckbox("H.Riffle no fail", 400, 120, 97, 17)
$Checkbox10 = GUICtrlCreateCheckbox("Inf Amo", 400, 168, 97, 17)
$Checkbox6 = GUICtrlCreateCheckbox("No laser", 346, 144, 97, 17)
$Checkbox7 = GUICtrlCreateCheckbox("WallJump teleport", 520, 120, 99, 17)
$Checkbox12 = GUICtrlCreateCheckbox("Instant Respawn", 520, 168, 99, 17)
$Slider1 = GUICtrlCreateSlider(32, 345, 99, 25)
$Button3 = GUICtrlCreateButton("Set Volume", 32, 367, 99, 15, 0)
GUICheckBoxSetColor($Checkbox1,0x000000,$GUI_BKCOLOR_TRANSPARENT )
GUICheckBoxSetColor($Checkbox2,0x000000,$GUI_BKCOLOR_TRANSPARENT )
GUICheckBoxSetColor($Checkbox3,0x000000,$GUI_BKCOLOR_TRANSPARENT )
GUICheckBoxSetColor($Checkbox4,0x000000,$GUI_BKCOLOR_TRANSPARENT )
GUICheckBoxSetColor($Checkbox5,0x000000,$GUI_BKCOLOR_TRANSPARENT )
GUICheckBoxSetColor($Checkbox6,0x000000,$GUI_BKCOLOR_TRANSPARENT )
GUICheckBoxSetColor($Checkbox7,0x000000,$GUI_BKCOLOR_TRANSPARENT )
GUICheckBoxSetColor($Checkbox8,0x000000,$GUI_BKCOLOR_TRANSPARENT )
GUICheckBoxSetColor($Checkbox9,0x000000,$GUI_BKCOLOR_TRANSPARENT )
GUICheckBoxSetColor($Checkbox10,0x000000,$GUI_BKCOLOR_TRANSPARENT )
GUICheckBoxSetColor($Checkbox11,0x000000,$GUI_BKCOLOR_TRANSPARENT )
GUICheckBoxSetColor($Checkbox12,0x000000,$GUI_BKCOLOR_TRANSPARENT )
GUICheckBoxSetColor($Checkbox13,0x000000,$GUI_BKCOLOR_TRANSPARENT )
GUICheckBoxSetColor($Checkbox14,0x000000,$GUI_BKCOLOR_TRANSPARENT )
_WinFade_BK($Form1, "in")
$Pic1 = GUICtrlCreatePic("main\ftw11.jpg", 0, -8, 660, 113)
$Pic2 = GUICtrlCreatePic("main\Addictive-Computer-Have-fun_www.FullHDWpp.com_.jpg", 0, 104, 660, 348)
$handle = _SoundOpen(@ScriptDir & "\Dreaming.mp3")
_SoundPlay($handle)
SoundSetWaveVolume(40)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
MsgBox(4096, "03.03.2014", "Script By : D!eMar//xLoader", 0)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $button2
Exit
Case $GUI_EVENT_CLOSE
Exit
Case $button1
_something()
Case $Button3
$Read=GUICtrlRead($Slider1)
ToolTip($Read)
SoundSetWaveVolume($Read)
EndSwitch
WEnd
Func GUICheckBoxSetColor(ByRef $CtrlID,$iColor,$iBkColor="0xF1EDED")
$CtrlHWnd = $CtrlID
If Not IsHWnd($CtrlHWnd) Then $CtrlHWnd = GUICtrlGetHandle($CtrlID)
$aParent = DllCall("user32.dll", "hwnd", "GetParent", "hwnd", $CtrlHWnd)
$aCPos = ControlGetPos($aParent[0],"",$CtrlID)
$sOldT = GUICtrlRead($CtrlID,1)
GUICtrlDelete($CtrlID)
DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 0)
$CtrlID = GUICtrlCreateCheckbox($sOldT,$aCPos[0],$aCPos[1],$aCPos[2],$aCPos[3])
GUICtrlSetColor(-1,$iColor)
GUICtrlSetBkColor(-1,$iBkColor)
DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 7)
EndFunc
Func _WinFade_BK($WinTitle, $Fade = "out", $BkColor = "", $iTime = 250, $Exit = True)
If $Fade = "in" Then
DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $WinTitle, "int", 1000, "long", 0x00080000)
ElseIf $Fade = "out" or $Fade = "" Then
If Not $BkColor = "" Then
GUISetBkColor($BkColor)
EndIf
DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $WinTitle, "int", $iTime, "long", 0x00090000)
Exit
EndIf
EndFunc
Func _something()
ToolTip("Waiting for S4Client...", 0, 0)
$wait = ProcessWait("S4Client.exe")
$pid = ProcessExists("S4Client.exe")
Sleep(1000)
$open = _memoryopen($pid)
If GUICtrlRead($checkbox1) = 1 Then
_memorywrite(5414004, $open, "1166868842", "long")
EndIf
If GUICtrlRead($checkbox2) = 1 Then
_memorywrite(7945525, $open, "2374697578", "long")
EndIf
If GUICtrlRead($checkbox3) = 1 Then
_memorywrite(4772306, $open, "2348565979", "long")
EndIf
If GUICtrlRead($checkbox4) = 1 Then
_memorywrite(4919227, $open, "1300955754", "long")
EndIf
If GUICtrlRead($checkbox5) = 1 Then
_memorywrite(15179559, $open, "2348565979", "long")
EndIf
If GUICtrlRead($checkbox6) = 1 Then
_memorywrite(5421333, $open, "1301115242", "long")
EndIf
If GUICtrlRead($checkbox7) = 1 Then
_memorywrite(4773609, $open, "3641722331", "long")
EndIf
If GUICtrlRead($checkbox8) = 1 Then
_memorywrite(10549654, $open, "837533829", "long")
EndIf
If GUICtrlRead($checkbox9) = 1 Then
_memorywrite(5414101, $open, "1592365200", "long")
EndIf
If GUICtrlRead($checkbox10) = 1 Then
_memorywrite(7882049, $open, "3555299472", "long")
EndIf
If GUICtrlRead($checkbox11) = 1 Then
_memorywrite(4896399, $open, "2047263990", "long")
EndIf
If GUICtrlRead($checkbox12) = 1 Then
_memorywrite(6270386, $open, "989874827", "long")
EndIf
If GUICtrlRead($checkbox13) = 1 Then
_memorywrite(7945565, $open, "2374697834", "long")
EndIf
If GUICtrlRead($checkbox14) = 1 Then
_memorywrite(5417417, $open, "1593591259", "long")
EndIf
Exit
EndFunc
Währe nett, wenn mir jemand sagen könnte, wieso der nicht funktionier ^^'. P.s. Die Adressen sollten die richtigen sein. Habe es mit, hex und dezimal probiert. Ist jetzt in dem Code dezimal.(oder mach ich doch was falsch ? )
Nein! Man kann Adressen auch in Dezimalschreibweise angeben, in diesem Fall haben sie natürlich keinen Hex-Präfix (0x). Der TE hat auch explizit erwähnt, dass im aktuellen Code die Dezimalschreibweise verwendet wird.
Negativ hierbei ist aber, dass die Zahlen als String angegeben werden. AutoIt ist nicht typensicher, daher ist es bei Dezimalschreibweise egal. Folgendes funktioniert ist aber falsch:
Code:
$iBkColor="0xF1EDED"
AutoIt wertet den String nicht aus. Deshalb funktioniert dieser Vergleich nicht, obwohl die Zahlen theoretisch die selben sind:
Code:
If "255" = "0xFF" Then MsgBox(0, "", "1") ; funktioniert nicht
If 255 = 0xFF Then MsgBox(0, "", "2") ;funktioniert
Zahlen sollte man explizit als solche angeben. Ich weiß nicht, wie AutoIt den Speicher verwaltet, aber bei typsicheren Sprachen braucht 0xFFFFFFFF lediglich 4 Byte, wohingegen der String "0xFFFFFFFF" 10 bzw. 20 Byte benötigt.
Zum eigentlichen Problem:
Dein Script ist recht schlampig. Du solltest bei den Memory-Funktion auf Rückgabewerte und/oder Fehler achten. Ausgeführt werden die Befehle zum ändern des Speichers außerdem nur dann, wenn du auf den Button klickst. Einmalig. Prüfe besser in der While-Schleife den Zustand der Checkboxen und manipuliere dann den Speicher entsprechend.
AutoIt wertet den String nicht aus. Deshalb funktioniert dieser Vergleich nicht, obwohl die Zahlen theoretisch die selben sind:
Code:
If "255" = "0xFF" Then MsgBox(0, "", "1") ; funktioniert nicht
If 255 = 0xFF Then MsgBox(0, "", "2") ;funktioniert
Zahlen sollte man explizit als solche angeben. Ich weiß nicht, wie AutoIt den Speicher verwaltet, aber bei typsicheren Sprachen braucht 0xFFFFFFFF lediglich 4 Byte, wohingegen der String "0xFFFFFFFF" 10 bzw. 20 Byte benötigt.
das ist nicht ganz richtig...
vergleicht man aber zwei strings, so werden diese immer auf inhalt überprüft (wie es auch in der regel erwünscht ist). entsprechend kann "255"="0xFF" nur false ergeben. "255"=255, "255"=0xFF, "0xFF"=255, "0xFF"=0xFF hingegen sind immer wahr.
autoit handelt aber binarys von unbestimmter länge allgemein als strings.
die schreibweise von hexadezimalen werten als string ist dementsprechend nicht nur korrekt, sondern bei werten > 0xFFFFFFFF sogar unvermeidlich.
Edit:
die hilfe gibt es in diesem falle noch genauer her... 2 strings werden immer lexiografisch vergleichen (buchstabe für buchstabe). dh "255">"0xFF" da "2">"0".
entsprechend wird es hier bei verwendung von sehr großen zahlen bzw hex werten (in stringschreibweise) schwer, diese miteinander zu vergleichen. hier müsste man entsprechend mit stringoperationen tricksen.
die hilfe gibt es in diesem falle noch genauer her... 2 strings werden immer lexiografisch vergleichen (buchstabe für buchstabe). dh "255">"0xFF" da "2">"0".
entsprechend wird es hier bei verwendung von sehr großen zahlen bzw hex werten (in stringschreibweise) schwer, diese miteinander zu vergleichen. hier müsste man entsprechend mit stringoperationen tricksen.
warum sollte jemand das als string vergleichen ? zahlen sind keine strings also schreibt man die ohne "" und 0xFFFFFF kann man ja auch ohne schreiben (mach ich auch immer)
warum sollte jemand das als string vergleichen ? zahlen sind keine strings also schreibt man die ohne "" und 0xFFFFFF kann man ja auch ohne schreiben (mach ich auch immer)
dann führe mal mit einer beliebigen autoit version eine beliebige mathematische operation mit der zahl: 0x00000000000000001 (entspricht 1) durch...
autoit ist was die hexadezimale, wie auch dezimale schreibweise angeht leider sowohl in der länge, als auch im umfang sehr beschränkt, wodurch für viele operationen die verwendung von strings unumgänglich ist.
Write Memory Issue. 11/13/2012 - .NET Languages - 1 Replies So as the title states, I'm having an issue with this memory write function. It does work, but it seems to write some extra bytes into the next address above the target address. I'm not quite sure how to fix it since my knowledge in visual basic and memory in general isn't that great. I thought I would make post here for feedback while I try to find some stuff on google as well.
Here is the code I have atm. Read works fine.
Public Declare Function ReadProcessMemory Lib "kernel32" Alias...
Memory write 09/25/2012 - .NET Languages - 2 Replies Hallo,
ich bräuchte mal bitte eure hilfe ;D
Mit programmieren kenn ich mich nicht so aus... meine ersten hack für mw3 hab ich mir Cheat Engine gemacht ... das Design war grauenhaft -.- ... nun wollte ich einen mit VB Express 2010 machen ... hab keine ahnung wie ich die memory/speicher bearbeiten kann ...
Habe ein paar module getestet klappt aber nicht-.-
Benutze VB Express 2010.
Wäre schön wenn jmd. mir hilft ^^
Mfg
Memory Write 01/12/2012 - C/C++ - 8 Replies Moin,
ich mach grad ein c++ trainer tutorial durch, hab auch alles bis auf eine kleine sache verstanden ...
Nur von der logik her:
hier mit deklariere ich doch was der neue wert sein soll :
BYTE AmmoValue = {0xA3,0x1C,0x0,0x0};
[VB]Write Memory bzw Read Memory 06/26/2010 - .NET Languages - 8 Replies Hi
Ich hab das TuT von *Guidman* benütz um einen hack zu machen.
So aber nun hab ihc ein paar fragen könnte man memory teil kürzer machen und am besten wie kann man das selber machen weil ich will nihct immer C&P machen.
Und zu Read Memory kann man das auch machen das ein Label immer die Bestimmte Ahnzahl angiebt von dem Pointer?.(Wenn das Read Memory ist ?)
Bitte helf mir
Danke
write memory process problem 10/28/2009 - General Coding - 3 Replies Hey Leute
Habe mir ebem mal das tut von Blackfog angeschaut.
Verstehe es auch, bloss will mein compi nich so wie ich will XD
habe es au scho mit copy and paste versucht, das ding macht einfach nix