在内存地址读取数组

时间:2015-03-16 23:24:12

标签: c

这是针对注入的.DLL。

给出以下代码:

if ( *(volatile unsigned long*)(0x13E81F4+(4 * *(volatile unsigned long*)0x13E81B0)) < 2)
{
    //...
}

有没有办法以更易读的方式编写它,例如:

if (array[i] < 2)
{
    //...
}

(仍然使用所需的内存地址)?

1 个答案:

答案 0 :(得分:2)

volatile unsigned long *p = (volatile unsigned long *)0x13E81F4;
volatile unsigned long *q = (volatile unsigned long *)0x13E81B0;

if ( p[4 * q[0]] < 2 )