TrashBoat

NomadMemory.au3

3 posts in this topic

#1 ·  Posted

 

This got closed and im trying to figure out why isint this one closed too:

I didint want to "hack" or "automate" a game all i wanted to do is learn memory reading and i needed help so i ask again

Quote

Ive read the rules and:

Well first i did not want to automate a game i just wanted to read a programs memory to display that in a GUI.

Second: its not allowed?

 

Share this post


Link to post
Share on other sites



#2 ·  Posted

TrashBoat,

Quote

im trying to figure out why isint this one closed too

When that thread was created the rules were less strict than they are now.

Quote

I didint want to "hack" or "automate" a game all i wanted to do is learn memory reading

And how many times before have we heard that old chestnut.......

Locked - unless Jos decides to give you a second chance.

M23

 


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

@TrashBoat if you look at the second thread you posted you'll see it is over 10 years old, things have changed just a bit on the forum since then - including our forum rules. We have tried allowing game botters, and it always ends badly, which is why the current rules were put in place.

Secondly, regarding the locking of your thread, if you feel there is a case for why it should not have been locked, as the forum rules state, PM the Moderator and discuss it. No one is against listening to your explanation; just realize we've all heard the "it's just for learning"/"yes it's for a game but that's just an example"/"my case is different" arguments 1000 times; so make sure you have a solid argument before you PM.

I am locking this thread as well, as further conversation should be in PM as suggested, and to prevent input from the peanut gallery.

Edit: D'oh, too slow. :)

 

Edited by JLogan3o13

√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Similar Content

    • cooleko
      By cooleko
      A few months ago I tried compiling scripts on Windows 7 x64 using NomadMemory. Everywhere I looked no one could figure out why _memoryRead() would only return 0s. The best advice that would be given is set debug privileges.

      At the time I just continued compiling my scripts on Vista x64 and accepted there wasn't a solution. However, a few months back I shared my code to a few people whom were using Windows 7 x64 and had to figure out why the scripts were not working.

      Here is what I found.

      Anything typecast as variable1 would immediately convert to 64 bit representation, however, if typecast instead as variable2 would not.

      variable1 = "0xVALUE" ;Bad, auto-converts to x64 representation variable2 = hex("VALUE") ;Good, stays as needed for x32
      So i converted every instance of Variable = "0xVALUE" accordingly.

      The scripts still were not reading memory, but I was able to isolate the new problem, NomadMemory would return 64 bit representation for every int value. Floats, Bytes, character arrays, etc were working fine (inherently are the same length), but int, uint, etc were not.

      The workaround for this was replacing every _MemoryRead() with a function

      Func _NewMemRead($Addr1, $Proc1, $type1) If $type1 = "int" Then ;I only used int, if you use uint or any other integer representation, add them in here Return (Dec(Hex(StringRegExpReplace(_MemoryRead($Addr1, $Proc1, $type1), "00000000", "", 1)))) Else Return _MemoryRead($Addr1, $Proc1, $type1) EndIf EndFunc ;==>_NewMemRead
      Essentially the function would strip the extra 0s because of the conversion to x64, allowing the script to read memory.

      I am writing this up many months after the fact, At this time I cannot remember why I had to type cast the result to Hex and then Dec to get it to return the proper integer value. But it is probably the first problem mentioned above about the value being typecast to the wrong format.

      I hope this helps anyone out there who is looking for a solution to this problem.