Page 1 of 1

Trouble Making A Pointer

Posted: Thu Mar 28, 2019 11:35 pm
by zachillios
So I'm usually able to make pointers just fine, but this time I'm having quite a bit of trouble. After properly checking to see what accessed the item addresses (I tried like 10 different ones) only one code came up and the code in question is:

Code: Select all

movsx eax,word ptr [rcx+rax*2+10]
So normally I would just try:

Code: Select all

mov {Pointername],rcx


But that's not properly updating when I attempt to use it, it only shows the first item on the list and then doesn't update it further. So how would I go about making a pointer out of this? Here's the code and its surroundings:
Image

Thank you for any help in advance.

Re: Trouble Making A Pointer

Posted: Thu Mar 28, 2019 11:59 pm
by TimFun13
zachillios wrote:
Thu Mar 28, 2019 11:35 pm
...
I'd use the base the for the memory records and just make your offsets 0*2+10, 1*2+10, 2*2+10, etc.

But you could also just use a registry and LEA (load effective address).

Code: Select all

push rbx
lea rbx,[rcx+rax*2+10]
mov [Pointername],rbx
pop rbx

Re: Trouble Making A Pointer

Posted: Fri Mar 29, 2019 12:12 am
by zachillios
ShyTwig16 wrote:
Thu Mar 28, 2019 11:59 pm
zachillios wrote:
Thu Mar 28, 2019 11:35 pm
...
I'd use the base the for the memory records and just make your offsets 0*2+10, 1*2+10, 2*2+10, etc.

But you could also just use a registry and LEA (load defective address).

Code: Select all

push rbx
lea rbx,[rcx+rax*2+10]
mov [Pointername],rbx
pop rbx
Thank you so much! That worked perfectly.