22 lines
No EOL
653 B
C
22 lines
No EOL
653 B
C
#include <stdio.h>
|
|
#include <sys/mman.h>
|
|
#include <string.h>
|
|
|
|
int main(void)
|
|
{
|
|
char *data1 = "HELLO";
|
|
char data2[] = "Hello Master";
|
|
|
|
if (mprotect(data1, strlen(data1) + 1, PROT_WRITE) == 0)
|
|
{
|
|
data1[0] = (char)'F';
|
|
printf("Data1 is writable: %s, %p, %ld chars\n", data1, data1, strlen(data1));
|
|
printf("Data2 is writable: %s, %p, %ld chars\n", data2, data2, strlen(data2));
|
|
}
|
|
else
|
|
{
|
|
data2[0] = (char)'F';
|
|
printf("Data1 is not writable: %s, %p, %ld chars\n", data1, data1, strlen(data1));
|
|
printf("Data1 is not writable: %s, %p, %ld chars\n", data2, data2, strlen(data2));
|
|
}
|
|
} |