Compare commits
No commits in common. "7d417ac4e71b43765a09018cb924b58ee124a1e2" and "b1675739253af69a696a11c43f9aa3b0e35cdea9" have entirely different histories.
7d417ac4e7
...
b167573925
3
Makefile
3
Makefile
|
@ -16,7 +16,7 @@ RM = rm -f
|
||||||
|
|
||||||
LIBFT_FLAGS = ft_printf/libftprintf.a
|
LIBFT_FLAGS = ft_printf/libftprintf.a
|
||||||
|
|
||||||
CFLAGS = -Wall -Wextra -Werror
|
CFLAGS = -Wall -Wextra -Werror -g3
|
||||||
|
|
||||||
all: ${NAME}
|
all: ${NAME}
|
||||||
|
|
||||||
|
@ -33,7 +33,6 @@ clean:
|
||||||
|
|
||||||
fclean:
|
fclean:
|
||||||
make -C ft_printf fclean
|
make -C ft_printf fclean
|
||||||
make clean
|
|
||||||
${RM} ${NAME}
|
${RM} ${NAME}
|
||||||
|
|
||||||
re: fclean
|
re: fclean
|
||||||
|
|
BIN
big_sample
BIN
big_sample
Binary file not shown.
1257
big_sample.hex
1257
big_sample.hex
File diff suppressed because it is too large
Load Diff
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#define TEXT_OFFSET "\xba\xba\xba\xba\xba\xba\xba\xba"
|
#define TEXT_OFFSET "\xba\xba\xba\xba\xba\xba\xba\xba"
|
||||||
#define SECTION_SIZE "\xca\xca\xca\xca\xca\xca\xca\xca"
|
#define SECTION_SIZE "\xca\xca\xca\xca\xca\xca\xca\xca"
|
||||||
|
|
||||||
typedef struct payload
|
typedef struct payload
|
||||||
{
|
{
|
||||||
char *payload;
|
char *payload;
|
||||||
|
@ -36,8 +36,6 @@ typedef struct elf_content
|
||||||
Elf64_Ehdr *Ehdr;
|
Elf64_Ehdr *Ehdr;
|
||||||
Elf64_Phdr *Phdr;
|
Elf64_Phdr *Phdr;
|
||||||
Elf64_Shdr *Shdr;
|
Elf64_Shdr *Shdr;
|
||||||
Elf64_Shdr *symbols_table;
|
|
||||||
Elf64_Sym *symbols;
|
|
||||||
} t_elf_content;
|
} t_elf_content;
|
||||||
|
|
||||||
// utils.c
|
// utils.c
|
||||||
|
|
BIN
not_that_big
BIN
not_that_big
Binary file not shown.
1001
not_that_big.hex
1001
not_that_big.hex
File diff suppressed because it is too large
Load Diff
|
@ -1,412 +0,0 @@
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
int main(void) {
|
|
||||||
printf("Hello, World!\n");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
return (0);
|
|
||||||
}
|
|
|
@ -1,332 +0,0 @@
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
int main(void) {
|
|
||||||
printf("Hello, World!\n");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
printf(" ");
|
|
||||||
return (0);
|
|
||||||
}
|
|
|
@ -1,6 +1,7 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
int main(void) {
|
int
|
||||||
printf("Hello, World!\n");
|
main(void) {
|
||||||
return (0);
|
ft_printf("Hello, World!\n");
|
||||||
|
return (0x0);
|
||||||
}
|
}
|
||||||
|
|
31
srcs/woody.c
31
srcs/woody.c
|
@ -48,28 +48,16 @@ void offset_sections(t_elf_content *woody, unsigned int from, unsigned int offse
|
||||||
{
|
{
|
||||||
for (int i = 0; i < woody->Ehdr->e_phnum; i++)
|
for (int i = 0; i < woody->Ehdr->e_phnum; i++)
|
||||||
{
|
{
|
||||||
if (woody->Phdr[i].p_offset >= from)
|
if (woody->Phdr[i].p_offset > from)
|
||||||
{
|
{
|
||||||
woody->Phdr[i].p_offset += offset_ammount;
|
woody->Phdr[i].p_offset += offset_ammount;
|
||||||
woody->Phdr[i].p_vaddr += offset_ammount;
|
woody->Phdr[i].p_flags = PF_X | PF_W | PF_R;
|
||||||
woody->Phdr[i].p_paddr += offset_ammount;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (int i = 0; i < woody->Ehdr->e_shnum; i++)
|
for (int i = 0; i < woody->Ehdr->e_shnum; i++)
|
||||||
{
|
{
|
||||||
if (woody->Shdr[i].sh_offset >= from)
|
if (woody->Shdr[i].sh_offset > from)
|
||||||
{
|
|
||||||
woody->Shdr[i].sh_offset += offset_ammount;
|
woody->Shdr[i].sh_offset += offset_ammount;
|
||||||
woody->Shdr[i].sh_addr += offset_ammount;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
int num_symbols = get_symbols_count(woody->symbols_table->sh_size, woody->symbols_table->sh_entsize);
|
|
||||||
for (int i = 1; i < num_symbols; i++) {
|
|
||||||
if (woody->symbols[i].st_value >= from)
|
|
||||||
{
|
|
||||||
woody->symbols[i].st_value += offset_ammount;
|
|
||||||
}
|
|
||||||
// printf("symbol value = %lx\n", symbols[i].st_value);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,7 +76,6 @@ void create_codecave(t_elf_content *woody, t_payload *payload, size_t payload_po
|
||||||
woody->file = new_woody;
|
woody->file = new_woody;
|
||||||
woody->file_size += padding_size;
|
woody->file_size += padding_size;
|
||||||
woody->Ehdr = (Elf64_Ehdr *)new_woody;
|
woody->Ehdr = (Elf64_Ehdr *)new_woody;
|
||||||
woody->Ehdr->e_shoff += padding_size;
|
|
||||||
woody->Phdr = (Elf64_Phdr *)fetch(woody->file, woody->file_size, woody->Ehdr->e_phoff, sizeof(Elf64_Phdr));
|
woody->Phdr = (Elf64_Phdr *)fetch(woody->file, woody->file_size, woody->Ehdr->e_phoff, sizeof(Elf64_Phdr));
|
||||||
woody->Shdr = (Elf64_Shdr *)fetch(woody->file, woody->file_size, woody->Ehdr->e_shoff, sizeof(Elf64_Shdr));
|
woody->Shdr = (Elf64_Shdr *)fetch(woody->file, woody->file_size, woody->Ehdr->e_shoff, sizeof(Elf64_Shdr));
|
||||||
}
|
}
|
||||||
|
@ -154,7 +141,6 @@ void inject(t_elf_content *woody)
|
||||||
|
|
||||||
if (code_cave_size < payload->len) // inverse here to test the other technique
|
if (code_cave_size < payload->len) // inverse here to test the other technique
|
||||||
{
|
{
|
||||||
printf("Create a codecave\n");
|
|
||||||
create_codecave(woody, payload, payload_position);
|
create_codecave(woody, payload, payload_position);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -181,17 +167,6 @@ int get_elf_sections(t_elf_content *woody)
|
||||||
woody->Shdr = (Elf64_Shdr *)fetch(woody->file, woody->file_size, woody->Ehdr->e_shoff, sizeof(Elf64_Shdr));
|
woody->Shdr = (Elf64_Shdr *)fetch(woody->file, woody->file_size, woody->Ehdr->e_shoff, sizeof(Elf64_Shdr));
|
||||||
if (!woody->Shdr|| !fetch(woody->file, woody->file_size, woody->Ehdr->e_shoff, woody->Ehdr->e_shnum * sizeof(Elf64_Shdr)))
|
if (!woody->Shdr|| !fetch(woody->file, woody->file_size, woody->Ehdr->e_shoff, woody->Ehdr->e_shnum * sizeof(Elf64_Shdr)))
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
|
|
||||||
for (int i = 0; i < woody->Ehdr->e_shnum; i++) {
|
|
||||||
if (woody->Shdr[i].sh_type == SHT_SYMTAB) {
|
|
||||||
woody->symbols_table = fetch(woody->file, woody->file_size, woody->Ehdr->e_shoff + (i * sizeof(Elf64_Shdr)), sizeof(Elf64_Shdr));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (woody->symbols_table == NULL)
|
|
||||||
return EXIT_FAILURE; //Not sure about this
|
|
||||||
woody->symbols = (Elf64_Sym *)fetch(woody->file, woody->file_size, woody->symbols_table->sh_offset, sizeof(Elf64_Sym));
|
|
||||||
if (woody->symbols == NULL)
|
|
||||||
return EXIT_FAILURE;//Not sure about this
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue