Jump to content

NomadMemory2 - Problem to get the pointer


Recommended Posts

Hello,
I just want to get the value of a pointer without offset using nomadMemory v2.
I don't know how I can do it because of the others topic using other version of nomadMemory or AutoIt.
Thanks for the help !

 

$value = _MemoryPointerRead($finalADDR, $process)
            MsgBox(1, "", dec($value[1]))

 

Link to comment
Share on other sites

  • Developers

You are still not explaining what you need to do and remain vague, so for the last time: What is the exact purpose for this.
There is no issue in case you can explain the validity of this question and what the exact case is you need a result for.
So explain and we either help when it is a valid question or this thread gets locked forever.... your choice. ;) 

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

I will explain (I'm french so bad english) : 
The .exe of my prof is simple (I can't share it, He says we can't (logic)) : we have a gui with a progress bar with the indication of the progress (like 33%...). For the first level of the exercise, the goal is to use cheat engine to find a dynamic adress of the value of the progress bar (we have to move the progression of the bar using buttons), then find the green adress and, using two offsets, find finally the static adress.
The second level is to create a gui which show the progression of the bar with Auto It and here the problem, I just want find the value of the pointer, then add my two offsets and finally found the progression bar value.
Currently, I've found the static adress, on cheat engine I can see the bar progress but on Auto It, I dont find a correct way to get the pointer...

Thx for reading

Link to comment
Share on other sites

  • Developers

Ok, let's open this up for suggestions and see were this goes. :) 

... I do guess however you need to show more code than you have shown us now to understand what you are trying!

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

 

#include <nomadMemory2.au3>

$staticOffset = dec(00876854)
Dim $offset[3] = [0, 0x4c, c4]
$process = _MemoryOpen(ProcessExists("Ex4_3.exe"))

While(1)
    $value = _MemoryPointerRead($staticOffset, $process, $offset, "1000")
    MsgBox(1, "Bar Value", $value[1])
WEnd

_MemoryClose($process)

Normally, I have to get from this pointer the value without the offset Ox0C642900

image.thumb.png.3e28ff0b099cf6123b628f87e0d918ea.png

Link to comment
Share on other sites

Can I ask what kind of a Prof would ask students to perform such a task ?  I am not judging here, just impressed. Cause it is really not usual to do such a thing.  Unless you are in a course of PhD software engineering ?

Link to comment
Share on other sites

MULTIPOST (oups) : 
I add that I can read the dynamic adress memory without problems with that
 

$value = _MemoryRead('0x0BFBB89C', $process)

But I don't understand why, when I want read a pointer, I've to find a certain adress which is proper to the application

Link to comment
Share on other sites

17 minutes ago, Jamydelcasa said:

But I don't understand why, when I want read a pointer, I've to find a certain adress which is proper to the application

Why don't you ask your instructor since "he thinks it's more interesting to see what are adresses, pointer... and see an utilisation"?  :shifty:  Maybe he can explain it to you.

Link to comment
Share on other sites

Why are you giving the function a decimal address?

Function:   _MemoryPointerRead ($iv_Address, $ah_Handle, $av_Offset[, $sv_Type])
; Description:    Reads a chain of pointers and returns an array containing the destination
;               address and the data at the 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.
;               $sv_Type - (optional) The "Type" of data you intend to read at the destination
;                         address.  This is set to 'dword'(32bit(4byte) signed integer) by
;                         default.  See the help file for DllStructCreate for all types.

_MemoryPointerRead states the address must be in hex format.

Aside from that, your code looks finde and should work (me thinks)

Any of my own codes posted on the forum are free for use by others without any restriction of any kind. (WTFPL)

Link to comment
Share on other sites

  • Moderators

Jamydelcasa,

A simple solution to the "not a bot" dilemma. PM me a copy of your prof's "program" - I am NOT going to help you solve the problem, so you are not breaking his rules, but I can then confirm that it is just what you say it is.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 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

 

Link to comment
Share on other sites

Marc,

$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.
$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.

When he says enter 0 for that it's :
 

Dim $offset[0] = [0]

Or

Dim $offset[1] = [0, 0x0]

And also, I see that to read the pointer of an application, I've to find his static adress, I don't really understand that because I can and I did read dynamic adress values without using the static adress, why now I've to do that ?


Melba23,

1) I've no reason to trust you; 2) my teacher not allows to share this application; 3) I never will lost time to create bots ^^

Link to comment
Share on other sites

  • Moderators

Jamydelcasa,

Quote

I've no reason to trust you

And neither do I have reason to trust you.

Quote

I know that my request is perfect to bot in rpg games

Correct - and for that reason, given your disinclination to take up my perfectly reasonable offer to prove your bona fides, I am locking the thread.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 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

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...