sandor555 Posted June 18, 2010 Share Posted June 18, 2010 expandcollapse popup#RequireAdmin #include <GUIConstants.au3> #include <NomadMemory.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 235, 114, 193, 125) $label1 = GUICtrlCreateLabel("DMG Hack", 16, 32, 58, 17) $dmg = GUICtrlCreateInput("Value", 88, 32, 121, 21) $setdmg = GUICtrlCreateButton("Set !", 16, 64, 163, 33, 0) GUISetState(@SW_SHOW) Global $Pointer = 0x00686D04 Global $Open = _MemoryOpen(ProcessExists("TClient.exe")) Global $Offset[3] = [0, 0xa08, 0x484] Global $Bedingung = 0 While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $setdmg If $Bedingung = 0 Then $Bedingung = 1 ElseIf $Bedingung = 1 Then $Bedingung = 0 EndIf EndSwitch SetDmg() WEnd Func SetDmg() If $Bedingung = 1 Then _memorypointerwrite ($Pointer, $Open, $Offset, GUICtrlRead($dmg)) EndFunc error code: C:\Documents and Settings\myname\Asztal\5.au3(35,91) : ERROR: _memorypointerwrite(): undefined function. If $Bedingung = 1 Then _memorypointerwrite ($Pointer, $Open, $Offset, GUICtrlRead($xy)) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Documents and Settings\Tóth Sándor\Asztal\5.au3 - 1 error(s), 0 warning(s) What's wrong? Link to comment Share on other sites More sharing options...
l3ill Posted June 18, 2010 Share Posted June 18, 2010 It looks like you havent set up the _memorypointerwrite() function that you are trying to call... My Contributions... SnippetBrowser NewSciTE PathFinder Text File Manipulation FTP Connection Tester / INI File - Read, Write, Save & Load Example Link to comment Share on other sites More sharing options...
Yoriz Posted June 18, 2010 Share Posted June 18, 2010 ERROR: _memorypointerwrite(): undefined function. You trying to use a function that is not defined, is this _memorypointerwrite() written exactly as it is in the include file. Have you put the right #include <......> at the top of your script that contains this function. GDIPlusDispose - A modified version of GDIPlus that auto disposes of its own objects before shutdown of the Dll using the same function Syntax as the original.EzMySql UDF - Use MySql Databases with autoit with syntax similar to SQLite UDF. Link to comment Share on other sites More sharing options...
sandor555 Posted June 18, 2010 Author Share Posted June 18, 2010 I do not understand.Would you write into my code?Maybe I understand it:) (I'm sorry, I speak a little English) Link to comment Share on other sites More sharing options...
l3ill Posted June 18, 2010 Share Posted June 18, 2010 You are German, oder?Maybe here would be better for you --> German Autoit Forum My Contributions... SnippetBrowser NewSciTE PathFinder Text File Manipulation FTP Connection Tester / INI File - Read, Write, Save & Load Example Link to comment Share on other sites More sharing options...
sandor555 Posted June 18, 2010 Author Share Posted June 18, 2010 no,i am from hungary Link to comment Share on other sites More sharing options...
UEZ Posted June 18, 2010 Share Posted June 18, 2010 (edited) expandcollapse popup#RequireAdmin #include <GUIConstants.au3> #include <NomadMemory.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 235, 114, 193, 125) $label1 = GUICtrlCreateLabel("DMG Hack", 16, 32, 58, 17) $dmg = GUICtrlCreateInput("Value", 88, 32, 121, 21) $setdmg = GUICtrlCreateButton("Set !", 16, 64, 163, 33, 0) GUISetState(@SW_SHOW) Global $Pointer = 0x00686D04 Global $Open = _MemoryOpen(ProcessExists("TClient.exe")) Global $Offset[3] = [0, 0xa08, 0x484] Global $Bedingung = 0 While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $setdmg If $Bedingung = 0 Then $Bedingung = 1 ElseIf $Bedingung = 1 Then $Bedingung = 0 EndIf EndSwitch SetDmg() WEnd Func SetDmg() If $Bedingung = 1 Then _memorypointerwrite ($Pointer, $Open, $Offset, GUICtrlRead($dmg)) EndFunc ;================================================================================================= ; Function: _MemoryPointerWrite ($iv_Address, $ah_Handle, $av_Offset, $v_Data[, $sv_Type]) ; Description: Reads a chain of pointers and writes the data to the destination address. ; Parameter(s): $iv_Address - The static memory address you want to start at. It must be in ; hex format (0x00000000). ; $ah_Handle - An array containing the Dll handle and the handle of the open ; process as returned by _MemoryOpen(). ; $av_Offset - An array of offsets for the pointers. Each pointer must have an ; offset. If there is no offset for a pointer, enter 0 for that ; array dimension. ; $v_Data - The data to be written. ; $sv_Type - (optional) The "Type" of data you intend to write at the destination ; address. This is set to 'dword'(32bit(4byte) signed integer) by ; default. See the help file for DllStructCreate for all types. ; Requirement(s): The $ah_Handle returned from _MemoryOpen. ; Return Value(s): On Success - Returns the destination address. ; On Failure - Returns 0. ; @Error - 0 = No error. ; 1 = $av_Offset is not an array. ; 2 = Invalid $ah_Handle. ; 3 = Failed to read from the specified process. ; 4 = $sv_Type is not a string. ; 5 = $sv_Type is an unknown data type. ; 6 = Failed to allocate the memory needed for the DllStructure. ; 7 = Error allocating memory for $sv_Type. ; 8 = $v_Data is not in the proper format to be used with the ; "Type" selected for $sv_Type, or it is out of range. ; 9 = Failed to write to the specified process. ; Author(s): Nomad ; Note(s): Data written is in Decimal format, unless a 'char' type is selected. ; Set $av_Offset like this: ; $av_Offset[0] = NULL (not used, doesn't matter what's entered) ; $av_Offset[1] = Offset for pointer 1 (all offsets must be in Decimal) ; $av_Offset[2] = Offset for pointer 2 ; etc... ; (The number of array dimensions determines the number of pointers) ;================================================================================================= Func _MemoryPointerWrite ($iv_Address, $ah_Handle, $av_Offset, $v_Data, $sv_Type = 'dword') If IsArray($av_Offset) Then If IsArray($ah_Handle) Then Local $iv_PointerCount = UBound($av_Offset) - 1 Else SetError(2) Return 0 EndIf Else SetError(1) Return 0 EndIf Local $iv_StructData, $i Local $v_Buffer = DllStructCreate('dword') For $i = 0 to $iv_PointerCount If $i = $iv_PointerCount Then $v_Buffer = DllStructCreate($sv_Type) If @Error Then SetError(@Error + 3) Return 0 EndIf DllStructSetData($v_Buffer, 1, $v_Data) If @Error Then SetError(8) Return 0 EndIf $iv_Address = '0x' & hex($iv_StructData + $av_Offset[$i]) DllCall($ah_Handle[0], 'int', 'WriteProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '') If @Error Then SetError(9) Return 0 Else Return $iv_Address EndIf ElseIf $i = 0 Then DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '') If @Error Then SetError(3) Return 0 EndIf $iv_StructData = DllStructGetData($v_Buffer, 1) Else $iv_Address = '0x' & hex($iv_StructData + $av_Offset[$i]) DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '') If @Error Then SetError(3) Return 0 EndIf $iv_StructData = DllStructGetData($v_Buffer, 1) EndIf Next EndFuncTook from here: _MemoryPointerWrite()BR,UEZPS: Bedingung means condition Edited June 18, 2010 by UEZ Please don't send me any personal message and ask for support! I will not reply! Selection of finest graphical examples at Codepen.io The own fart smells best! ✌Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ Link to comment Share on other sites More sharing options...
l3ill Posted June 18, 2010 Share Posted June 18, 2010 ah okay. Well, it's a pretty straightforward process; you have told your script to do something if a certain thing happens: Func SetDmg() If $Bedingung = 1 Then _memorypointerwrite ($Pointer, $Open, $Offset, GUICtrlRead($dmg)) EndFunc In this case a function called "_memorypointerwrite" This function has to be setup just like "Func SetDmg()" is. or included as a UDF (User Defined Function) And this is why your script is giving you this error: C:\Documents and Settings\myname\Asztal\5.au3(35,91) : ERROR: _memorypointerwrite(): undefined function. If $Bedingung = 1 Then _memorypointerwrite ($Pointer, $Open, $Offset, GUICtrlRead($xy)) My Contributions... SnippetBrowser NewSciTE PathFinder Text File Manipulation FTP Connection Tester / INI File - Read, Write, Save & Load Example Link to comment Share on other sites More sharing options...
sandor555 Posted June 18, 2010 Author Share Posted June 18, 2010 Thanks billo,UEZ Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now