Anyone familiar with assembly / memory editing?

Discussion in 'General Discussion' started by Cedwyn, Apr 16, 2015.

  1. Cedwyn Banned

    If you are reading this, I hope you know the answer.

    How do you identify the start and end of an array in memory? I am assuming an array is added to the stack, but how does assembly determine where in the stack the array is?

    Thanks :)
     
  2. GC Official Boob Inspector

    This isn't assembly, this is just how does computer memory work.

    I'm assuming when you say "stack" you don't actually mean stack, because that's easy, just look at the rsp register (http://eli.thegreenplace.net/2011/09/06/stack-frame-layout-on-x86-64/). However, you generally don't have any decent sized array on the stack because stack space is limited. When your function exits, the stack registers reset, and you effectively lose the scope associated to that array.

    So, I'm going to assume you mean there's an array somewhere on the heap. Usually there's a pointer (8 bytes on amd64) that contains the memory location of where that array is located. It can be associated with some global, something on the stack, who knows. That'll get you in the right memory area, after that, you'll have to try and figure out what the structure of the array is, ie: the size of each element, how big it is, etc.
     
    Cedwyn likes this.

Share This Page