From 99bb308e2cc1825be3647869cd690f04ad6fa726 Mon Sep 17 00:00:00 2001 From: clfreville2 Date: Thu, 20 Apr 2023 19:12:27 +0200 Subject: [PATCH] Initial commit --- .gitignore | 9 +++++++++ Makefile | 12 ++++++++++++ fakeid | 3 +++ fakeid.c | 20 ++++++++++++++++++++ oki.toml | 6 ++++++ 5 files changed, 50 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100755 fakeid create mode 100644 fakeid.c create mode 100644 oki.toml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..87fa881 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +.idea +.vscode + +oki-lock.toml +oki-packages +cmake-build-debug + +*.so +*.out diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d406d6a --- /dev/null +++ b/Makefile @@ -0,0 +1,12 @@ +CC := gcc +CFLAGS := -std=c17 -Wall -Wextra -g + +CPPFLAGS := +LDLIBS := + +fakeid.so: fakeid.c + $(CC) $(CFLAGS) -shared -fPIC -o fakeid.so fakeid.c + +.PHONY: clean +clean: + rm -rf fakeid.so diff --git a/fakeid b/fakeid new file mode 100755 index 0000000..cad8a7d --- /dev/null +++ b/fakeid @@ -0,0 +1,3 @@ +#!/bin/bash + +LD_PRELOAD=$(dirname "$(readlink -f "$0")")/fakeid.so "$@" diff --git a/fakeid.c b/fakeid.c new file mode 100644 index 0000000..6bbd064 --- /dev/null +++ b/fakeid.c @@ -0,0 +1,20 @@ +#define _GNU_SOURCE + +#include +#include +#include +#include + +char *username = "alice"; + +int getlogin_r(char *buf, size_t bufsize) { + strncpy(buf, username, bufsize); + return 0; +} + +struct passwd *getpwuid(uid_t uid) { + struct passwd *(*getpwuid)(uid_t) = dlsym(RTLD_NEXT, "getpwuid"); + struct passwd *pass = getpwuid(uid); + pass->pw_name = username; + return pass; +} diff --git a/oki.toml b/oki.toml new file mode 100644 index 0000000..6f782ef --- /dev/null +++ b/oki.toml @@ -0,0 +1,6 @@ +[package] +name = "fakeid" +version = "0.1.0" +kind = "c" + +[dependencies]