可以读取自己的堆空间吗?软件可以在内存中自行修改吗?
我写了一些代码来显示主题,
我在内存中阅读自己的代码吗?如何(如果可能)编写它并在运行时更改指令?
#include<stdio.h>
#include<stdint.h>
volatile int addressBase;
uint8_t read(int address);
int main(void) {
printf("Helium word");
addressBase=(int)&main;
printf("[%X]", read( 0 ));
getchar();
return 0;
}
uint8_t read(int address)
{
const uint8_t *addr;
addr=(const unsigned char *)(addressBase+(int)address);
return (*addr);
}