KROP_LPE
This commit is contained in:
36
ROP/KROP_LPE/stacksmash_app.c
Normal file
36
ROP/KROP_LPE/stacksmash_app.c
Normal file
@@ -0,0 +1,36 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#define DEVICE_NAME "/dev/stacksmash_device"
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
int ret, fd, read_length;
|
||||
read_length = atoi(argv[2]);
|
||||
char *message = malloc(sizeof(char) * read_length);
|
||||
|
||||
if (argc < 2) {
|
||||
printf("Usage: %s [message to write] [read length]\n", argv[0]);
|
||||
return -1;
|
||||
}
|
||||
fd = open(DEVICE_NAME, O_RDWR);
|
||||
if (fd < 0) {
|
||||
printf("[stacksmash_driver main] Failed to open device [%s]\n", DEVICE_NAME);
|
||||
return -1;
|
||||
}
|
||||
ret = write(fd, argv[1], strlen(argv[1]));
|
||||
if (ret < 0) {
|
||||
printf("[stacksmash_driver main] Failed to write to device [%s]\n", DEVICE_NAME);
|
||||
return -1;
|
||||
}
|
||||
ret = read(fd, message, read_length);
|
||||
if (ret < 0) {
|
||||
printf("[stacksmash_driver main] reading from the device [%s]\n", DEVICE_NAME);
|
||||
return -1;
|
||||
}
|
||||
printf("[stacksmash_driver] read message from device ['%s']\n", message);
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user