Can I execute some code(asm -> hex) in the heap memory?The x86 architecture was successful, but armv8 failed. (tested on Android os)Is it because the code is not designed to run in the heap area in the ARM cpu?
thanks for reading test code```usinged char prefix[] = { 0xE0,0x01,0x80,0x42,0xc0,0x03,0x5F,0xD6}; // ARMv8char *func = (char *)mmap(0, 8, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1,0);memcpy (func, prefix, sizeof(prefix));int result = ((int (*)(void))test_function)();return result;```
x86 prefix``` push ebpmov ebp, espmov eax, 15pop ebpret 0=> unsigend char prefix[] = { 0x55, 0x89, 0xE5, 0xB8, 0x0F, 0x00, 0x00, 0x00, 0x5D, 0xC2, 0x00, 0x00 };```
Duplicate:
community.arm.com/.../execute-some-codes-in-heap-memory