ravand Posted June 22, 2013 Share Posted June 22, 2013 (edited) Hey there guys i have been trying for too long now to make Autoit read the pointer i have. I can't figure it out it always gives me some weird addresses or always the value 0 Here my pointer: And here my attempt in Autoit: #include <NomadMemory.au3> SetPrivilege("SeDebugPrivilege", 1) $pid = ProcessExists("Tutorial.exe") Global $Offset1[5] $Offset1[0] = Dec("2b4") ; Static Addr Oset. $Offset1[1] = Dec("7c") $Offset1[2] = Dec("608") $Offset1[3] = Dec("98") $Offset1[4] = Dec("478") $StaticOffset = Dec("6EBE1C") $openmem = _MemoryOpen($pid) ; Open the memory $baseADDR = _MemoryGetBaseAddress($openmem, 1) $finalADDR = "0x" & Hex($baseADDR + $StaticOffset) ; Creates the final static address you read from. $Value = _MemoryPointerRead($finalADDR, $openmem, $Offset1) _MemoryClose($openmem) ConsoleWrite ( "Address = " & $Value[0] & @CRLF & "Value = " & $Value[1] & @CRLF & "Base addr=" & $baseADDR & @CRLF & @CRLF & "Final addr=" & $finalADDR & @CRLF) And here the Console output: Address = 0x0000000000000478 Value = 0 Base addr=0 Final addr=0x006EBE You can notice here that the base adress says "0" is that normal? I hope you can help me here Thanks in Advance Edited June 25, 2013 by ravand Link to comment Share on other sites More sharing options...
Bert Posted June 23, 2013 Share Posted June 23, 2013 Welcome to the forum - I see you are using a tool that is commonly used to hack games. The automation of games is not allowed to be discussed here in the forum. Please review the forum rules. Thanks. The Vollatran project My blog: http://www.vollysinterestingshit.com/ Link to comment Share on other sites More sharing options...
ravand Posted June 25, 2013 Author Share Posted June 25, 2013 (edited) Welcome to the forum - I see you are using a tool that is commonly used to hack games. The automation of games is not allowed to be discussed here in the forum. Please review the forum rules. Thanks. I assume you are talking about CheatEngine. I started this thread to understand the basics of reading and manipulating memory of processes. I have no intentions in creating a game bot and i don't know any other tool besides CheatEngine to find out pointers. I find it unfair that you accuse me of searching for help to create a hack/bot/automation for games. Edited June 25, 2013 by ravand Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted June 25, 2013 Moderators Share Posted June 25, 2013 ravand,I find it unfair that you accuse me of searching for help to create a hack/bot/automation for gamesWhen you post a script with "Client.exe" (now modified to "Tutorial.exe") as the target and are obviously using a tool which is most often used for reading the memory of games I think the accusation is perfectly fair. I let the thread run because there was no prima facie case for your script to be a gamebot - even though circumstantial evidence pointed that way. We do not act on mere suspicion here - history shows that down that road are just too many dark places. So, if you are just looking to learn how to work with memory and want help, why hide the app you are using? M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Bert Posted June 25, 2013 Share Posted June 25, 2013 ravand, When you post a script with "Client.exe" (now modified to "Tutorial.exe") as the target and are obviously using a tool which is most often used for reading the memory of games I think the accusation is perfectly fair. I let the thread run because there was no prima facie case for your script to be a gamebot - even though circumstantial evidence pointed that way. We do not act on mere suspicion here - history shows that down that road are just too many dark places. So, if you are just looking to learn how to work with memory and want help, why hide the app you are using? M23 Agreed. I've been here since 2005 and I can only count on one hand (not counting my thumb, ring finger, or pinkie for that manner) the number of times I've seen a use for a memory reader that is legit. I've seen hundreds of instances where the user wanted to cheat at a game or do something underhanded. I've also seen many times the "I just want to learn" defense on memory readers which in my mind has a 99.99999% chance of being a bullshit lie and the real intent is to cheat on a game or be used in some dishonest manner. I reviewing your "edited" post - You changed the name of the app to "tutorial.exe" - which if your not hiding anything or you "really just want to learn how to do it" makes what you are saying look like you want to hide what you really want to do. Sorry, but everything your doing says quite loudly what I'm assuming you want to do. The Vollatran project My blog: http://www.vollysinterestingshit.com/ Link to comment Share on other sites More sharing options...
E1M1 Posted June 25, 2013 Share Posted June 25, 2013 NutStomper said it all. The algorithm should be following 1) Add offset to pointer 2) read memory at address you've got in step 1 3) that value you've got now is new pointer, where you need to add 2nd offset. So you basically go bck to pint 1 with new address you've got. Repeat it for all offsets. NomadMemory.au3 is from where you can lean how not to write code that operates with memory. edited Link to comment Share on other sites More sharing options...
FireFox Posted June 25, 2013 Share Posted June 25, 2013 (edited) Very wise to both of you to help the OP when a mod asked a question not answered. Anyway, not my business Edited June 25, 2013 by FireFox Link to comment Share on other sites More sharing options...
ravand Posted June 26, 2013 Author Share Posted June 26, 2013 The only tip I can give you is to take "NomadMemory.au3" and throw it in the garbage where it belongs. If you want to learn how to interact with a process' memory then learn to do it properly with the WinAPI functions. _WinAPI_OpenProcess() _WinAPI_ReadProcessMemory() _WinAPI_WriteProcessMemory() _WinAPI_CloseHandle() Also, use _ProcessGetModuleBase() instead of _MemoryGetBaseAddress(). _ProcessGetModuleBase does need to be rewritten to use the proper WinAPI functions (and current AutoIt version) but at least it uses the correct method of getting the base address as opposed to _MemoryGetBaseAddress. Thanks mate ill have a look into WinAPI Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted June 26, 2013 Moderators Share Posted June 26, 2013 ravand,As you seem disinclined to answer the question I asked above, I feel I have no alternative then to assume that you are indeed, despite your protestations, trying to modify the memory of a game. So what comes nest will hardly be a surprise....thread locked. Next time a Mod asks you for clarification, might I suggest that you provide it. NutStomper, E1M1,I expect people to use their brains when posting - you two most certainly have not. In future, when a Mod is involved in a thread and seeking answers, please do not post offering help to a question which is not yet determined to be permissible. Otherwise you become part of the problem and increase my workload and also my annoyance factor - neither of which is a good idea. So hold off next time until the thread is cleared - or, as in this case, locked. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Recommended Posts