This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

execute some codes in heap memory?? (ARM,ARM64)

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}; // ARMv8
char *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 ebp
mov ebp, esp
mov eax, 15
pop ebp
ret 0
=> unsigend char prefix[] = { 0x55, 0x89, 0xE5, 0xB8, 0x0F, 0x00, 0x00, 0x00, 0x5D, 0xC2, 0x00, 0x00 };
```